vulnhub-DC5
DC-5 渗透记录
信息收集
本次靶机的ip为192.168.250.191
对靶机进行全端口扫描,版本收集后得到
靶机开放 80端口(nginx 1.6.2)、以及111端口(rcbind 2-4)
46175/tcp open status 1 (RPC #100024) OS details: Linux 3.2 - 4.9
访问端口80
进行功能点检查,发现表单提交功能
对应contact.php,初步怀疑注入类攻击
扫描一下网站后台
dirb http://192.168.250.191/ -o DC-5_content.txt
没有特别的发现,用bp提交contact.php表单
发现re中调用了thankyou.oho函数
google了一下,发现使用另一款dirbuster扫出来footer.php,发现每一次都不一样,且内含thankyou.php,怀疑有文件包含漏洞
File=etc/passwd 尝试
尝试一句话木马的方式
发送到重放器, 在信息收集阶段发现了该web为nginx1.6.2
查询该web的日志在/var/log/nginx
在/var/log/nginx/error.log中找到了注入的一句话木马
使用中国antsword连接 一句话木马地址为
http://192.168.250.191/thankyou.php?file=/var/log/nginx/error.log
成功连接
反弹shell到本地命令控制台,并获取交互式shell
提权尝试
先尝试suid方法 找具有suid的命令
注意到screen-4.5.0 以前没有见过 搜索相关漏洞试试
searchsploit screen 4.5.0
有相关漏洞,根据文件提示进行提权木马制作
通过蚁剑上传到服务器
这里出现一个问题,使用antsword上传的文件在服务器里面发现不了,
于是使用kali开启一个simplehttp服务上传文件
python -m http.server 8888 //开启http服务到8888端口
跟着漏洞的步骤成功提权
进入/root下找到flag
总结
步骤
1、只有一个80端口可以利用,dirb没有扫出来有用的目录,使用dirbuster扫出来了两个之前没有注意到的目录。这里也可以使用BP来爆破目录。前提是字典够狠。
2、当刷新thankyou.php页面时,下面那个版权的年份在变化,其他页面都没有这种情况,猜测该页面极有可能存在文件包含。
3、验证了thankyou.php页面中确实存在文件包含漏洞。
4、没有文件上传点,且无法利用php伪协议,要想到可以包含日志文件,日志文件的路径是:/var/log/nginx/access.log,该路径可以通过BP爆破得到。也可以是经验所得。
5、分析日志文件的格式,向里面写入了php代码,用antshell连接之后发现无法上传和修改文件,但是可以反弹shell的本地。获取交互式shell后尝试提权
6、使用find命令找的了一个有SUID权限的命令screen-4.5.0,使用searchsploit命令找到了如何使用该命令来提权,最终提权成功,并使用kali机开启http服务上传到服务器进行执行提权,成功拿到root权限。
KnowledgePoint
扫描目录不止可以用dirb,还可以用御剑、dirbuster和BP等。
页面刷新且在没有改变任何参数的情况下回显的内容有变化,要想到是否有文件包含漏洞。
当有文件包含漏洞而没有文件上传漏洞时可以尝试包含日志文件。
使用antsword连接之后可以进行目录显示,上传和创建文件,另外还可以反弹shell
使用searchsploit命令来查找相关命令的提权漏洞。
可以开启http服务上传文件到服务器。
提权的过程需要自己仔细阅读提权的文件。
1 | python -m http.server 8888 //开启http服务到8888端口 |