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. 漏洞利用代码的调试与修改能力
相似文章
相似文章
 全屏