
استغلال لثغرة CVE-2020-1472 (Zerologon) يعيد تعيين كلمة مرور حساب وحدة تحكم المجال، مما يتيح هجوم DCSync، مع خطوات استعادة للتراجع عن التغييرات.
يتطلب أحدث إصدار من impacket من GitHub مع إضافة هياكل netlogon.
لاحظ أنه بشكل افتراضي يؤدي هذا إلى تغيير كلمة مرور حساب وحدة التحكم بالمجال. نعم، يسمح لك هذا بتنفيذ DCSync، لكنه يعطل أيضًا الاتصال بوحدات التحكم الأخرى بالمجال، لذا كن حذرًا!
مزيد من المعلومات والبحث الأصلي هنا
يعمل فقط على Python 3.6 والإصدارات الأحدث! إذا كان نظام التشغيل لديك مثبتًا عليه impacket (مثل Kali)، فتأكد من إزالة جميع التثبيتات الموجودة أولاً. إذا استمرت أخطاء الاستيراد بعد ذلك، فقم بتشغيله من virtualenv أو pipenv.
cve-2020-1472-exploit.py مع عنوان IP واسم netbios الخاص بوحدة التحكم بالمجال DC-just-dc و-no-pass أو تجزئات فارغة وحساب DCHOSTNAME$إذا قمت بتثبيت إصدار من impacket من GitHub تم تحديثه في 15 سبتمبر 2020 أو بعد ذلك، فسيقوم secretsdump تلقائيًا بتفريغ كلمة مرور الجهاز كنص عادي (مرمزة بالنظام الست عشري) عند تفريغ أسرار السجل المحلي. لاحظ أن هذا يختلف عن DCSync، حيث يستخدم DCSync حساب الجهاز، بينما يتطلب تفريغ السجل تنفيذ secretsdump ضد وحدة التحكم بالمجال بصلاحيات مسؤول المجال (مثل حساب Administrator المدمج).
بدلاً من ذلك، في الإصدارات الأقدم قليلاً من secretsdump، يمكنك تفريغ كلمة المرور نفسها عن طريق استخراج خلايا السجل أولاً ثم تشغيل secretsdump دون اتصال (حيث سيقوم دائمًا بطباعة المفتاح كنص عادي لأنه لا يمكنه حساب تجزئات Kerberos).
باستخدام كلمة المرور كنص عادي، يمكنك تشغيل restorepassword.py مع المعامل -hexpass. سيقوم أولاً بالمصادقة باستخدام كلمة المرور الفارغة على نفس وحدة التحكم بالمجال ثم يعيد تعيين كلمة المرور إلى الأصلية. تأكد من توفير اسم netbios وعنوان IP مرة أخرى كهدف، على سبيل المثال:
python restorepassword.py testsegment/s2016dc@s2016dc -target-ip 192.168.222.113 -hexpass e6ad4c4f64e71cf8c8020aa44bbd70ee711b8dce2adecd7e0d7fd1d76d70a848c987450c5be97b230bd144f3c3...etc