27 jun 2011

Hijacking en Tuenti

 

Hace poco se publicó en el blog de mi amigo (and boss) Chema un artículo sobre vulnerabilidades en Tuenti. La verdad que la serie está siendo muy interesante y os recomiendo seguidla. Mucha gente se pregunta ¿por qué esta inseguridad en tuenti?¿por qué si se conocen no se solucionan? bueno cada uno puede tener su perspectiva, pero entra en juego el rasante de la doble moral. Por un lado, hay quien piensa si esto es una red de entretenimiento social no hace falta grandes medidas de seguridad, total, es un juego. Realmente tuenti no es un simple chat dónde la gente intenta ligar y todas las tías son tios... por lo que debería tener un poco más de seguridad, y sobretodo tomarse un poco más en serio los pequeños fallos, que se convierten en grandes, cuando simplemente capturando una cookie solo necesitas saber el valor del parámetro SID. No descartamos que se pueda adivinar como se genera ese valor, pero por el momento lo desconocemos.

¿En qué consiste este ataque?

Esto es realmente sencillo, como bien se comentó en el lado del mal Tuenti solo valora el valor del parámetro SID de la cookie de sesión. Incluso hay un parámetro que se denomina token sign que no sirve, o aparentemente, para su propósito o para lo que cualquier persona pensaría que podría servir. Resumiendo, ¿me estás diciendo que si yo capturo una cookie de tuenti, ya sea mediante un MITM o un XSS u otros métodos puedo suplantar la identidad de un usuario de esta red social simplemente creándome una cookie con nombre SID en el navegador? La respuesta es si.

Vamos a ver una prueba, imaginaros que yo estoy en una red grande y en la que muchos jóvenes, que son los usuarios típicos de tuenti, están conectados. Vamos a tomar como ejemplo una Universidad. Ahora vamos a poner como ejemplo que esa Universidad tiene una red Wifi para que sus alumnos puedan conectarse por todo el campus, bueno entonces muchos alumnos podrán conectarse, ¿no? Cuantos más usuarios más posibilidades de que muchos de ellos estén en tuenti, el futuro del país, jóvenes que buscan conocer gente, y enseñar al mundo sus fotos de las noches del finde en la que acaban contando baldosas de vuelta a casa... si ¡así somos los jóvenes! bromas aparte sigamos...

Podemos capturar el tráfico aleatoriamente, es decir, hago un mitm, si la red es switcheada, y con Wireshark capturo la cookie, ¡bingo! En el filtro de Wireshark por ejemplo escribo 'http contains "tuenti"' o 'http contains "Cookie" && http contains "tuenti"' y de este modo solo se mostrarán los paquetes que contienen una cookie de tuenti.

A continuación podéis ver un ejemplo:

[caption id="" align="aligncenter" width="493" caption="Captura cookie tuenti con Wireshark"][/caption]

Una vez que se puede observar el campo cookie en el protocolo HTTP simplemente botón derecho sobre el campo cookie y copiar valor. Pegarlo en un notepad y fijaros en el parámetro SID, es el parámetro más importante.

Ahora simplemente copiaros ese parámetro en un navegador mediante un complemento para gestión de cookies. En las pruebas se han utilizado 'Cookie Editor' 'Cookies Manager', cuidado con el 'Cookie Manager' ya que no permitía poner que la caducidad de la cookie sería sin fecha, es decir, por cierre de sesión y si lo realizas con ese complemento observarás que la sesión robada de tuenti se reinicia cada vez que carga (este problema se veía también si utilizas Firesheep). Para un correcto funcionamiento utilizad los complementos mencionados anteriormente.

A continuación imagen de como se crea la cookie con un complemento de gestión de cookies en un navegador. Lo más importante a recordar... Nombre cookie: SID. Contenido: <valor del parámetro SID, lo tendremos copiado en el notepad>. Host: .tuenti.com Path: /

Fijaros bien en el punto delante de la palabra tuenti.com.

 

Creación de la cookie SID

Una vez creada en el navegador todo es tan sencillo como ir a la web www.tuenti.com y ¡ouch! ¿Dónde está la pantalla de login? estamos dentro de la sesión robada. Claro si la otra persona le da a cerrar sesión, la sesión se cerrará o si nosotros pinchamos en cerrar sesión le cerraremos la sesión a la víctima. Recordad que esto no siempre ocurre, sólo tenemos que recordar casos como los de twitter o Windows Live.

