VnlnHub doubletrouble
字数 1560 2025-08-12 11:34:46

DoubleTrouble 靶场渗透测试教学文档

靶场环境搭建

  1. 下载与导入

    • 下载靶场文件(.ova格式)
    • 使用VMware导入.ova虚拟机文件
  2. 网络配置

    • 将网络模式设置为NAT模式(也可使用桥接模式,需与攻击机保持一致)
    • 重启虚拟机完成搭建

第一台靶机渗透(IP: 192.168.52.144)

1. 信息收集

  • 端口扫描

    • 开放端口:
      • 22端口:SSH服务
      • 80端口:HTTP服务(Apache 2.4.38)
  • Web服务探测

    • 发现登录页面
    • 敏感目录扫描发现:
      • /core目录
      • /core/config/databases.yml配置文件(包含数据库账号、密码和数据库名)
      • /install页面(数据库配置界面)
      • /secret目录(包含可疑图片文件)

2. 漏洞利用

  1. qdPM框架漏洞

    • 确认网站使用qdPM开源框架(版本9.1)
    • 搜索并确认该版本存在已知漏洞
    • 获取漏洞利用代码
  2. 认证绕过

    • 默认凭证尝试失败
    • /secret目录图片中提取隐写信息:
      • 使用steghide检测隐写内容(需要密码)
      • 使用stegseek工具破解隐写密码
      • 成功提取出有效凭证
  3. 漏洞执行

    • 使用获取的凭证成功登录
    • 执行qdPM漏洞利用代码(需修复代码缩进问题)
    • 成功上传Web后门

3. 权限提升

  1. 初始访问

    • 通过后门获取反弹shell
    • 使用Python升级shell:python -c 'import pty; pty.spawn("/bin/bash")'
  2. 提权方法

    • sudo -l检查特权命令
    • 发现可利用awk命令提权:
    sudo awk 'BEGIN {system("/bin/bash")}'
    
    • 成功获取root权限
  3. 发现第二台靶机

    • 在/root目录下发现第二个.ova虚拟机文件
    • 使用Python搭建临时HTTP服务传输文件:
    python -m SimpleHTTPServer 8080
    
    • 从攻击机下载文件:
    wget http://192.168.52.144:8080/doubletrouble.ova
    

第二台靶机渗透(IP: 192.168.52.145)

1. 信息收集

  • 端口扫描

    • 开放端口:
      • 22端口:SSH服务
      • 80端口:HTTP服务(Apache 2.22)
  • Web服务探测

    • 发现登录页面
    • 敏感目录扫描发现/cgi-bin目录

2. 漏洞利用

  1. SQL注入

    • 初步测试未发现明显注入点
    • 使用sqlmap发现时间盲注:
    sqlmap -u "http://192.168.52.145/index.php" --batch --forms
    
    • 数据提取:
    sqlmap -u "http://192.168.52.145/index.php" --current-db
    sqlmap -u "http://192.168.52.145/index.php" -D doubletrouble --tables
    sqlmap -u "http://192.168.52.145/index.php" -D doubletrouble -T users --columns
    sqlmap -u "http://192.168.52.145/index.php" -D doubletrouble -T users --dump
    
    • 获取两组凭证(无法用于Web登录,但可用于SSH)
  2. SSH登录

    • 使用sqlmap提取的凭证成功登录SSH

3. 权限提升

  1. 常规提权尝试

    • sudo -l检查无可用特权命令
    • SUID提权检查:
    find / -perm -4000 2>/dev/null
    
    • 未发现常见可利用SUID文件
  2. 内核提权

    • 识别系统存在Dirty Cow漏洞(CVE-2016-5195)
    • 利用步骤:
      • 上传漏洞利用代码
      • 编译并执行:
    gcc -pthread dirty.c -o dirty -lcrypt
    ./dirty
    
    • 创建新root用户(firefart)并设置密码
    • 使用新凭证登录获取root权限
  3. 系统恢复

    • 将备份的/tmp/passwd.bak恢复为/etc/passwd
    • 重置root密码

