dc-8打靶日记
1. nmap扫描
1.1 确认目标ip地址
1 |
|
目标地址:192.168.31.182
1.2 目标开放TCP端口
1 |
|
该目标开放的tcp端口有:22,80
1.3 目标开放UDP端口
1 |
|
开放的udp端口其实没有太多的参考价值,没有思路的时候再考虑;
1.4 开放TCP端口详细信息
1 |
|
80端口:存在robots.txt文件,访问可以得到相关目录
操作系统:Linux3.2-4.9
网页框架信息:Drupal 7
1.5 nmap漏洞扫描
1 |
|
没有什么有用的信息;
2. 信息检索
2.1 目录检索
首先根据一开始端口扫面得到的robots.txt文件去查看一下网站的目录结构;
可以观察到可能能够获得资料信息的目录就是:(其他的也可以访问看看,说不定有意料之外的)
/admin/
/user/login
/?q=search/
/install.php
/update.php
在/user/login
来到了用户登录界面,但是根据前面的靶场这个9成也是后台登录界面
随后其他页面大部分也拒绝访问,应该是因为没有账号登录;
来到网页首页,随便点点后发现点击右侧的Details的控件后,出现了疑似sql注入点
通过手动注入验证,发现在数字后加入单引号引起报错,可以基本确定是sql注入点
1 |
|
通过order by确定其查询数据库的字段数,依次增加知道网站报错前即可,最后发现其仅查询了一个字段
1 |
|
通过该字段查询一下数据库信息
1 |
|
真的拿到了数据库的信息,那么我们上sqlmap
1 |
|
1 |
|
1 |
|
可以看到有个users表,一般是记录用户相关信息的;查看一下其列表名
1 |
|
可以看到有name和pass字段,这两个字段没有不看的理由的
1 |
|
admin | $S$D2tRcYRyqVFNSc0NvYUrYeQbLQg5koMKtihYTIDC9QQqJi3ICg5z
john | $S$DqupvJbxVmqjr6cYePnx2A891ln7lsuku/3if/oRVZJaz5mKC2vF
可以看到相应的用户名和通过加密的密码。有了密码,想办法尝试破解一下,使用john和hydra等工具进行尝试;
2.2 hydra密码爆破
首先创建一个用户名字典
1 |
|
向字典中写入用户名admin
和john
,然后使用hydra攻击对目标机器的ssh进行爆破
1 |
|
hydra爆破了大概半个钟也没出什么结果,也没什么必要进行下去了,时间太长了,真实环境早该被发现了;
2.3 john密码爆破
相同的方式将加密后的密码放置到一个文档hash-passwd.txt
中,然后使用john工具对密码进行破解
1 |
|
可以看到已经出现了一个密码,但是不确定是admin还是john的密码,使用这个密码登录一下后台试试(通过尝试后知道,这个密码是john用户的密码)
后面一个密码爆破了半个多小时也没爆破出来
2.4 webShell
通过对网页的不断翻找和信息查询,最后在Contact Us
中的Webform
中找到了可以执行php命令的地方
其中存在一个设置的选项,能够选择文本的编码,其中存在php code
文本格式,可以执行php指令
简单进行一下测试看看怎么能够触发,先写入phpinfo()试试
经过测试,当我们成功提交了联系邮件后则会触发我们写入的php语句,那么我们只需要写入相应的shell反弹语句,将shell反弹到我们的攻击机即可。
写入一下反弹shell脚本,攻击机监听5555端口;
1 |
|
然后我们再次提交一份联系表单即可,可以看到攻击机已经成功接入
开启交互
1 |
|
3. 提权
3.1 命令提权
1 |
|
又查到了exim4,这个的价值还是蛮大 的
查查他的版本看看
1 |
|
ok,版本号4.89,和dc-7一样,但是dc-7没有成功(可能和命令不能直接执行有关),dc-8继续尝试,和dc-7一样的操作
将相应的漏洞利用脚本下载到当前目录,并复制到服务目录中,打开apache2提供服务供目标机子下载脚本;
1 |
|
使用目标机子进入/tmp
目录下载漏洞利用脚本
1 |
|
ok提权成功,靶场结束,找找flag吧
1 |
|