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 | |
