Se me cayo un exploit

SEGURIDAD INFORMÁTICA

HACKING . PROGRAMACIÓN . ELECTRÓNICA . GNU/LINUX

Se me cayó un exploit en tu server.... por @UnaPibaGeek

shei@unapibageek:~# ./Bugs-Exploits

Laboratorio de vulnerabilidades y escritura de shells & exploits, desde mis gustos digo que es lo más interesante de la seguridad informática.

EternalBlue & DoublePulsar para obtener shell Empire/Meterpreter

nsahacked.png

La siguiente nota, se basa en el paper que he publicado en exploit-db: https://www.exploit-db.com/docs/41896.pdf (inglés) | https://www.exploit-db.com/docs/41897.pdf (Español).

Siendo sincera, tenía tantas cosas que hacer que quería sobrevivir al leak de la NSA “mirándolo de costado” viendo qué comentaban mis amigos en base a sus propios test… Claramente no pude. Empezaron a hablar de “EternalBlue EternalBlaBlaBla” y yo pensaba “malditos me van a hacer levantar no sé cuántas máquinas virtuales para probar esto” y así fue.

Como ya todos sabemos, el leak se publicó en este github: https://github.com/misterch0c/shadowbroker así que el primer paso es descargarlo en un ambiente virtual.

Vamos a hacer uso de Fuzzbunch que es el “Metasploit” de la NSA. El framework está desarrollado en Python2.6 y utiliza una versión también antigua de PyWin32, la 2.12.
Entonces, podemos virtualizar un Windows XP e instalar las siguientes herramientas:
Python 2.6: https://www.python.org/download/releases/2.6/. (Agregalo a la variable PATH de Windows).
PyWin32 v2.12: https://sourceforge.net/projects/pywin32/files/pywin32/Build%20212/.
Notepad++: https://notepad-plus-plus.org/download/v7.3.3.html.
Todos son instaladores ejecutables así que “siguiente, siguiente, siguiente…”.

Tras instalar lo necesario, podríamos abrir un cmd.exe y movernos hasta la carpeta donde descargamos el leak, puntualmente donde se encuentra el Fuzzbunch: “fb.py” (dentro de la carpeta shadowbroker-master/Windows) y ejecutar "python fb.py" pero eso no va a funcionar. El script arrojará un error de que no encuentra el directorio “ListeningPost” y esto es porque dentro del leak, dicha carpeta vino vacía y no contamos con ella. Por lo tanto, para evitar ese error, abrimos con el Notepad++ el fb.py y simplemente comentamos la línea 72, donde se intenta cargar el contenido de ListeningPost:



Adicionalmente, podemos abrir el archivo Fuzzbunch.xml de la misma carpeta, y reemplazar las rutas de las líneas 19 y 24 por rutas que existan en nuestro sistema, en mi caso los dejé así:



Ahora sí, ejecutamos desde la terminal el comando "python fb.py" y tendríamos que ver a Fuzzbunch ejecutándose correctamente:



Por otro lado, necesitamos al menos una virtual con Windows 7 SP1 para impactar. En mi lab tengo un Windows 7 SP1 x64 con la IP: 192.168.1.109 que será el target y el Windows XP con Fuzzbunch en la IP 192.168.1.108 como atacante.

Cuando iniciamos Fuzzbunch se nos pregunta la IP del target, ahí indicamos la IP del Windows 7. Inmediatamente después se nos pide la IP del callback, que sería el atacante, o sea, la IP del Windows XP.



Presionamos enter para continuar y se nos pedirá indicar un nombre al proyecto, en mi caso como pueden ver en la siguiente imagen, utilicé el que ya tenía creado “eternal1”. Si no tienen ninguno, al presionar enter se les pedirá un nombre y nada más, con ese dato ya se crea la carpeta de logs para ese proyecto y Fuzzbunch quedará con la terminal en “fb>”.



El siguiente paso es seleccionar el exploit que vamos a usar, que es EternalBlue, para ello ejecutamos: use EternalBlue.



A partir de aquí, dejaremos con su configuración por default todos los parámetros que nos pregunte, EXCEPTO el siguiente:



Ahí el modo lo cambiamos a 1.
Finalmente nos pregunta si queremos ejecutar EternalBlue, le damos “obvio, pero no te me escapes de la VM please”.



Si todo salió bien, veremos al final el mensaje “Eternalblue succeeded”. La velocidad de impacto es excelente.
El siguiente paso es aprovechar esto con DoublePulsar, para inyectar remotamente una DLL maliciosa en el sistema impactado previamente con EternalBlue.
Para crear la DLL nos mudamos para un Linux donde tengamos instalado el framework Empire: https://github.com/EmpireProject/Empire.

Paso 1: Creamos un listener que nos reciba la conexión inversa al inyectarse la DLL



La dirección de “Host” ahí es la de ese Linux, en mi caso la 192.168.1.105.

Paso 2: Creamos la DLL maliciosa



Ahora tenemos nuestra DLL maliciosa en /tmp/launcher.dll, simplemente debemos copiar esa DLL a la máquina virtual con XP para usarla con Fuzzbunch (máquina atacante).

Volviendo allí, ahora ejecutamos use DoublePulsar en la terminal de Fuzzbunch.



A partir de ahí dejaremos con el valor por defecto todos los parámetros que se nos pregunten hasta llegar a lo siguiente:



Allí vemos de seleccionar correctamente la arquitectura del Windows 7 que vamos a impactar, en mi caso es x64. Luego, lo más importante, indicar que vamos a realizar una inyección DLL; seguido a eso se nos pedirá la ruta local donde se encuentra esa DLL, la cuál, es la que generamos con Empire y ya debemos tenerla copiada en la máquina virtual atacante para usarla ahora con Fuzzbunch. El resto de los parámetros los dejamos con las configuraciones por defecto.

Finalmente se nos pregunta si deseamos ejecutar DoublePulsar...



Y si todo sale bien...



Mientras tanto en la máquina con Linux donde tenemos el listener de Empire, recibimos la conexión inversa:



YOU WIN!
Empire nos permite ejecutar en la máquina víctima prácticamente las mismas cosas que el meterpreter de Metasploit. Sin embargo, podemos hacer la migración desde el agente de Empire al listener de Meterpreter muy fácilmente.

Paso 1: Seteamos listener de meterpreter



Es importante que utilicemos el payload windows/meterpreter/reverse_httpS.



Paso 2: Utilizamos el módulo “code execution” de Empire para inyectar el meterpreter



Paso 3: Recibimos la Shell inversa de merterpreter :)



Conclusión: obtuvimos una shell de meterpreter sobre un Windows 7 SP1 x64 sin necesidad de interacción del usuario de este equipo, tan solo con conocer su IP. Esto me recordó a la facilidad con la que se obtiene el acceso a un Win XP mediante el ms08_067. El detalle, es que según el timestamp de EternalBlue, la NSA tenía esto desde el 2011.......

Eso es todo! Enjoy && EternalFun! ;)

¿Te cansaste de leer? Tomate un café (share):

Fecha: 02/05/2017

Sheila A. Berta

Sheila A. Berta

shei@unapibageek:~# cd shei

¡Suscribite!

Aprendé más en...