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.