General

Privacidad en Kik Messenger

Hace unos días escribí un artículo sobre la seguridad en WhatsApp y en Twitter me preguntaban si había revisado kik. La verdad, cuando empecé a usar mi teléfono actual no había WhatsApp para esa plataforma por lo que usé kik un tiempo, pero ya que tengo que comunicarme principalmente con equipos BlackBerry, donde kik estaba vetado (y está, si entiendo correctamente) me enfoqué más en WhatsApp.

Pero hay algunas cosas interesantes de Kik. Si bien resulta obvio que Kik utiliza el protocolo XMPP sin bluffs (usar el puerto 443 para una conexión sin cifrar, como WhatsApp) y que, de lo que vi, tanto la autenticación como los mensajes están codificados, los profile pics sí que van por texto plano, y aunque a primera vista pareciera que es un paso más complicado de explotar (robar esas pics, para el propósito que se te ocurra) que en el caso de los MMS de WhatsApp, todo son ilusiones.

Kik utiliza Amazon para almacenar las profile pics. Así, profilepics.cf.kik.com (y sin el cf también) sirve contenidos desde Cloudfront, y el cliente en el teléfono hace requests sobre HTTP en claro del tipo:

GET /Ae2hXKz2BVt8H0DDISLSezIVWcM/thumb.jpg?ts=1326761235015 HTTP/1.1Accept: */*Referer: [URI que se forma probablemente con el UUID del teléfono]Accept-Encoding: identityUser-Agent: NativeHostHost: profilepics.cf.kik.comConnection: Keep-Alive

Un ejemplo:

Media_httpprofilepics_ptawm

En realidad no necesitas todos esos headers, ni el argumento de timestamp que pasa por GET (probablemente usado para optimizar el caché en la infraestructura de Amazon) ni el Referer, que podría eventualmente ser considerado como información que te identifica individualmente, basta con wget o tu browser (aunque tu browser también puede que delate más de lo que quieras) para stockearte de profile pics. Por supuesto, si usas Wireshark, puedes exportar directamente los bytes desde tu captura, si también estás viendo las respuestas y no solo los requests.

¿Pasa lo mismo con las imágenes que mandas a tus contactos? No. Aquí mi sospecha: si bien veo que el teléfono contacta a platform.kik.com cuando mando una imagen, es probable que la POSTee ahí y luego pase el link cifrado como un mensaje XMPP normal. Cuando recibo una imagen, hay una consulta DNS para resolver kikplatform.s3.amazonaws.com y luego, viene tráfico HTTPS.

Intenté, en vano, hacer SSL MITM para poder ver la URI a la que accede, pero pareciera que Kik no es vulnerable, al menos con mi certificado de prueba. ssldump muestra esto, consistentemente:

67 6  0.0170 (0.0000)  C>S  ChangeCipherSpec67 7  0.0170 (0.0000)  C>S  Handshake67 8  0.0193 (0.0022)  S>C  ChangeCipherSpec67 9  0.0193 (0.0000)  S>C  Handshake67    0.0272 (0.0079)  C>S  TCP FIN67    0.0275 (0.0003)  S>C  TCP FIN

Lo interesante es que mientras persiste el ataque, la foto que venía dentro del mensaje no descarga y solo se muestra el thumbnail, que seguramente se pasó por Base64 en un mensaje XMPP, igual que WhatsApp.

A pesar de que, en mi opinión personal, Kik tiene un concepto mucho más completo que WhatsApp, incluyendo una API para integrar aplicaciones y que tiene algunos aspectos de privacidad a mejorar aunque parece tener trade-offs más justos que WhatsApp, igual recomendaría no usarlo en redes Wi-Fi públicas o, al menos, hostiles.

Standard

One thought on “Privacidad en Kik Messenger

  1. Pingback: Privacidad e idiosincrasia | null pointer dereference

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s