
CVE-2023-21554 إثبات المفهوم
يحتوي هذا المستودع على إثبات مفهوم جاهز للتشغيل يستهدف خدمة Microsoft Message Queuing التي تستمع على منفذ TCP 1801. يعتمد هذا العمل على مواد من المشروع الأصلي على
https://github.com/leongxudong/MSMQ-Vulnerability
يستخدم هذا المستودع القطع الأثرية الثنائية المقدمة من ذلك المشروع. الملفات الثنائية المضمنة والمشار إليها بواسطة PoC هي:
establish_connection.binconnection_parameters.binuser_message.binيحاول هذا PoC إعادة إنتاج الحالة الموصوفة في CVE 2023 21554 عن طريق إرسال سلسلة من إطارات بروتوكول MSMQ إلى مضيف هدف على المنفذ 1801. تقوم نصوص PoC فقط بنشاط على مستوى الشبكة ولا تقوم بأي إجراءات بعد الاستغلال. هذا المشروع مخصص للتحليل والتحقق الدفاعي في بيئة مختبرية معزولة فقط.
CVE-2023-21554.py — نص PoC الأصلي الذي يرسل الكتل الثلاث الثنائية بالتسلسلCVE-2023-21554.py — نص مساعد من جانب المهاجم يسجل الردود، وتفريغات سداسية عشرية، والطوابع الزمنية، وأخطاء مستوى المقبس. استخدم هذا النص للحصول على أدلة أكثر فائدة من جانب المهاجمestablish_connection.bin — حمولة المرحلة الأولى الثنائية من المستودع الأصليconnection_parameters.bin — حمولة المرحلة الثانية الثنائية من المستودع الأصليuser_message.bin — حمولة المرحلة الثالثة الثنائية من المستودع الأصليREADME.md — هذا الملفضع الملفات الثنائية الثلاثة في نفس المجلد الذي يحتوي على نص PoC
قم بتحرير نص PoC أو CVE-2023-21554.py لتعيين عنوان IP الهدف
ابدأ التقاط الشبكة على جهاز المهاجم الخاص بك لعنوان IP والمنفذ الهدف. مثال الأمر في شل منفصلة (استبدل IP بهدفك):
sudo tcpdump -i eth0 host 10.0.2.15 and port 1801 -w msmq_test.pcap
قم بتشغيل نص التحقق المحسن للحصول على سجلات مختومة بزمن وتفريغات سداسية عشرية
python3 CVE-2023-21554.py
احفظ مخرجات PoC وملف التقاط الشبكة للتحليل
CVE-2023-21554.py عن connection_reset أو orderly_close فورًا بعد مرحلة حمولة (هذه حالات صريحة يطبعها المساعد).mqsvc.exe في وقت الاختبار.mqsvc.exe.mqsvc.استبدل <TARGET> بعنوان IP الهدف الخاص بك لكل مرشح.
عرض كل حركة المرور بين المهاجم والهدف على منفذ MSMQ:
ip.addr == <TARGET> && tcp.port == 1801
عرض فقط إعادة تعيين TCP القادمة من الخادم:
ip.src == <TARGET> && tcp.port == 1801 && tcp.flags.reset == 1
عرض الحزم التي تحتوي على بيانات تطبيق (حمولات TCP غير فارغة):
ip.addr == <TARGET> && tcp.port == 1801 && tcp.len > 0
عرض القطع ذات الطول الصفري أو FIN:
ip.addr == <TARGET> && tcp.port == 1801 && (tcp.len == 0 || tcp.flags.fin == 1)
عرض إعادة الإرسال والشذوذ في TCP:
tcp.analysis.retransmission || tcp.analysis.fast_retransmission || tcp.analysis.duplicate_ack
tcp.len صغيرة أو الحزمة التي تسبق RST مباشرة.server_reply.hex).CVE-2023-21554.py إلى ملف نصيmsmq_test.pcap)mqsvc.exe باستخدام procdump واحفظه للتحليلقد يتسبب هذا الكود في تعطل الخدمة وعدم الاستقرار على المضيفين الهدف. لا تقم بتشغيله ضد أنظمة لا تملكها أو ليس لديك إذن صريح لاختبارها. اختبر دائمًا في بيئة مختبرية معزولة وخذ لقطة من VM قبل تشغيل الاختبارات. يُنسب العمل الأصلي إلى المشروع الأساسي على:
https://github.com/leongxudong/MSMQ-Vulnerability
هذا المستودع مشتق من المشروع الأصلي على:
https://github.com/leongxudong/MSMQ-Vulnerability
إذا أضفت مساعدات كشف أو نصوص جمع أدلة، يرجى توثيقها وتضمين تعليمات للاستخدام المخبري الآمن
ارجع إلى المستودع الأساسي على الرابط أعلاه للحصول على السياق الأصلي والقطع الأثرية الثنائية. للحصول على إرشادات دفاعية، استشر تنبيهات البائع والكتابات المنشورة حول CVE 2023 21554