
كود استغلال PoC لـ CVE-2021-26855
كود استغلال PoC لثغرة CVE-2021-26855.
الكود الأصلي تم تطويره بواسطة https://github.com/GreyOrder.
CVE-2021-26855 ssrf استخدام بسيط لتمارين golang الإصدارات المتأثرة
Exchange Server 2013 أقل من CU23
Exchange Server 2016 أقل من CU18
Exchange Server 2019 أقل من CU7
شروط الاستخدام
تختلف هذه الثغرة عن ثغرات Exchange السابقة. لا تتطلب هذه الثغرة هوية مستخدم قادرة على تسجيل الدخول. يمكنها الوصول إلى موارد المستخدم الداخلية دون تفويض. ويمكن استخدامها مع CVE-2021-27065 لتنفيذ أوامر عن بُعد.
متطلبات تفعيل الثغرة
وجود الثغرة في الخادم المستهدف
يجب أن يكون خادم Exchange المستهدف خادم موازنة تحميل، أي أنه يتم استخدام خادمين أو أكثر في نفس الوقت
عنوان البريد الإلكتروني المستهدف. لاحظ أن العنوان يجب أن يكون عنوان بريد إلكتروني داخل النطاق وليس عنوان بريد إلكتروني. هناك فرق بين الاثنين. بعد الاختبار، ليس الأمر كذلك، طالما أنه عنوان بريد إلكتروني صحيح، باستثناء الظروف الخاصة
يجب على المهاجم أيضًا تحديد اسم النطاق المؤهل بالكامل (FQDN) لخادم Exchange الداخلي. في الواقع، مطلوب اسم مضيف الخادم فقط، لأنه يمكن حل اسم المضيف داخل النطاق.
من بين العناصر الأربعة المذكورة أعلاه، يمكن التقاط FQDN عبر رسالة ntlm type2؛ ويمكن تعداد عناوين البريد الإلكتروني مباشرة. شرح إضافي لـ FQDN: نظرًا لأنني أستخدم ntlm type2 فقط لالتقاط معلومات النظام، فإن FQDN الذي تحصل عليه الأداة افتراضيًا هو الجهاز الذي يتم الوصول إليه حاليًا، لذلك لا يمكن تشغيل الثغرة مباشرة. تحتاج إلى الحكم يدويًا بناءً على اسم FQDN واستخدام -n لاستبدال خوادم Exchange الأخرى. اسم مضيف الخادم. تعليمات الاستخدام
لاستغلال هذه الثغرة، من الأنسب استخدام لغة برمجة نصية مثل ruby أو python. لقد كُتبت بلغة golang بغرض تعلّم golang، لذلك يمكن اعتبار هذه الأداة الصغيرة مجرد منتج نصف مكتمل وسيتم تحديثها عند توفر الوقت.
تدعم هذه الأداة حاليًا الوظائف التالية:
كشف الثغرة (مجرد التحقق ببساطة مما إذا كانت قابلة للاستغلال، ولا يمكن استخدامها للكشف الشامل)
تعداد المستخدمين
قراءة بسيطة لمعرف البريد وموضوعه
تنزيل البريد (تمت ترقيته، الآن ملف eml قياسي)
قراءة جهات الاتصال المحفوظة بواسطة المستخدم (لاحظ أنها ليست عامة، فقط جهات الاتصال المحفوظة بواسطة الهدف)
تحديد مجلد معين، وليس أي مجلد، يرجى الرجوع إلى https://docs.microsoft.com/en-us/exchange/client-developer/web-service-reference/distinguishedfolderid للحصول على التفاصيل
للاستخدامات الأخرى، يرجى تعديل محتوى xml بنفسك.
الاستخدام:
go run CVE-2021-26855-PoC.go -h
-h string مطلوب، عنوان الهدف أو اسم النطاق
-U string اختياري، يجب تعداد قائمة المستخدمين
-d اختياري، تنزيل البريد
-l اختياري، عرض القائمة البريدية
-n string اختياري، تحتاج إلى تحديد FQND لتعبئته
-t string اختياري، زمن تأخير الطلب (الافتراضي "1")
-u string اختياري، تحديد الهدف (الافتراضي "administrator")
-c اختياري، قراءة جهات الاتصال المحفوظة بواسطة المستخدم الحالي، وليس الكل
-f string اختياري، تحديد المجلد المراد عرضه (الافتراضي "inbox")