DoS persistente en Internet Explorer 8

31 03 2008

Anteriormente ya habíamos visto un par de fallos de Internet Explorer 8, pero solo relacionados con el respeto a los estándares web (Véase: IE 8 «respeta» los estándares). Pero hoy, veremos un fallo de seguridad, enlazado con los ataques de denegación del servicio.

Logo IE

Internet Explorer 8 es vulnerable al to prototype hijacking en el XDR Object. El XDomain Request object es una nueva característica de Internet Explorer 8, que permite las llamadas de XML entre dominios. Por defecto, la opción, permite cruzar llamadas entre dominios cuando ambas partes están de acuerdo en la petición, esto implica que el XDomainRequestAllowed se adjunta a la respuesta del header del host en cuestión, al que se hace la solicitud. Dado que se trata de un objeto muy peligros, Ronald van den Heetkamp fue a estudiar esta nueva función con el fin de examinar los aspectos de seguridad un poco más. No tardó mucho tiempo en encontrar un grave problema en relación con el prototype hijacking en el objeto XDomainRequest, que conduce a un Ataque de Denegación de Servicio que solo puede recuperarse con un reinicio completo del sistema. La razón por la cual es vulnerable se debe a la característica de Internet Explorer, que trata de volver a crear una sesión de la ventana cuando se bloquea una ventana. Esto sucede automáticamente, sin las interferencias del usuario, y por tanto las denegaciones del servicio pueden ser persistentes.

El problema :

Se trata de un ataque muy similar al descrito en 2006 por Stefano Di Paola y Giorgio Fedon sobre XMLHttpRequest. Desde entonces el creo un envoltorio que ejemplifica un nuevo objeto XDR cada vez que la variable ‘xdr’ es llamada. Evidentemente Internet Explorer se ahoga en ella, bloquea la ventana en la que estamos trabajando y luego la intenta volver abrir (Ver imagen 1)

Imagen 1 :

XDR 1

Como observamos en la figura 2, tratamos de finalizar explore.exe en el administrador de tareas de windows, aparecen los resultados de un nuevo navegador que se lanzó al tratar de lanzar una nueva ventana, después de finalizar Internet Explorer, se inicia un nuevo navegador y se cuelga de nuevo, y así sucesivamente .

Imagen 2 :

XDR 2

Se comporta casi como un troyano, no podemos matar el proceso 😦

El vector de ataque :

<script>

// trying prototype hijacking here. 

xdr = XDomainRequest;xdr = function() {

return new XDomainRequest();

}

ping = 'hello';

xdr = new XDomainRequest();

xdr.open("POST", "http://cnn.com");

xdr.send(ping);

</script>

Crash data :

AppName: iexplore.exe	 AppVer: 8.0.6001.17184	 ModName: ieframe.dll

ModVer: 8.0.6001.17184	 Offset: 0003f8cb

Conclusión

Se necesita más investigación sobre el objeto XDR para comprender perfectamente el riesgo de que esta nueva función. Dado el ataque y se realizó con el PoC en Browserfry

Referencias & Links de interés:

Vía : 0x000000 # The Hacker Webzine

Traducción: Edgar H.S. Group


Acciones

Information

2 responses

31 03 2008
Ander

Buenas.

Muy interesante el artículo 😉

salu2

4 04 2008
Daniel

Jajajaja que curioso xd.. 🙂

Replica a Daniel Cancelar la respuesta