Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2017-0199-Fix — إصلاح سريع وبسيط لتنفيذ OLE2 للكود عبر .hta | Kitploit
أدوات/GitHubGitHub/notawful/cve-2017-0199-fix
تحليل الثغرات الأمنيةالاستغلالتدقيق التكوينالتعلم والتعليمالاستجابة للحوادثArchived
GitHubnotawful/cve-2017-0199-fix

CVE-2017-0199-Fix

إصلاح سريع وبسيط لتنفيذ OLE2 للكود عبر .hta

عرض المستودع
1326منذ 9 سنواتلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة

إصلاح CVE-2017-0199

قم بإزالة قدرة CVE-2017-0199 على تنفيذ التعليمات البرمجية عن طريق تغيير المعالج الافتراضي لملفات .hta. يتم تخزين المعالج الافتراضي للملفات التي يتم استدعاؤها عبر OLE2 (كائنات COM) بشكل منفصل عن التطبيق الافتراضي للنظام المحلي ولا يمكن تغييره إلا من خلال السجل.

منطق الاستغلال الأساسي

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

  1. مستند RTF مستضاف على خادم ويب يتم إلحاق حمولة تطبيق نص تشعبي خبيث (HTA) في نهايته.
  2. يستجيب الخادم المستضيف لطلبات GET الخاصة بالملف بترويسة تفيد بأن المحتوى هو ملف HTA.
  3. يقوم Microsoft Word بتشغيل كائن OLE2 لجلب مستند RTF من خادم الويب.
  4. يُجبر Microsoft Word على التحقق من نوع الملف لأن الامتداد .rtf لا يطابق نوع محتوى HTA.
  5. يفحص Microsoft Word من نهاية الملف بحثًا عن هياكل بيانات يمكن التعرف عليها ويطابق هياكل بيانات HTA مع نوع محتوى HTA.
  6. يقوم Microsoft Word تلقائيًا بتصحيح نوع الملف ويمرره إلى معالج COM لملفات HTA (mshta.exe).
  7. يقوم Mshta.exe بتشغيل كود تطبيق النص التشعبي الخبيث من نهاية الملف.

يتم تخزين معالجات COM بشكل منفصل عن معالجات النظام في السجل لمنع حدوث أخطاء في عملية التحقق من نوع الملف.

الإصلاح الأساسي

  1. في RegEdit.exe انتقل إلى HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{3050f4d8-98B5-11CF-BB82-00AA00BDCE0B}\DefaultIcon
  2. افتح الأذونات المتقدمة لـ DefaultIcon
  3. قم بتغيير المالك إلى Administrators (المجموعة)
  4. أضف حساب المستخدم الحالي إلى قائمة الكيانات الأمنية، وعيّن له صلاحية "التحكم الكامل"
  5. قم بتحرير المفتاح (Default) ليكون C:\Windows\System32\notepad.exe,1
  • في الأذونات المتقدمة لـ DefaultIcon قم بإزالة المستخدم الخاص بك، وأعد تعيين SYSTEM كمالك
  • كرر الخطوات من 1 إلى 6 لـ HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID{3050f4d8-98B5-11CF-BB82-00AA00BDCE0B}\LocalServer32، مع تغيير قيمة المفتاح (Default) إلى C:\Windows\System32\notepad.exe
  • يعمل هذا على إزالة قدرة CVE-2017-0199 على تنفيذ التعليمات البرمجية عن طريق تغيير المعالج الافتراضي لكائنات .hta التي يتم استدعاؤها عبر OLE2 إلى notepad. سيتم تطبيق هذا على جميع حالات استدعاء OLE2 لملفات .hta. سيتسبب هذا في فتح notepad وإظهار أخطاء، لكن لن يتم تنفيذ أي تعليمات برمجية.

    مفاتيح السجل الأصلية

    root@kitploit:~
    HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{3050f4d8-98B5-11CF-BB82-00AA00BDCE0B}\DefaultIcon\(Default)
    	C:\Windows\SysWOW64\mshta.exe,1
    HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{3050f4d8-98B5-11CF-BB82-00AA00BDCE0B}\LocalServer32\(Default)
    	C:\Windows\SysWOW64\mshta.exe
    

    مفاتيح السجل المعدلة

    root@kitploit:~
    HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{3050f4d8-98B5-11CF-BB82-00AA00BDCE0B}\DefaultIcon\(Default)
    	C:\Windows\System32\notepad.exe,1
    HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{3050f4d8-98B5-11CF-BB82-00AA00BDCE0B}\LocalServer32\(Default)
    	C:\Windows\System32\notepad.exe
    

    البيئة

    • خادم Ubuntu 16.04.2 LTS واحد مع حزمة LAMP وخادم SSH
    • عميل Windows 10 واحد مع Office 365 (2016)

    المراجع

    • إثبات المفهوم للاستغلال: https://rewtin.blogspot.ca/2017/04/cve-2017-0199-practical-exploitation-poc.html (تم الوصول إليه في 2017-04-17)
    • تحليل CVE-2017-0199: https://www.fireeye.com/blog/threat-research/2017/04/cve-2017-0199-hta-handler.html (تم الوصول إليه في 2017-04-17)

    الدروس المستفادة

    • لا تعدّل HKCR مباشرة. عدّل المفاتيح المرتبطة في HKCU أو HKLM.
    • يمكنك إعادة ملكية مفتاح السجل إلى SYSTEM أو أي جهة أخرى بعد الاستيلاء عليها.
    • لا تعبث بالسجل. اتركه كما وجدته بمجرد إجراء تغييراتك.
    • يمتلك Process Monitor خيارات تصفية قوية بزر الفأرة الأيمن لتقليل الضوضاء.
    • ميزة البحث في Process Monitor تبحث عن سلسلة نصية في جميع الحقول.
    • pscp.exe (Putty) هو أداة سطر أوامر لنقل الملفات عبر SSH.
    • لا تزال Linux مصدر إزعاج كبير.

    ملاحظة ختامية

    لا أتحمل أي مسؤولية عن أي أضرار أو مشاكل ناتجة عن هذا الإجراء التخفيفي أو عن ارتباك المستخدم الناتج عن notepad ومجموعة من الأخطاء. هذا إصلاح غير تقليدي (dirty fix) ولا أعلم ما إذا كان سيسبب مشاكل أوسع في بيئة الإنتاج. وكالعادة، قيّم الإجراءات التخفيفية مع مراعاة بيئتك واحتياجاتك الخاصة.

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

    تنزيل الأداة