martes, 1 de septiembre de 2009

Vulnerabilidad en el FTP de Microsoft IIS 5 permite ejecución de código

Kingcope (quien también descubrió el reciente fallo Webdav en IIS) ha publicado (sin previo aviso al fabricante) un exploit funcional que permite a un atacante ejecutar código con permisos de SYSTEM en un servidor IIS 5.x (Internet Information Services) siempre que tenga el FTP habilitado y accesible. En la versión 6.x, el exploit sólo permite provocar una denegación de servicio.

Microsoft engloba dentro del "paquete" IIS, entre otros, al conocido servidor web IIS y un servidor FTP que no se instala por defecto en ningún caso. La versión 5.x de IIS se encuentra sólo en servidores Windows 2000. Windows 2003 venía con IIS 6.x y Windows 2008 con la rama 7.x. Estrictamente hablando, no se trata de un 0 day, puesto que el fallo no ha sido detectado en ataques reales a sistemas. No se tiene constancia de que esté siendo aprovechado para vulnerar servidores.

El problema es grave, puesto que permite a cualquier usuario con permisos de escritura en el FTP ejecutar código en el sistema con los máximos privilegios. Básicamente, si el atacante puede hacer un MKDIR por FTP (crear un directorio), el servidor completo podría quedar comprometido si se trata de un IIS 5.x y provocar que deje de responder si es un IIS 6.x. El fallo reside en un desbordamiento de memoria intermedia en el comando NLST del servidor FTP.

El exploit publicado por Kingcope (muy sencillo de usar) crea un usuario con privilegios de administrador, pero offensive-security.com lo ha mejorado para que enlace una consola a un puerto y poder así acceder más fácilmente al servidor comprometido. No era trivial puesto que por la naturaleza del fallo, el espacio para inyectar el shellcode (código máquina que contiene las instrucciones que el atacante ejecuta gracias a la vulnerabilidad) no es demasiado extenso (unos 500 bytes).

Se recomienda a los administradores de servidores Windows con IIS y el servidor FTP habilitado, que eliminen los permisos de escritura a todos lo usuarios que tengan acceso a él. El problema se agrava si el servidor permite escribir a usuarios anónimos. Ya existe un script de nmap que permite buscar servidores con estas características. Microsoft ha reconocido la vulnerabilidad pero aún no ha publicado ninguna nota oficial al respecto.

fuente: hispasec.com