Como explicamos en el boletín anterior, esta vulnerabilidad permite
a un sitio web leer ficheros locales de los usuarios que visitan sus
páginas con Internet Explorer 5. En esta entrega conoceremos, a
través de su código, como Georgi Guninski burla las restricciones de
seguridad impuestas por Microsoft y demuestra la vulnerabilidad.
—
function doit(s)
{
alert («Here is your file:\n»+s);
}
<A ID="oD" STYLE="behavior:url(#default#download)"
HREF=»javascript:oD.startDownload(‘http://www.nat.bg/~joro/reject.cgi?autoexec’,
doit)»>Click here to read C:\AUTOEXEC.BAT
—
En primer lugar nos encontramos con la función «doit», la parte
de código situado entre las etiquetas «SCRIPT», cuya misión es
mostrar en una ventana el contenido que se le pasa como parametro.
En el código de Georgi será la encargada de visualizar el
contenido del fichero AUTOEXEC.BAT que sirve como demostración de
la vulnerabilidad.
A continuación nos encontramos con un enlace donde se declara el
uso del «download behavior» a través de la técnica denominada
«estilo en línea», utilizada en la definición de hojas de estilo
en cascada para una determinada etiqueta. La referencia de este
enlace hace uso del método javascript «startDownload» importado
gracias a la declaración anterior. A este método hay que pasar dos
parametros, el fichero que hay que descargar y una función a la que
llama y pasa el contenido una vez se ha terminado el proceso de
descarga.
Como podemos ver en el código, Georgi pasa como primer parametro
una dirección que apunta a un CGI en su servidor, con lo que cumple
las reglas impuestas por Microsoft ya que el «fichero» pertenece al
mismo servidor del que proviene la página. Una vez pasada esta
verificación, el proceso se pone en marcha, llama al CGI, y este a
su vez redirige la peticción HTTP al fichero AUTOEXEC.BAT del
sistema del usuario. Por último, una vez se ha producido la
descarga, llama a la función «doit» que como ya indicamos se limita
a mostrar el contenido. La vulnerabilidad queda demostrada.
Aquellos usuarios de Internet Explorer 5 que quieran probarla tan
sólo han de vistar la web de Georgi Guninski en
http://www.nat.bg/~joro/download2.html y pinchar en el enlace
«Click here to read C:\AUTOEXEC.BAT» situado al final de la página.
El resultado será una ventana de alerta con el contenido del
fichero AUTOEXEC.BAT situado en el raiz de su unidad C:.
Microsoft hace hincapié en que esta vulnerabilidad no permite la
creación o modificación de ficheros de forma remota, tan solo la
lectura de ficheros de los que se debe conocer tanto el nombre como
la ubicación exacta por parte del atacante. Si bien es cierto, este
hecho no minimiza la gravedad del problema, debemos de recordar que
hay muchos ficheros nombrados y ubicados por defecto que contienen
información muy sensible que facilitaría ataques de mayor
importancia.
Como ejemplo, en los sistemas Windows NT se podría utilizar esta
vulnerabilidad para acceder al fichero «c:\winnt\repair\sam._»,
copia del administrador de cuentas de seguridad (SAM) que almacena
la información sobre los usuarios y sus contraseñas. Aunque el
fichero utiliza un sistema de cifrado, existen utilidades para
lograr averiguar las contraseñas en un escaso margen de tiempo,
con lo que podríamos conseguir derechos de Administador y, por
tanto, el control total del sistema.
Más información:
Microsoft – Boletín (MS99-040)
Microsoft – FAQ (MS99-040)
Demostración por Georgi Guninski
SecurityFocus
Deja una respuesta