
سكربت بلغة Python يستخدم مكتبة Impacket لاختبار قابلية التأثر بثغرة Zerologon (CVE-2020-1472).
يحاول تنفيذ تجاوز مصادقة Netlogon. سينهي السكربت تنفيذه فورًا عند نجاحه في تنفيذ التجاوز، ولن ينفذ أي عمليات Netlogon. عندما تكون وحدة تحكم المجال قد طُبّق عليها التصحيح، سيتخلى سكربت الاكتشاف عن المحاولة بعد إرسال 2000 زوج من استدعاءات RPC ويستنتج أن الهدف غير قابل للاستغلال (مع احتمالية خطأ سلبي بنسبة 0.04%).
يتطلب Python 3.7 أو أحدث وPip. قم بتثبيت التبعيات كما يلي:
pip install -r requirements.txt
لاحظ أن تشغيل pip install impacket يجب أن يعمل أيضًا، طالما أن السكربت لا يتعطل بسبب إصدارات Impacket المستقبلية.
يمكن استخدام السكربت لاستهداف وحدة تحكم بالمجال (DC) أو وحدة تحكم بالمجال احتياطية. من المحتمل أن يعمل أيضًا ضد وحدة تحكم بالمجال للقراءة فقط، ولكن لم يتم اختبار ذلك. بافتراض وجود وحدة تحكم بالمجال باسم EXAMPLE-DC مع ملف يحتوي على قائمة بعناوين IP IPlist.txt، قم بتشغيل السكربت كما يلي:
./zerologon_tester.py EXAMPLE-DC IPlist.txt
يجب أن يكون اسم وحدة تحكم المجال هو اسم الكمبيوتر NetBIOS الخاص بها. إذا لم يكن هذا الاسم صحيحًا، فمن المرجح أن يفشل السكربت مع خطأ STATUS_INVALID_COMPUTER_NAME.
سيتم نشر ورقة بيضاء حول هذه الثغرة هنا: https://www.secura.com/blog/zero-logon يوم الاثنين 14 سبتمبر.