Mucho ya os he hablado del bug de IIS Shortname que permite hacer un ataque de booleanización para listar los nombres en formato 8:3 en un servidor Windows con IIS. Hemos visto que este bug está en sitios como windows.microsoft.com y recientemente en un dominio de Apple, además de ver que en muchos sitios aún se puede explotar por medio del método Options. Hoy aún así, quiero contaros un caso que tenemos implementado en el entorno de demo que utilizamos para pasar los test de QA de nuestra plataforma de pentesting persistente Faast.
![]() |
Figura 1: Acceder a archivos con nombres en formato 8:3 en servidores Apache sobre Windows |
Ejemplo de acceso a archivos 8:3 en Apache sobre Windows
En ese entorno, uno de los servidores es un Apache corriendo sobre un servidor Microsoft Windows. Entre la lista de archivos que hay existen dos ficheros con nombres largos y que comienzan por la cadena password, pero que tienen diferentes extensiones, tal y como se puede ver en la imagen siguiente.
![]() |
Figura 2: Lista de archivos disponibles en el servidor Apache sobre Windows |
El comportamiento de Apache cuando se solicita un fichero en formato 8:3 es totalmente correcto, y como se puede ver, si pedimos passwo~1.txt el servidor web nos devuelve el contenido del fichero de nombre largo asociado a él.
![]() |
Figura 3: Con el nombre corto se accede al fichero de nombre largo asociado |
El comportamiento es similar si pedimos la misma cadena, pero cambiamos la extensión TXT por ZIP. En este caso llegamos a la descarga del fichero asociado a ese nombre acortado.
![]() |
Figura 4: Con el nombre acortado se consigue la descarga del fichero de nombre largo |
Es decir, los nombres cortos en formato 8:3 son totalmente funcionales en los servidores Apache sobre sistemas Microsoft Windows.
Mismo bug, dos explotaciones distintas
La explotación de esta característica en servidores Apache sobre Windows no es igual que la de IIS sobre servidores Windows, ya que mientras que en este último se puede hacer un ataque de booleanización para ir descubriendo carácter a carácter el nombre del fichero, en el caso de Apache no es posible.
Por otro lado, cuando en IIS se consigue el nombre en formato 8:3 no se puede obtener el fichero completo asociado a ese nombre acortado, mientras que en Apache, si se hace una ataque de diccionario con nombres de 6 caracteres y extensiones, sí que sería posible acceder al archivo asociado.
Saludos Malignos!