
Zerologon (CVE-2020-1472) の PoC - エクスプロイト

このエクスプロイトには、GitHub の最新の impacket を使用する必要があります。
impacket のインストールは、netlogon 構造が追加された状態で行ってください。
注意:
デフォルトでは、エクスプロイトが成功すると、DC アカウントのパスワードが変更されます。
DCSync が可能になります。
他のドメインコントローラとの通信が切断されます(注意してください!)
元の研究および情報はこちら
Python 3.7 以上と Pip が必要です。依存関係を次のようにインストールします:
pip install -r requirements.txt

シークレットをダンプできません!


NTDS.dit のシークレットのダンプに成功しました!
python3 zero-logon-exploit.py を実行する-just-dc と -no-pass、または空のハッシュと DCHOSTNAME$ アカウントを使用して、secretsdump で DCSync を実行するsecretsdump 内のこの行が必ず通るようにすると(たとえば if True: にするなど)、secretsdump はレジストリからマシンアカウントのパスワードの平文(16進エンコード)もダンプします。これは、同じ DC に対して DA(ドメイン管理者)アカウントを使用して実行することで行えます。
あるいは、最初にレジストリハイブを抽出してから secretsdump をオフラインで実行しても、同じパスワードをダンプできます(この場合、Kerberos ハッシュを計算できないため、常に平文キーが出力され、ライブラリを変更する手間が省けます)。
このパスワードを使用すると、-hexpass パラメータを指定して restorepassword.py を実行できます。これにより、最初に空のパスワードで同じ DC に対して認証し、次にパスワードを元のものに戻します。ターゲットとして NetBIOS 名と IP アドレスを再度指定してください。例:
python restorepassword.py testsegment/s2016dc@s2016dc -target-ip 192.168.222.113 -hexpass e6ad4c4f64e71cf8c8020aa44bbd70ee711b8dce2adecd7e0d7fd1d76d70a848c987450c5be97b230bd144f3c3...etc
エクスプロイト提供のクレジット : dirkjanm