A continuación imagen de lo que nos encontramos al ir a la URL de tuenti.

 

[caption id="" align="aligncenter" width="561" caption="No hay pantalla de login, ouch!"][/caption]

En definitiva, un fallo el cual hipotéticamente y posiblemente ellos pensarán que es mediocre o un fallo leve, pero que los usuarios de tuenti juzguen si este pequeño fallo es pequeño o un agujero muy explotable.

11 comentarios:

  1. Démonos cuenta por un momento de lo grave que es la situación, pongamos por ejemplo la red de un centro comercial, biblioteca, wifi abierta en un parque, colegio, etc. y un@s chiquill@s conectad@s al tuenti que comparten "demasiada" información en esta red social. Un usuario con intenciones maliciosas, como por ej. un pedófilo, podría suplantar la sesión de uno de estos jóvenes y empezar a actuar en Tuenti como si fuera él, y mediante ingeniería social hablar con los amigos de la víctima para obtener fotos o más información, además de la información que podría obtener de la víctima con tan solo acceder al panel de administrador de su cuenta.Espero que las redes sociales en general se pongan las pilas, sobretodo en los casos en los que sus clientes son jóvenes menores de edad.

    ResponderEliminar
  2. La verdad que en ese aspecto, y en muchos otros es demasiado peligroso, pero por el momento no es lo que mas les importará ($€...)

    ResponderEliminar
  3. [...] pocos días se publicó lo fácil, y realmente lo es y mucho, que es hacer una suplantación de identidad en Tuenti, la red social española. Por norma general, en redes sociales, sitios de compra (dealextreme, [...]

    ResponderEliminar
  4. [...] Un poco de caña a las medidas de (in)seguridad de Tuenti. ¿Lograremos concienciar sobre los problemas que generan al público relativos a la privacidad de los datos compartidos en las redes sociales? Hijacking en Tuenti [...]

    ResponderEliminar
  5. Es increible pero cierto, si xD. A final de curso hice una demostracion en clase de esto, mitm, etc, jugando con sniffers, y el mismo profesor se sorprendió y dijo algo parecido a lo que tú has dicho Juan Antonio. Nose como una red social de tal nivel puede permitir estas cosas.... Eso si, estrés laboral no tendrán:"Disfrutar de las ventajas de nuestra oficina: Una sala de juegos donde relajarse, un frigorífico repleto de comida y una máquina de café que nunca se estropea."Jáun saludo!

    ResponderEliminar
  6. [...] turno de twitter. Hoy en día es muy sencillo suplantar la identidad en cuentas de tuenti o Facebook, pero ¿qué ocurre con twitter? Pues como se va a ver en esta PoC es igual de [...]

    ResponderEliminar
  7. [...] Ayuda a proteger siempre conectándose por HTTPS, pero claro si el servidor no da servicio por HTTPS no obra el milagro, por lo que sólo si se puede acceder por HTTPS se accederá si no… NO! Lo que parece que ForceTLS logra parcialmente, o al menos lo intenta… pero viendo la información que proporciona el navegador, no parece que haya una conexión segura, aunque intentemos conseguirla… podréis utilizar ForceTLS correctamente con facebook por ejemplo… tuenti tampoco aporta el HTTPS en su sesión una vez logueado. [...]

    ResponderEliminar
  8. Esto ya no sirve (gracias a Dios). Solo con la sid ya no te deja entrar en la cuenta (lo he probado con mi cuenta). Además, aparece un parámetro en la cookie llamado cu cuyo servidor es www.tuenti.com al contrario que sid que es .tuenti.com. Además, han añadido un codigo que solo aparece en cifrado, llamado SignatureToken. Es un código de 8 dígitos aleatorios.

    ResponderEliminar
  9. Esto sigue funcionando hoy en día, sorry @klego. Pero simplemente con el SID y el dominio .tuenti.com es válido.Testeado a 14/1/2013SaludoS!

    ResponderEliminar
  10. Puestos hacer un mitm sería tan fácil como capturar la password, creo que la versión móvil de tuenti va por http y no por https.Aún así parece que el fallo es grave...Habéis probado a usar burpsuite, metasploit o alguna herramienta así para modificar los parámetros? jeje sólo es una idea xD Saludos!!

    ResponderEliminar