viernes, 3 de abril de 2009

XSS a través de OpenOffice

Saludos a todos!

Como es habitual, antes de empezar con la parte técnica, os voy a contar un poco de mi vida... Bien, esta noche voy a volver a las desérticas tierras de Almería para poder disfrutar de estas vacaciones... en esta semana que viene, continuaré con la parte de Metadatos que se borró (archivos .XLS), ya que en este ordenador no poseo MS Office para poder poner imágenes molonas y todos esos rollos, por lo que a esperar os toca :P (la culpa la tiene Lix por decirme que me ponga Fedora 10 XD). Por otra parte, algo interesante es que probablemente se nos una un compañero más en este patiburrillo que tengo por blog... así que ya podríamos decir que vamos a ser algo parecido a un blog serio.

Y hasta aquí el avance de noticias, ahora viene la parte técnica

==========================

Leyendo por el blog del Doctor Maligno me fijé en esto de colgar los PowerPoints de las presentaciones en una web para no tener que descargarlo y poder visualizarlo. Me pareció una cosa bastante curiosa la verdad, y como todo buen curioso me dispuse a leer un poco de cómo funcionaba este sistema.

La verdad es que ví varias variantes utilizando scripts en PHP, entre los cuales destacaban la conversión de los archivos en .pdf y en .html. Y es al leer sobre este último tipo de conversión donde se me planteó una pequeña idea que me atrajo bastante la verdad... y consiste en introducir código malicioso en el documento para que el .html generado tuviera un link que apuntase a una sentencia JavaScript...

Entonces me puse mano a la obra, abrí OpenOffice inserté un link con una pequeña sentencia javascript a modo de prueba de concepto:



Despues lo guardé primero como .doc y despues lo pasé a .html. Resultado: al cliclar sobre el link se me ejecutaba el alert. Bien... esto en la teoría debería de funcionar de 10... El caso es que quise probar "in situ" si mi teoría se cumpliría... y me fui hacia scribd.com, web bastante conocida y usada para subir cosas. Así que me encaminé a subir mi prueba de concepto haber que pasaba, aquí teneis el resultado: Prueba de Concepto , si dejais el ratón sobre link, observareis que no indica hacia donde apunta, por lo que no se puede predecir la hacia donde donde apunta el link a simple vista. Si clickais, podreis comprobar en vuestras propias carnes cómo se ejecuta un alert que contiene vuestra galletita :D.


Si bien, en el caso la aplicación está en Flash... el resultado era el esperado. Podemos decir que la vulnerabilidad de esta aplicación web reside en dos puntos importantes: falta de filtro, y ocultación de información.

En el primer caso, de existir algún tipo de filtrado para evitar la ejecución de código javascript, podríamos evitar perfectamente que un usuario al querer seguir el link caiga en nuestras redes. Por otra parte, el hecho de que no se muestre el target del link, hace que también podamos usarlo con otros menesteres, como por ejemplo algún tipo de phising.

En fin... que revisando información de esta clase de vulnerabilidad, llegué hasta un paper de Aditya K Sood (de SecNiche.org) donde ya hablaba de la utilización de aplicaciones word como vector de ejecución de código javascript y también sobre la inclusión de frames para realizar CSRF. Aquís os dejo el paper:

http://www.secniche.org/papers/SNS_09_01_Evad_Xss_Filter_Msword.pdf




5 0verl0ad Labs: XSS a través de OpenOffice Saludos a todos! Como es habitual, antes de empezar con la parte técnica, os voy a contar un poco de mi vida... Bien, esta noche voy a volv...
< >