4 jun 2013

Mimikatz & WCE & Metasploit

La herramienta Mimikatz supuso una revolución en el mundo de la seguridad Windows y una alegría inmensa a los pentesters que realizan auditorías internas, ya que gracias a dicha herramienta y su fundamento teórico, es posible obtener credenciales en plano, entre otras muchas cosas, por ejemplo de un administrador de dominio, provocando el game over de la auditoría. WCE es otra de las herramientas que ayudan y mucho en una auditoría interna, y con la cual también hemos jugado bastante en nuestros días en Informática 64. Los compañeros de Security Art Work hacen un análisis bastante interesante sobre esta integración, la cual me ha valido de inspiración.

El equipo de Metasploit ha integrado mimikatz como un módulo de Meterpreter, esos módulos de carga dinámica que tenemos disponibles cuando tenemos una sesión y estamos en fase de post-explotación. Esos módulos que cargamos con el comando load, esos pequeños diablillos que aportan una gran dosis de funcionalidad a nuestra tarea de recolección de evidencias en la falta de seguridad en la auditoría. La verdad que es algo que Germán (@enelpc) y yo habíamos hablado en alguna ocasión, el típico "Estaría bien disponer de WCE o Mimikatz ya integrado con Meterpreter, el típico todo en uno" o "Meta lo hace, y Mimi lo come".

Tal y como se puede ver en la imagen el nuevo módulo es fácilmente detectable con el uso del comando load. Las opciones que dispone también se pueden ver, hoy en día sacar las claves de Windows en plano va a ser aún más cómodo gracias a esta integración.

Con esto se evita que los AVs detecten aplicaciones como Mimikatz y WCE. En el libro de Metasploit para pentesters  se puede estudiar como realizar la subida de estas aplicaciones y ejecutarlas de manera remota con el fin de conseguir credenciales windows en texto plano, Kerberos, certificados digitales, etcétera. Esta subida del binario supone la exposición en disco del ejecutable por lo que es más fácilmente detectable que si ejecutamos directamente en memoria. Con la integración de este módulo, ejecutamos directamente los comandos en memoria por lo que es realmente interesante para la evasión de AVs.

Por otro lado, se podría utilizar el comando execute con el fin de ejecutar un binario que se encuentra en nuestra máquina de manera remota directamente a memoria. Para llevar a cabo dicha acción se debería ejecutar la siguiente instrucción execute -H -i -c -m -d notepad.exe -f wce.exe. Si quisiéramos además obtener las credenciales en plano, y no solo los hashes (que para eso esta hashdump en Meterpreter), podríamos utilizar el flag -a indicando el parámetro de entrada de la aplicación. El parámetro -H indica que la aplicación se lanzará de manera oculta, es decir, no saldrá ninguna ventana de ejecución, el parámetro -m indica que el binario se copiará directamente a memoria, sin pasar por disco. El parámetro -d indica el nombre que recibirá el proceso realmente, y el parámetro -f indica la ruta donde se encuentra el archivo que se quiera ejecutar.

Lo ideal es que ahora el pentester dispone de todo este potencial en el módulo de Mimikatz para Meterpreter. ¿Lo has probado? Actualiza tu framework y hazte con él.

1 comentario: