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