martes, 25 de enero de 2000

Grave vulnerabilidad en servidores NT con IIS 4

Los servidores Web de Microsoft se ven afectados por una
vulnerabilidad que puede permitir a un atacante obtener acceso a
otros archivos fuera del directorio web, como bases de datos de
clientes, logs, código asp, o cualquier archivo del que se
conozca la ruta.
Internet Information Server 4.0 incluye la aplicación webhits.dll
que proporciona a Index Server funcionalidad "hit-highlighting"
(para resaltar términos en una búsqueda). Webhits.dll produce sus
resultados a través de archivos con extensión .htw. Precisamente
es en esta aplicación (webhits.dll) donde reside la
vulnerabilidad que puede permitir a un usuario malicioso saltar
el sistema de archivos virual del web y ganar acceso no
autorizado a otros archivos de la misma unidad de disco lógica.

Es decir el atacante tan sólo podrá conseguir acceso sobre
determinados archivos de la misma unidad en la que se encuentre
el directorio Web. La misma vulnerabilidad puede usarse para
obtener el código de cualquier página asp o script de ejecución
en el servidor, las cuales pueden contener identificadores de
usuario, passwords o cualquier otra información sensible.

Según el aviso, incluso si no se tienen páginas htw en el sistema
se puede seguir vulnerable. La mejor forma para averiguarlo es
introducir la siguiente url en un navegador
http://direccion_del_servidor/paginainexistente.htw. Si se recibe
el mensaje "The format of QUERY_STRING is invalid." el sistema es
vulnerable. Microsoft ha actuado de forma rápida y a las pocas
horas de la difusión de la vulnerabilidad en la lista Bugtraq
publicó un parche que corrige el problema.

La vulnerabilidad puede ser explotada de dos formas. En primer
lugar si el sistema tiene archivos .htw, la funcionalidad
"hit-highlighting" de Index Server permite que cuando un usuario
realiza una búsqueda, el documento de respuesta tenga los
términos de la búsqueda resaltados.

El nombre del documento se pasa al archivo .htw mediante el
argumento CiWebHitsFile. webhits.dll, es la aplicación ISAPI que
trata con la petición, abre el archivo y resalta las palabras
consecuentemente y devuelve la página resultante. Como el usuario
tiene control sobre el argumento CiWebHitsFile puede solicitar
cualquier cosa que desee. Un problema secundario a esto es que se
puede llegar a visualizar el código de las páginas asp y de
cualquier otro lenguaje script. El problema radica en que
webhits.dll interpreta los ../ por lo que un atacante puede
conseguir acceso a archivos externos al directorio web.

Por ejemplo para ver los logs de acceso a un servidor en un día
el atacante puede construir la siguiente url:

http://servidor_vulnerable/iissamples/issamples/oop/qfullhit.htw?
CiWebHitsFile=/../../winnt/system32/logfiles/w3svc1/in000102.log&
CiRestriction=none&CiHiliteType=Full

Si no se tienen archivos .htw el problema reside en que
webhits.dll llama a un archivo inexistente en el sistema y por
tanto da un error, pero esto también puede saltarse si se hace
que sea getinfo.exe quien llame a webhits.dll y se construye una
url especial. Primero se necesita un recurso válido. Este puede
ser un archivo estático como un .htm, .html, .gif o .jpg que
será el que abra webhits.dll como plantilla.

http://servidor_vulnerable/default.htm.htw?CiWebHitsFile=/../../w
innt/system32/logfiles/w3svc1/ex000121.log&CiRestriction=none&CiH
iliteType=Full

Obviamente esta url producirá un error, ya que no existe dicho
archivo en el sistema. En esta petición hemos llamado a webhits,
sin embargo situando un número específico de espacios (%20s)
entre el recurso existente y el .htw es posible "engañar" al
servidor web. El baffer que mantiene el nombre del archivo htw a
abrir se trunca, lo que hace que la parte .htw sea eliminada y
entonces cuando llega a webhits.dll presenta los contenidos del
archivo sin necesidad de tener un archivo htw real en el sistema.

Microsoft ya dispone de un parche para solucionar este problema.
Debido a la gravedad de la vulnerabilidad recomendamos a todos
los administradores de Windows NT con IIS 4 instalen dichos
parches en sus sistemas.

Más información:
Bugtraq
Boletin de seguridad Microsoft
Preguntas y respuestas de Microsoft sobre la vulnerabilidad
Parches
Index Server 2.0
Intel
Alpha
Indexing Services for Windows 2000
Intel



Antonio Ropero
antonior@hispasec.com