CVE-2020-1472 والمعروف بـ Zerologon Exploit POC

ما هو؟
بروتوكول NetLogon (MS-NRPC) يمكنه إنشاء قناة أمنية ضعيفة للتحكم بين النطاقات.
من الممكن إلغاء كلمة مرور حساب الآلة على وحدات تحكم النطاق.
ملاحظات:
- ستكون وحدة تحكم النطاق معطلة جزئيًا أثناء إلغاء كلمة المرور، ولكن هذا البرنامج يعيد كلمة المرور عند الانتهاء.
- قد يسبب مشاكل DNS مع وحدة تحكم النطاق (يُحل بإعادة التشغيل).
- تذاكر Kerberos لها عمر 10 ساعات قبل انتهاء صلاحيتها.
- يتطلب أحدث إصدار من impacket من GitHub مع إضافة هياكل netlogon.
- لاحظ أن هذا بشكل افتراضي يغير كلمة مرور حساب النظام لوحدة تحكم النطاق ثم يعيدها. نعم، هذا يسمح لك بعمل DCSync، ولكنه أيضًا يقطع الاتصال بوحدات تحكم النطاق الأخرى في الإطار الزمني القصير، لذا كن حذرًا!
البحث عنه:
المتطلبات الأساسية
- يتطلب أحدث إصدار من impacket من GitHub مع إضافة هياكل netlogon.
التحقق من الثغرة:
- السلوك الافتراضي للبرنامج النصي هو التحقق من وجود الثغرة وعدم تغيير أي شيء!
استخدام zerologon.py
- اقرأ المدونة/الورقة البيضاء أعلاه لتعرف ما تفعله.
- سيتحقق هذا البرنامج النصي من وحدات تحكم النطاق بحثًا عن CVE-2020-1472.
- إذا تم توفير الخيار -exploit، فسيقوم بـ:
- إلغاء كلمة مرور النظام لوحدات تحكم النطاق
- سوف يستدعي DRSUAPI الخاص بـ secretsdump بكلمة المرور الفارغة للحصول على تجزئات ntds
- سيقوم بتحليل البيانات المفروغة للحصول على حساب مسؤول النطاق مع rid :500: واستدعاء secretsdump مرة أخرى للحصول على أسرار lsa
- سيقوم بتحليل التفريغ الثاني للحصول على قيمة plain_password_hex
- سوف يستدعي برنامج الاستعادة بالقيمة السداسية لاستعادة كلمة مرور النظام لوحدة تحكم النطاق إلى قيمتها الأصلية
python zerologon.py
usage: zerologon.py [-h] [-exploit] dc_name dc_ip
Tests whether a domain controller is vulnerable to the Zerologon attack. Resets the DC account password to an empty string
when vulnerable.
positional arguments:
dc_name The (NetBIOS) computer name of the domain controller.
dc_ip IP Address of the domain controller.
optional arguments:
-h, --help show this help message and exit
-exploit Zero out the computer's hash
اكتشافها:
- الحدث 4661 مع طلب امتياز لـ SetPassword (دون معرفة كلمة المرور القديمة) (لقطة شاشة مرفقة)
- الحدث 4723 لمحاولة تغيير كلمة مرور حساب
- الحدث 4738 عندما يتم تغيير حساب مستخدم لقيمة آخر تعيين كلمة مرور
تصحيحها:
الأنظمة المتأثرة:
- Windows Server 2008 R2 for x64-based Systems Service Pack 1
- Windows Server 2008 R2 for x64-based Systems Service Pack 1 (Server Core installation)
- Windows Server 2012
- Windows Server 2012 (Server Core installation)
- Windows Server 2012 R2
- Windows Server 2012 R2 (Server Core installation)
- Windows Server 2016
- Windows Server 2016 (Server Core installation)
- Windows Server 2019
- Windows Server 2019 (Server Core installation)
- Windows Server, version 1903 (Server Core installation)
- Windows Server, version 1909 (Server Core installation)
- Windows Server, version 2004 (Server Core installation)