Follina Exploit – كيفية إستغلال الثغرة بواسطة برامج الأوفيس
جدول المحتويات
إنتشر بشكل كبير في الأيام القليلة الماضية خبر إكتشاف ثغرة برمجية 0 يوم يمكن إستغلالها عن بعد في برامج المايكروسوفت اوفيس.
بتعبير أدق، ثغرة أمنية يمكن عبرها تنفيذ تعليمات برمجية عن طريق ملفات Office، على الرغم من أننا نعلم جميعًا أنه قد تكون هناك طرق أخرى لتشغيل هذه الثغرة الأمنية أو إساءة استخدامها.
قام الباحث الأمني Kevin Beaumont بتزويده بالاسم التعسفي بالكامل Follina Exploit، وبالنظر إلى أنه لا يبدو أنه يحتوي على رقم CVE رسمي حتى الآن [2022-05-30T21:00Z] ، يبدو أن هذا الاسم ثابت مصطلح بحث مفيد.
(تحديث. قامت Microsoft بتعيين المعرف CVE-2022-30190 لهذا الخطأ، ونشرت نصيحة عامة حوله [2022-05-22T06: 00Z].)
تم اختراع الاسم “Follina” من حقيقة وجود عينة من ملف Word DOC المصاب في Virus Total والذي يحمل الاسم 05-2022-0438.doc. يبدو التسلسل الرقمي 05-2022 واضحًا جدًا (ماي 2022)، لكن ماذا عن 0438؟ يحدث هذا فقط ليكون رمز الاتصال الهاتفي لمنطقة Follina، وليس بعيدًا عن البندقية في شمال غرب إيطاليا، لذلك قام Beaumont بتطبيق اسم ” Follina Exploit” على الاستغلال باعتباره مزحة تعسفية. ليس هناك ما يشير إلى أن البرامج الضارة جاءت من هذا الجزء من العالم، أو في الواقع أن هناك أي اتصال إيطالي بهذا الاستغلال على الإطلاق.
كيف تعمل ثغرة Follina Exploit؟
إذا تحدثنا بشكل مباشر، فإن الاستغلال يعمل على النحو التالي:
- تفتح ملف DOC مفخخ، ربما يتم تلقيه عبر البريد الإلكتروني.
- يشير المستند إلى https ذو مظهر عادي: عنوان URL يتم تنزيله منه.
- يشير عنوان https هذا: URL إلى ملف HTML يحتوي على بعض تعليمات JavaScript البرمجية ذات المظهر الغريب.
- تشير أوامر JavaScript إلى عنوان URL مع المعرف غير المعتاد ms-msdt: بدلاً من https :.
- على نظام الويندوز، ms-msdt: هو نوع عنوان URL خاص يقوم بتشغيل مجموعة أدوات برنامج MSDT.
- يعد MSDT اختصارًا لأداة تشخيص دعم Microsoft.
- يؤدي سطر الأوامر المقدم إلى “أداة تشخيص دعم Microsoft” عبر عنوان URL إلى تشغيل تعليمات برمجية غير موثوق بها.
عند الاستدعاء، يقوم الرابط الضار ms-msdt: link بتشغيل الأداة المساعدة MSDT باستخدام وسيطات سطر الأوامر مثل:
msdt /id pcwdiagnostic ...
إذا تم التشغيل يدويًا، بدون أي معلمات أخرى، فسيؤدي ذلك تلقائيًا إلى تحميل MSDT واستدعاء مستكشف أخطاء توافق البرامج ومصلحها، والذي يبدو بريئًا بدرجة كافية، مثل هذا:
من هنا، يمكنك اختيار تطبيق لتحري الخلل وإصلاحه؛ يمكنك الإجابة على مجموعة من الأسئلة المتعلقة بالدعم؛ يمكنك إجراء العديد من الاختبارات الآلية على التطبيق؛ وإذا كنت لا تزال عالقًا، فيمكنك اختيار إبلاغ Microsoft بالمشكلة، وتحميل العديد من بيانات استكشاف الأخطاء وإصلاحها في نفس الوقت.
على الرغم من أنك ربما لا تتوقع أن يتم إلقاؤك في هذه الأداة المساعدة التشخيصية PCWD بمجرد فتح مستند، سترى على الأقل سلسلة من مربعات الحوار المنبثقة وسيكون عليك اختيار ما يجب القيام به في كل خطوة على الطريق.
التنفيذ التلقائي للبرنامج النصي عن بعد
لسوء الحظ ، يبدو كما لو أن المهاجمين الذين اكتشفوا خدعة “Follina” (أو بشكل أكثر دقة ، المهاجمون الذين يبدو أنهم استخدموا هذه الحيلة في هجمات مختلفة الشهر الماضي، حتى لو لم يكتشفوا ذلك بأنفسهم) سلسلة من الخيارات غير العادية ولكن الغادرة لوضعها في سطر أوامر أداة تشخيص دعم Microsoft.
تجعل هذه الخيارات مستكشف أخطاء MSDT ومصلحها يقوم بعمله تحت التحكم عن بعد.
بدلاً من أن يتم سؤالك عن الطريقة التي تريد بها المتابعة ، قام المحتالون بصياغة سلسلة من المعلمات التي لا تؤدي فقط إلى استمرار العملية تلقائيًا (على سبيل المثال ، الخيارات / التخطي و / القوة) ، ولكن أيضًا لاستدعاء برنامج PowerShell النصي.
والأسوأ من ذلك، أنه ليس من الضروري أن يكون نص PowerShell النصي هذا موجودًا في ملف على القرص بالفعل – يمكن توفيره في شكل كود مصدر مختلط مباشرة في سطر الأوامر نفسه ، إلى جانب جميع الخيارات الأخرى المستخدمة.
في هذه الحالة ، تم استخدام PowerShell لاستخراج وتشغيل برنامج ضار قابل للتنفيذ تم توفيره في شكل مضغوط بواسطة المحتالين.
أكد الباحث في التهديدات جون هاموند في Huntress، عن طريق إطلاق CALC.EXE إلى “فرقعة آلة حاسبة” ، أن أي ملف تنفيذي موجود بالفعل على الكمبيوتر يمكن تحميله مباشرة من خلال هذه الخدعة أيضًا، لذلك يمكن للهجوم استخدام الأدوات أو الأدوات المساعدة الموجودة، دون الاعتماد على النهج الذي ربما يكون أكثر تشككًا في إطلاق برنامج PowerShell النصي.
لا حاجة لـ الماكرو
لاحظ أن هذا الهجوم يتم تشغيله عن طريق إحالة Word إلى ms-msdt: URL الذي تتم الإشارة إليه بواسطة عنوان URL موجود في ملف DOC نفسه.
لا توجد وحدات ماكرو Office لـ Visual Basic for Applications (VBA) متضمنة، لذلك تعمل هذه الخدعة حتى إذا تم إيقاف تشغيل وحدات ماكرو Office تمامًا.
ببساطة، يبدو هذا مثل ما قد تسميه “ميزة” سهلة الاستخدام لعنوان URL الخاص بـ Office، جنبًا إلى جنب مع “ميزة” تشخيص MSDT المفيدة، لإنتاج ثغرة أمنية يمكن إساءة استخدامها يمكن أن تتسبب في استغلال تنفيذ التعليمات البرمجية عن بُعد بالنقر والحصول على الوصول.
بمعنى آخر، مجرد فتح مستند مفخخ يمكن أن ينقل برامج ضارة إلى جهاز الكمبيوتر الخاص بك دون أن تدرك ذلك.
في الواقع، كتب جون هاموند أنه يمكن تحويل هذه الخدعة إلى هجوم مباشر أكثر، من خلال تجميع المحتوى المحتال في ملف RTF بدلاً من ملف DOC. في هذه الحالة، كما يقول، يكفي مجرد معاينة المستند في Windows Explorer لبدء الاستغلال، دون النقر عليه لفتحه. يكفي مجرد عرض جزء معاينة الصورة المصغرة كاف لكي تصبح ضحية إختراق.
ماذا أفعل؟
على الرغم من ملاءمة عناوين URL ms-xxxx المملوكة لشركة Microsoft، إلا أن حقيقة أنها مصممة لتشغيل العمليات تلقائيًا عند فتح أنواع معينة من الملفات، أو حتى معاينتها فقط، يعد خطرًا أمنيًا واضحًا.
الحل البديل الذي تم الاتفاق عليه بسرعة في المجتمع، ومنذ ذلك الحين تم اعتماده رسميًا من قبل Microsoft، هو ببساطة قطع العلاقة بين ms-msdt: URLs وأداة MSDT المساعدة.
هذا يعني أن عناوين URL ms-msdt: لم تعد لها أي أهمية خاصة، ولا يمكن استخدامها لفرض تشغيل MSDT.EXE.
يمكنك إجراء هذا التغيير ببساطة عن طريق إزالة إدخال التسجيل HKEY_CLASSES_ROOT \ ms-msdt، إذا كان موجودًا. (إذا لم يكن موجودًا ، فأنت محمي بالفعل بهذا الحل البديل.)
إذا أنشأت ملفًا ينتهي باسمه .REG يحتوي على هذا النص …
Windows Registry Editor Version 5.00
[-HKEY_CLASSES_ROOT\ms-msdt]
… يمكنك النقر نقرًا مزدوجًا فوق ملف .REG لإزالة (علامة الطرح تعني “حذف”) الإدخال المخالف.
يمكنك أيضًا الذهاب وصولاً إلى
HKEY_CLASSES_ROOT \ ms-msdt
في الأداة المساعدة REGEDIT والضغط على [حذف].
أو يمكنك تشغيل الأمر:
REG DELETE HKCR \ ms-msdt
لاحظ أنك بحاجة إلى امتيازات المسؤول لتعديل السجل بهذه الطريقة.
إذا اكتشفت أنه لا يمكنك العيش بدون عناوين URL ms-msdt فيمكنك دائمًا استبدال بيانات السجل المفقودة لاحقًا.
لعمل نسخة احتياطية من مفتاح التسجيل HKEY_CLASSES_ROOT \ ms-msdt، استخدم الأمر:
REG EXPORT HKEY_CLASSES_ROOT \ ms-msdt backup-msdt.reg
لاستعادة مفتاح التسجيل المحذوف لاحقًا ، استخدم:
REG IMPORT backup-msdt.reg
للعلم فقط، لم نر حتى عنوان URL ms-msdt من قبل، ناهيك عن الاعتماد على واحد، لذلك لم نتردد في حذف إعداد التسجيل هذا على جهاز الكمبيوتر الخاص بنا الذي يعمل بنظام Windows.