记一次实战渗透(上)
字数 2247 2025-08-05 08:19:51
JBoss JMX Console 漏洞利用与内网渗透实战
1. 漏洞概述
本次实战渗透利用了JBoss应用服务器的JMX Console漏洞,这是一个经典的Java应用服务器安全问题。JBoss的JMX Console默认情况下未进行适当的安全配置,导致攻击者可以远程部署恶意WAR包,获取服务器控制权限。
2. 初始攻击阶段
2.1 目标识别
- 发现目标系统运行JBoss应用服务器
- JMX Console界面可直接访问,无认证保护
2.2 漏洞利用步骤
- 访问JMX Console:直接通过URL访问JMX Console管理界面
- 定位部署功能:找到
jboss.deployment部分 - 利用addURL方法:使用
void addURL()方法进行远程WAR包部署 - 自动化工具使用:利用现成的漏洞利用脚本验证漏洞存在性
2.3 获取初始访问
- 通过漏洞利用脚本成功上传Web Shell
- 获取反向Shell连接
- 确认Shell稳定性较差,需尽快升级
3. 后渗透阶段
3.1 初始信息收集
- 系统检查:
- 检查运行进程(确认无杀毒软件)
- 查看管理员登录时间
- 检查网卡配置信息
- 网络环境确认:
- 确认系统位于域环境中
- 测试网络连通性(ping测试确认出网)
3.2 权限维持
- 使用PowerShell进行持久化
- 派生新会话以进行后续操作
4. 内网信息收集
4.1 本机信息
- 获取系统哈希:使用工具获取本地账户哈希
- 确认域信息:识别当前主机所属域
- 定位域控制器:
- 通过DNS查询确定域控IP
- 确认域控主机名后缀
4.2 域环境信息
- 查询域结构:
- 域数量查询
- 域内计算机列表
- 域管账户列表(
net group "domain admins" /domain) - 域控账户列表(
net group "domain controllers" /domain)
- 用户与主机统计:
- 域内用户数量(约300-400个账户)
- 域内主机数量(约100台)
- 域策略检查:
- 检查密码策略(
net accounts /domain) - 检查域信任关系(
nltest /domain_trusts) - 检查域组信息(
net group /domain)
- 检查密码策略(
4.3 网络共享与连接
- 检查现有IPC连接(
net use) - 查看共享资源(
net share) - 检查会话信息(
net session)
4.4 SPN扫描
- 使用
setspn工具扫描服务主体名称(SPN) - 命令示例:
setspn -T 域名 -Q */* - 输出处理:
- 提取主机名:
grep "CN=" spn.txt | awk -F "," {'print $1'} | awk -F "=" {'print $2'} > host.txt
- 提取主机名:
- 发现MSSQL服务(主机28,端口1433)
5. 横向移动技术
5.1 尝试的攻击方法
- Pass-the-Hash攻击域控:尝试失败
- MS17-010漏洞扫描:
- 批量扫描域内主机
- 发现零星几台存在漏洞
- 漏洞主机分布在0、2、3网段
- PsExec横向移动:
- 利用
net session发现的相同用户名账户 - 成功传递哈希获取访问权限
- 利用
5.2 权限提升尝试
- 检查会话中的高权限令牌
- 对比域管用户名与现有会话用户名
- 未发现匹配项,放弃令牌窃取方法
6. 后续计划
- 利用MS17-010漏洞主机:
- 准备使用Metasploit框架进行攻击
- 派生会话给MSF处理
- 进一步渗透:
- 针对已获取的主机进行深入信息收集
- 寻找域管凭证或Kerberos票据
- 持久化维持:
- 在关键主机部署后门
- 建立多条访问通道
7. 防御建议
7.1 针对JBoss漏洞
- 禁用JMX Console的公开访问
- 配置强认证机制
- 及时更新JBoss版本
7.2 内网安全加固
- 启用LSA保护防止Pass-the-Hash
- 及时修补MS17-010等已知漏洞
- 限制PsExec等工具的使用
- 监控异常SPN查询行为
7.3 检测与响应
- 监控异常WAR包部署行为
- 建立哈希传递攻击检测机制
- 对域内异常会话进行告警
8. 工具与技术总结
| 工具/技术 | 用途 | 命令示例 |
|---|---|---|
| JMX Console | JBoss管理界面 | 手动访问 |
| setspn | SPN扫描 | setspn -T 域名 -Q */* |
| net命令 | 域信息收集 | net group "domain admins" /domain |
| nltest | 域信任查询 | nltest /domain_trusts |
| PsExec | 横向移动 | 哈希传递方式 |
| MS17-010扫描 | 漏洞检测 | 使用MSF或其他扫描工具 |
9. 学习要点
- 经典漏洞利用:JMX Console未授权访问是Java应用服务器的常见问题
- 内网渗透流程:从外网突破到内网横向的标准流程
- 信息收集重要性:全面的信息收集是内网渗透成功的关键
- 多种攻击技术组合:根据环境特点灵活选择攻击方法
- 规避检测:使用SPN扫描等隐蔽技术减少被发现风险
10. 扩展学习资源
- JBoss安全配置指南
- Active Directory渗透测试技术
- Kerberos协议与攻击技术
- 横向移动方法大全
- 内网隐蔽通道建立技术