Vulnhub靶机DC系列-DC3
字数 1401 2025-08-15 21:33:19

DC-3 靶机渗透测试教学文档

靶场概述

DC-3 是 Vulnhub 上一个专门构建的漏洞实验室,旨在为渗透测试初学者提供实践经验。与之前的 DC 系列不同,这个靶机只有一个 flag、一个入口点且没有任何线索。

特点

  • 适合初学者但需要基本的 Linux 命令行技能
  • 需要基本的渗透测试工具使用经验
  • 有经验的 CTF 选手可能在 20 分钟内完成
  • 提供多种可能的攻击路径

环境搭建

虚拟机配置

  1. 推荐使用 VirtualBox (NAT 模式)

    • VMware 可能出现 IP 分配问题
    • Windows 10 更新后可能与 VirtualBox 冲突
  2. 解决 Hyper-V 与 VirtualBox 共存问题

    # 指定单个虚拟机开启
    VBoxManage setextradata "<虚拟机名字>" "VBoxInternal/NEM/UseRing0Runloop" 0
    
    # 或为所有虚拟机开启
    VBoxManage setextradata global "VBoxInternal/NEM/UseRing0Runloop" 0
    

渗透测试过程

1. 信息收集

获取靶机 IP

nmap -sn 192.168.3.0/24

扫描端口和服务

nmap -sV -A <靶机IP>

2. Web 应用分析

  1. 访问 80 端口 Web 服务

  2. 目录扫描

    dirb http://<靶机IP>/
    
    • 发现后台地址:http://<靶机IP>/administrator/
    • 识别为 Joomla CMS
  3. 版本识别

    • 检查 README.txt 文件
    • 确认 Joomla 3.7 版本

3. 漏洞利用

Joomla 3.7 SQL 注入漏洞

  • 漏洞点:http://<靶机IP>/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml%27
  • 使用单引号测试确认存在 SQL 注入

使用 sqlmap 自动化利用

sqlmap -u "http://<靶机IP>/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --dbs

获取管理员凭据

  • 提取到加密密码:$2y$10$DpfpYjADpejngxNh9GnmCeyIHCWpL97CVRnGeZsVJwR0kWFlfB1Zu
  • 使用 John the Ripper 破解:
    john pwd --wordlist=/usr/share/wordlists/rockyou.txt
    
    • 获得明文密码:snoopy
    • 管理员账号:admin/snoopy

4. 后台利用

  1. 登录后台http://<靶机IP>/administrator/

  2. 寻找可利用点

    • 检查模板编辑功能
    • 确认无 SSH 服务,需从 Web 端突破
  3. 上传 WebShell

    • 创建 PHP 反弹 shell 文件
    • 选择模板位置存放
    • 访问地址:http://<靶机IP>/templates/protostar/A1.php
  4. 建立反弹 shell

    • 使用 nc 或 msfconsole 监听
    • 注意:某些环境下 Python 升级可能有问题

5. 权限提升

  1. 检查系统信息

    uname -a
    
    • 确认内核版本
  2. 上传并执行提权 EXP

    • 在 Kali 上启动 Apache 服务
    • 使用 wget 或 curl 将 EXP 下载到靶机
    • 解压并授权:
      chmod +x exploit.sh
      
    • 执行 EXP 获取 root 权限

6. 获取 Flag

  • 在 root 目录下查找 flag 文件

关键知识点总结

  1. 信息收集

    • 网络扫描 (nmap)
    • Web 目录爆破 (dirb)
    • 版本识别
  2. 漏洞利用

    • Joomla 3.7 SQL 注入
    • sqlmap 自动化工具使用
    • John the Ripper 密码破解
  3. 后渗透

    • WebShell 上传
    • 反弹 shell 建立
    • 内核提权技术
  4. 问题解决

    • 虚拟机兼容性问题
    • 环境限制下的变通方法

扩展思考

  1. 尝试不使用 sqlmap 手动进行 SQL 注入
  2. 探索其他可能的提权路径
  3. 研究 Joomla 其他版本的漏洞
  4. 练习清理入侵痕迹
DC-3 靶机渗透测试教学文档 靶场概述 DC-3 是 Vulnhub 上一个专门构建的漏洞实验室,旨在为渗透测试初学者提供实践经验。与之前的 DC 系列不同,这个靶机只有一个 flag、一个入口点且没有任何线索。 特点 : 适合初学者但需要基本的 Linux 命令行技能 需要基本的渗透测试工具使用经验 有经验的 CTF 选手可能在 20 分钟内完成 提供多种可能的攻击路径 环境搭建 虚拟机配置 推荐使用 VirtualBox (NAT 模式) : VMware 可能出现 IP 分配问题 Windows 10 更新后可能与 VirtualBox 冲突 解决 Hyper-V 与 VirtualBox 共存问题 : 渗透测试过程 1. 信息收集 获取靶机 IP : 扫描端口和服务 : 2. Web 应用分析 访问 80 端口 Web 服务 目录扫描 : 发现后台地址: http://<靶机IP>/administrator/ 识别为 Joomla CMS 版本识别 : 检查 README.txt 文件 确认 Joomla 3.7 版本 3. 漏洞利用 Joomla 3.7 SQL 注入漏洞 : 漏洞点: http://<靶机IP>/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml%27 使用单引号测试确认存在 SQL 注入 使用 sqlmap 自动化利用 : 获取管理员凭据 : 提取到加密密码: $2y$10$DpfpYjADpejngxNh9GnmCeyIHCWpL97CVRnGeZsVJwR0kWFlfB1Zu 使用 John the Ripper 破解: 获得明文密码: snoopy 管理员账号: admin/snoopy 4. 后台利用 登录后台 : http://<靶机IP>/administrator/ 寻找可利用点 : 检查模板编辑功能 确认无 SSH 服务,需从 Web 端突破 上传 WebShell : 创建 PHP 反弹 shell 文件 选择模板位置存放 访问地址: http://<靶机IP>/templates/protostar/A1.php 建立反弹 shell : 使用 nc 或 msfconsole 监听 注意:某些环境下 Python 升级可能有问题 5. 权限提升 检查系统信息 : 确认内核版本 上传并执行提权 EXP : 在 Kali 上启动 Apache 服务 使用 wget 或 curl 将 EXP 下载到靶机 解压并授权: 执行 EXP 获取 root 权限 6. 获取 Flag 在 root 目录下查找 flag 文件 关键知识点总结 信息收集 : 网络扫描 (nmap) Web 目录爆破 (dirb) 版本识别 漏洞利用 : Joomla 3.7 SQL 注入 sqlmap 自动化工具使用 John the Ripper 密码破解 后渗透 : WebShell 上传 反弹 shell 建立 内核提权技术 问题解决 : 虚拟机兼容性问题 环境限制下的变通方法 扩展思考 尝试不使用 sqlmap 手动进行 SQL 注入 探索其他可能的提权路径 研究 Joomla 其他版本的漏洞 练习清理入侵痕迹