jueves, octubre 13, 2011

Jugando con RoundCube (3 de 5)

************************************************************************************************
Jugando con RoundCube (1 de 5)
- Jugando con RoundCube (2 de 5)
Jugando con RoundCube (3 de 5)
Jugando con RoundCube (4 de 5)
Jugando con RoundCube (5 de 5)
Autor: Enrique Rando
************************************************************************************************

Episodio 4. Esnifando XSS fantasmas

Digamos que estamos hablando de una compañía llamada Example.Com, que tiene su página web http://www.example.com. Y supongamos, por decir algo, que alguien está realizándoles un test de penetración. FOCA en mano, analiza algunos documentos y encuentra joyas como esta:

Figura 13: Informe realizado con FOCA

Interesante… un usuario “big.boss” ha creado recientemente un documento de Word, seguramente usando Word 2003, en un equipo con Windows XP. Esto de “Windows XP” puede ser muy, pero que muy relevante. Porque Internet Explorer 9 no se instala sobre Windows XP.

Figura 14: Si usas XP… no hay Internet Explorer 9

O sea, que “big.boss” tiene, como mucho, Internet Explorer 8 (quizá use Firefox o Chrome pero siendo un “gran jefe”…). Y aquí es donde entra en juego una de las características de Internet Explorer: el MIME sniffing. Este navegador, a la hora de determinar el tipo de un archivo, no se contenta con examinar su extensión, sino que analiza su contenido. ¿Qué quiere decir esto? Pues, a efectos prácticos, que si tenemos un fichero llamado “texto.txt” con el siguiente contenido:

<html> <body>
Esto es una <b>prueba</b>
</body> </html>
<script language="javascript">
alert("Ejecuta el script");
</script>

Figura 15: Si se abre con Internet Explorer 8 se come el XSS

Internet Explorer ve que lo que tiene el fichero parece más propio de una página web que de un fichero de texto plano y actúa en consecuencia. Esto, como estaréis pensando, no es necesariamente bueno para la seguridad y, de hecho, en Internet Explorer 9 se introducen algunos cambios para evitar que un inocente fichero de texto pueda realizar su particular “escalada de privilegios” y convertirse en un script de forma tan sencilla.

Figura 16: El XSS no se ejecuta en Internet Explorer 9 en este caso

En definitiva, que si el “big.boss” usa IE 8, posiblemente se la pueden jugar. Siguiendo con el análisis de Example.com, del análisis de los registros DNS realizado por FOCA se deduce que la organización tiene un servicio de webmail accesible mediante la URL “htttp://webmail.example.com”. Al visitar dicha URL, el usuario es redirigido a http://webmail.example.com/roundcubemail-0.6-beta/

Figura 17: Webmail de RoundCube

La URL, y la apariencia de la página revelan que se está usando RoundCube. ¿Estará bien configurado?

Figura 18: Pues va a ser que no

Episodio 5. El amigo del jefe

Hace poco que estuve viendo una charla sobre XSS. Creo que era de Raúl Siles (y si no, ruego que me disculpen tanto el ponente como Raúl Siles). El caso es que decía que esto del XSS no está bien vendido. Aparte de proponer un nombre alternativo, más impactante y acorde con la realidad, señalaba que los ejemplos de explotación habituales no suelen ser demasiado afortunados. Por ejemplo:


Figura 19: Tipico XSS

Muéstrale esto a un directivo e imagina qué estará pensando: “¡Oh! ¡Dios mío! ¡Esta gente es capaz de hacer que nuestras páginas muestren un mensaje al usuario! ¡Qué miedo! ¡Qué horror! ¡Qué va a ser de nuestros planes de negocio, de nuestro futuro, cuando la gente lo sepa! ¡Estamos perdidos! ¡Por favor, que alguien lo arregle!”.

O eso, o quizá: “Vaya chorrada que me trae éste… mensajitos”. Pensemos ¿Podría hacer algo con esto un usuario malicioso para fastidiar al jefe? Pues, como veremos, no poca cosa. Supongamos que este usuario se llama “Evil”, que pertenece a la organización y que es un topo, infiltrado por la competencia. Un día comienza a construir un mensaje de correo que contiene un fichero adjunto, “script.htm” con el siguiente contenido:

Figura 20:  Adjunto en  formato HTML 

Figura 21: Correo como adjunto HTML

Por las buenas o por las malas, Evil tiene bajo su control el servidor “evil.example.com” y ha puesto en él un fichero “evil.js” con este regalito:

Figura 22: evil.js

Donde tanto la URL base del webmail como el nombre de la carpeta de la que sacar los mensajes puede variar según la implementación particular de RoundCube. A estas alturas, supongo que ya sabréis en qué estoy pensando.

************************************************************************************************
Jugando con RoundCube (1 de 5)
- Jugando con RoundCube (2 de 5)
Jugando con RoundCube (3 de 5)
Jugando con RoundCube (4 de 5)
Jugando con RoundCube (5 de 5)
************************************************************************************************

Entradas populares