SAFE. Guía para proteger tu vida digital y tu privacidad

2 oct 2010

IIS6/ASP, file upload por "diversión" (con PoC)

Hoy vamos a hablar sobre un comportamiento de IIS6 no conocido que considero interesante y puede ser útil a la hora de realizar auditorías de seguridad. Se trata de un artículo sobre cómo funciona IIS6 a la hora de trabajar junto con aplicaciones de terceros que realicen operaciones sobre el sistema de ficheros (creación de directorios, upload de ficheros) tales como gestores de ficheros en web.

Descripción
Tratando de saltar la seguridad en el componente de upload de ficheros de una aplicación ASP corriendo bajo IIS 6, me dí cuenta que IIS sólo usa la parte de la URL antes de una ‘/’ o ‘\’ para determinar si un fichero será ejecutado como un Active Server Page por la librería ASP.dll. En concreto, IIS no parsea correctamente los nombres de los directorios cuando estos tienen extensiones ejecutables como 1) .asp, 2) .asa y 3) .cer. La extensión .aspx parece ser que no está afectada devolviendo un error 404, aun cuando el fichero existe en dicho path.

Cuando se parsea una URL tal como ‘maliciousfolder.asp/code.pdf’, se ejecuta una rutina que comprueba si ese fichero debe ser ejecutado por  la ASP.dll. El carácter ‘/’ (o ‘\’) rompe la cadena e IIS determina que ese fichero debe ser ejecutado como un script ASP, pero a la hora de ejecutarlo, una rutina distinta lee el fichero correcto: ‘maliciousfolder.asp/code.pdf’ y ejecuta el código contenido en él, por lo que un atacante remoto podría ejecutar código ASP en el servidor web desde un fichero pdf o cualquier otro tipo de archivo considerado “seguro” para las aplicaciones de upload de ficheros.


Además, es posible combinar este ataque con el bug CVE-2009-4444, permitiendo a atacantes remotos crear un directorio con una extensión ejecutable seguido de un carácter ‘;’ y a continuación una extensión considerada segura o cualquier otro sufijo, como se demuestra del uso de ASP.dll para manejar cadenas del tipo “.asp;.jpg”.

Contenido completo en 48bits



Suscríbete a nuestro Boletín

0 Comments:

Publicar un comentario

Gracias por dejar un comentario en Segu-Info.

Gracias por comentar!