关键工具与命令总结

  1. 信息收集

    • nmap:端口扫描
    • dirb/gobuster:目录扫描
    • sqlmap:SQL注入检测与利用
  2. 隐写分析

    • steghide:检测和提取隐写内容
    • stegseek:高效破解隐写密码
  3. 权限提升

    • sudo -l:检查可用特权命令
    • SUID查找:find / -perm -4000 2>/dev/null
    • 内核漏洞利用:Dirty Cow等
  4. 文件传输

    • Python HTTP服务:
    python -m SimpleHTTPServer 8080
    
    • wget:文件下载

学习要点

  1. 全面的信息收集是渗透测试的基础
  2. 注意配置文件、隐藏目录和文件中的敏感信息
  3. 现代隐写分析工具的使用(stegseek替代stegcracker)
  4. 多种提权方法的尝试与验证
  5. 从一台机器到另一台机器的横向移动技巧
  6. 漏洞利用代码的调试与修改能力
DoubleTrouble 靶场渗透测试教学文档 靶场环境搭建 下载与导入 : 下载靶场文件(.ova格式) 使用VMware导入.ova虚拟机文件 网络配置 : 将网络模式设置为NAT模式(也可使用桥接模式,需与攻击机保持一致) 重启虚拟机完成搭建 第一台靶机渗透(IP: 192.168.52.144) 1. 信息收集 端口扫描 : 开放端口: 22端口:SSH服务 80端口:HTTP服务(Apache 2.4.38) Web服务探测 : 发现登录页面 敏感目录扫描发现: /core 目录 /core/config/databases.yml 配置文件(包含数据库账号、密码和数据库名) /install 页面(数据库配置界面) /secret 目录(包含可疑图片文件) 2. 漏洞利用 qdPM框架漏洞 : 确认网站使用qdPM开源框架(版本9.1) 搜索并确认该版本存在已知漏洞 获取漏洞利用代码 认证绕过 : 默认凭证尝试失败 从 /secret 目录图片中提取隐写信息: 使用 steghide 检测隐写内容(需要密码) 使用 stegseek 工具破解隐写密码 成功提取出有效凭证 漏洞执行 : 使用获取的凭证成功登录 执行qdPM漏洞利用代码(需修复代码缩进问题) 成功上传Web后门 3. 权限提升 初始访问 : 通过后门获取反弹shell 使用Python升级shell: python -c 'import pty; pty.spawn("/bin/bash")' 提权方法 : sudo -l 检查特权命令 发现可利用 awk 命令提权: 成功获取root权限 发现第二台靶机 : 在/root目录下发现第二个.ova虚拟机文件 使用Python搭建临时HTTP服务传输文件: 从攻击机下载文件: 第二台靶机渗透(IP: 192.168.52.145) 1. 信息收集 端口扫描 : 开放端口: 22端口:SSH服务 80端口:HTTP服务(Apache 2.22) Web服务探测 : 发现登录页面 敏感目录扫描发现 /cgi-bin 目录 2. 漏洞利用 SQL注入 : 初步测试未发现明显注入点 使用sqlmap发现时间盲注: 数据提取: 获取两组凭证(无法用于Web登录,但可用于SSH) SSH登录 : 使用sqlmap提取的凭证成功登录SSH 3. 权限提升 常规提权尝试 : sudo -l 检查无可用特权命令 SUID提权检查: 未发现常见可利用SUID文件 内核提权 : 识别系统存在Dirty Cow漏洞(CVE-2016-5195) 利用步骤: 上传漏洞利用代码 编译并执行: 创建新root用户(firefart)并设置密码 使用新凭证登录获取root权限 系统恢复 : 将备份的 /tmp/passwd.bak 恢复为 /etc/passwd 重置root密码 关键工具与命令总结 信息收集 : nmap :端口扫描 dirb/gobuster :目录扫描 sqlmap :SQL注入检测与利用 隐写分析 : steghide :检测和提取隐写内容 stegseek :高效破解隐写密码 权限提升 : sudo -l :检查可用特权命令 SUID查找: find / -perm -4000 2>/dev/null 内核漏洞利用:Dirty Cow等 文件传输 : Python HTTP服务: wget :文件下载 学习要点 全面的信息收集是渗透测试的基础 注意配置文件、隐藏目录和文件中的敏感信息 现代隐写分析工具的使用(stegseek替代stegcracker) 多种提权方法的尝试与验证 从一台机器到另一台机器的横向移动技巧 漏洞利用代码的调试与修改能力