Compilar un Exploit para Windows en Kali Linux utilizando MinGW

  • Posted on: 24 September 2015
  • By: ReYDeS

MinGW proporciona un completo conjunto de herramientas open source para programación, el cual es adecuado para desarrollar aplicaciones Windows nativas, las cuales no dependen de DLLs C-Runtime de terceros. Depende de un número de DLLs proporcionadas por Microsoft, como componentes del sistema operativo; el más notable entre estos es MSVCRT.DLL, la librería C en tiempo de ejecución de Microsoft. Adicionalmente las aplicaciones deben entregarse con un soporte DLL libremente distribuido, proporcionada como parte misma de MinGW.

Se procede a instalar la herramienta en Kali Linux utilizando el gestor de paquetes.

# apt-get install mingw32

Para la siguiente demostración se utilizar un exploit escrito en C para explotar una vulnerabilidad en el software de nombre SLMail versión 5.5.

Existe una vulnerabilidad no autenticada de desbordamiento de buffer en el servidor POP3 de SLMail 5.5 cuando se envía una contraseña con una longitud excesiva. La explotación satisfactoria no hará caer ya sea el servicio o el servidos, sin embargo, después del uso inicial del puerto no podrá ser reutilizado para explotaciones subsecuentes hasta el ser el servicio reiniciado.

Se ubica y visualiza el código del exploit.

# cat /usr/share/exploitdb/platforms/windows/remote/646.c

Se procede a compilar el exploit. La opción “-lws2_32” define la librería a utilizar para la compilación, esto a razón de estar compilando una aplicación la cual utilizará sockets. La opción “-o” define el nombre del archivo generado.


# i586-mingw32msvc-gcc 646.c -lws2_32 -o /tmp/slmail.exe

Luego de realizada la compilación se obtiene un archivo ejecutable Windows PE.

# file /tmp/slmail.exe
# xxd -l 400 /tmp/slmail.exe

Para utilizar este archivo ejecutable de Windows en Kali Linux se utiliza Wine. Wine es una herramienta la cual permite ejecutar aplicaciones diseñadas para Windows en otros sistemas operativos como GNU/Linux.

# wine /tmp/slmail.exe

El archivo se ejecuta correctamente. La siguiente acción sería definir los parámetros requeridos por el exploit, para ejecutarlo contra el sistema vulnerable.

Fuentes:

https://www.rapid7.com/db/modules/exploit/windows/pop3/seattlelab_pass
http://www.securityfocus.com/bid/7519/
http://www.mingw.org/
https://www.winehq.org/

Sobre el Autor


Alonso Eduardo Caballero Quezada - ReYDeS
Instructor y Consultor Independiente en Ciberseguridad
Correo Electrónico: ReYDeS@gmail.com
Twitter: https://twitter.com/Alonso_ReYDeS
LinkedIn: https://pe.linkedin.com/in/alonsocaballeroquezada/
Facebook: https://www.facebook.com/alonsoreydes
Youtube: https://www.youtube.com/c/AlonsoCaballero


Webinar Informática Forense