
نص برمجي بلغة Python باستخدام Impacket لاختبار ثغرة Zerologon (CVE-2020-1472) عن طريق محاولة تجاوز مصادقة Netlogon ضد وحدات التحكم بالمجال.
سكريبت بايثون يستخدم مكتبة 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 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 سبتمبر.