
# سكربت بايثون لاستغلال Zerologon (CVE-2020-1472) لتنفيذ تجاوز مصادقة Netlogon وإعادة تعيين كلمة مرور وحدة تحكم المجال إلى قيمة فارغة.
نص برمجي بلغة Python يستخدم مكتبة Impacket لاستغلال ثغرة Zerologon (CVE-2020-1472).
يحاول تنفيذ تجاوز المصادقة عبر Netlogon. سيقوم النص البرمجي حالياً بتغيير كلمة المرور إلى قيمة فارغة. عندما يكون وحدة تحكم المجال مصححة، سيتوقف نص الكشف بعد إرسال 2000 زوج من استدعاءات RPC ويستنتج أن الهدف غير قابل للاستغلال (مع احتمال نتيجة سلبية خاطئة بنسبة 0.04%).
تعليمات التثبيت كما يلي:
apt install python3-venv
python3 -m venv impacketEnv
source impacketEnv/bin/activate
git clone https://github.com/SecureAuthCorp/impacket /opt/impacket
cd /opt/impacket
pip3 install .
python3 setup.py install
لاحظ أن تشغيل pip3 install impacket يجب أن يعمل أيضاً، طالما أن النص البرمجي لا يتعطل بسبب إصدارات Impacket المستقبلية.
يمكن استخدام أهداف النص البرمجي لاستهداف وحدة تحكم مجال أو وحدة تحكم مجال احتياطية. من المحتمل أن يعمل أيضاً ضد وحدة تحكم مجال للقراءة فقط، ولكن هذا لم يتم اختباره. بالنظر إلى وحدة تحكم مجال باسم EXAMPLE-DC مع عنوان IP 1.2.3.4، قم بتشغيل النص البرمجي كما يلي:
./zeroLogon-NullPass.py EXAMPLE-DC 1.2.3.4
يجب أن يكون اسم وحدة تحكم المجال هو اسم الكمبيوتر NetBIOS الخاص بها. إذا لم يكن هذا الاسم صحيحاً، فمن المحتمل أن يفشل النص البرمجي مع خطأ STATUS_INVALID_COMPUTER_NAME.
سيتم نشر ورقة بيضاء حول هذه الثغرة هنا: https://www.secura.com/blog/zero-logon يوم الاثنين 14 سبتمبر.