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