lunes, 20 de enero de 2014

EXTRAYENDO CONTRASEÑAS DE LA RAM CON MIMIKATZ 2.0 (ALFA)

Luego de “Sacando credenciales hasta del bolsillo” en @peruhackcon2013 he recibido algunas consultas sobre como utilizar mimikatz 2.0 (ALFA), esta herramienta puede ser particularmente útil durante la etapa de explotación de vulnerabilidades en un servicio de pentest, por ejemplo la explotación de una aplicación web vulnerable a carga de archivos (File Upload) sin restricciones en muchos ataques es el primer paso para tomar control del sistema objetivo.

A continuación, el ataque sólo tiene que encontrar la manera de ejecutar código luego de subir la respectiva webshell "phpshel.php" vemos que nos encontramos con permisos de "NT AUTHORITY\SYSTEM" y queremos extraer la clave del "Administrator", lo primero que pensamos es "la hago con meterpreter" y cuando logramos subirlo el antivirus del servidor web afectado reconoce dicha herramienta como código "malicioso"...

Para este caso podríamos utilizar la técnica que nos presenta mimikatz 2.0 (ALFA) puesto que en esta nueva versión ya no es necesario “inyectar” la librería "sekurlsa.dll" en el proceso de LSASS mimikatz# inject::process lsass.exe sekurlsa.dll, en esta nueva versión la técnica se basa en la obtención de contraseñas en texto plano volcando el proceso LSASS.EXE desde la memoria RAM, sin necesidad de ejecutar código "malicioso" en el servidor, de esta forma se evita tener que lidiar con técnicas de evasión antivirus y otros dolores de cabeza.

En este post me gustaría mostrar paso a paso como podemos usar la funcionalidad de mimikatz 2.0 (ALFA) explotando una aplicación web vulnerable a carga de archivos sobre un servidor Windows 2008.

1.SUBIENDO LAS HERRAMIENTAS
Subir las herramientas usando una aplicación vulnerable a carga de archivos (File Upload).
En caso de tener problemas para hallar la ruta en donde se han almacenado los archivos cargados en el servidor, podríamos usar Dirbuster para tratar de descubrir el directorio en donde se encuentren nuestros archivos en este caso se hallaron en "/webapp/admin/panel/images/"

phpshell.php; para realizar la ejecución de comandos en el servidor web afectado.
procdump.exe; nos permitirá realizar el volcar el espacio de memoria RAM del proceso LSASS.EXE a un archivo.dmp (dump)

Subiendo "WebShell" al servidor

Subiendo "procdump" al servidor


2.VOLCANDO LA RAM DEL SERVIDOR WEB

Ejecución del comando "dir" en el servidor para confirmar se logro subir la herramienta procdump.exe y el script desde donde se ejecutara (script.dumper.bat)

Usaremos Procdump para volcar el espacio de la memoria RAM asignado al proceso LSASS.EXE y generar archivo “dump” que se usará fuera de linea para conseguir la contraseña del "Administrador local" y/o del "Domain Admin".

Ejecución comando "dir" mediante phpshell.php?cmd=dir

Como utilizo procdump.exe?

Se ejecutara desde el archivo script.dumper.bat donde llamaremos a procdump.exe y le pasaremos los siguientes parámetros:

-accepteula : opción de línea de comando para aceptar automáticamente el contrato de licencia de Sysinternals.
-ma : escribir un archivo de volcado con toda la memoria del proceso. El formato de volcado predeterminado sólo incluye hilos (threads) del proceso e información de gestión.

Por último la ubicación donde se guardara el archivo con el volcado del proceso lsass.exe (C:\xampp\htdocs\webapp\admin\panel\images\) una ubicación donde se pueda descargar vía el servidor web.

Procdump : http://technet.microsoft.com/sysinternals/dd996900.aspx

type script.dumper.bat
C:\xampp\htdocs\webapp\admin\panel\images\procdump.exe 
-accepteula
-ma lsass.exe
C:\xampp\htdocs\webapp\admin\panel\images\%COMPUTERNAME%_lsass.dmp
Contenido del script "script.dumper.bat"

Como ejecutar script.dumper.bat en el servidor web?

Ejecución script.bat mediante phpshell.php?cmd=script.dumper.bat

Descargar el archivo “dump” para explotarlo con #mimikat

Descarga del volcado de la RAM desde el directorio web


3.USANDO MIMIKATZ 2.0 - Modulo MINIDUMP!!

Descargar mimikatz desde el repositorio oficial gentilkiwi, descomprimir e ingresar desde la consola de comandos ejecutando mimikatz.exe.

mimikatz # privilege::debug
mimikatz # sekurlsa::minidump nombre-del-archivo-dump-descargado.dmp
mimikatz # sekurlsa::logonpasswords


Listado de Archivos.

Enumeración de hashes y claves en texto plano del usuario Administrador


Herramientas utilizadas:
Mimikatz: http://blog.gentilkiwi.com/securite/mimikatz/minidump
Procdump: http://technet.microsoft.com/en-us/sysinternals/dd996900.aspx

No aplicar este material ni conocimientos sin el consentimiento explícito que autorice a hacerlo.(leer descargo de responsabilidades)




5 comentarios:

  1. Donde esta el mimikatz para descargarlo?

    ResponderEliminar
  2. ERROR kuhl_m_sekurlsa_acquireLSA ; Handle on memory (0x00000005

    Ayuda con este error. No he ejecutado el programa desde la cuenta de administrador porque esa es la contraseña que quiero averiguar.

    ResponderEliminar
  3. Necesitas privilegios de administrador, intenta con clic derecho/ejecutar como administrador. Saludos.

    ResponderEliminar
  4. Muy interesante y explicativo el artículo. Saludos

    ResponderEliminar