05 noviembre 2013

Análisis forense preliminar de Snapchat

Mucho se ha hablado en este blog sobre las aplicaciones de mensajería para los smartphones y de los fallos de seguridad de las mismas.

No hace mucho tiempo leí este artículo sobre la aplicación de la que os voy a hablar a continuación, esta aplicación y cuyo nombre está en el título del Post es SNAPCHAT.

Podría deciros que SNAPCHAT no es más que otra aplicación de mensajería instantánea, pero no es así, el gancho que tiene dicha aplicación es que permite a los usuarios enviar imágenes, videos cortos o mensajes a través de sus smartphones. El remitente elige el tiempo que desea que su mensaje sea visible para la otra persona, con un mínimo de 10 segundos. Y después es eliminada del mensaje, vamos que desaparece. Pero...¿Desaparece totalmente?

Bien, pues ya os hacéis una idea de lo que hace la aplicación, no obstante en el artículo que menciono en los párrafos superiores, su uso entre adolescentes es para casos de sexting, así que como disponía de algo de tiempo libre me dispuse a instalarla en mi smartphone y ver si realmente cumplía su objetivo, pero eso sí, iba a ir un poco más allá en mi investigación.

Tras una primera prueba he de decir que realmente la aplicación cumple su objetivo, recibes una foto (es la prueba que hice) y al tiempo estipulado por el remitente de la misma ésta se borra.

Pues bien, aquí es donde entra mi curiosidad, y me acordé del principio de transferencia de Locard, que viene a decir en resumen "cada contacto deja un rastro", así que me puse manos a la obra.

He decir que la "mini" investigación está realizada sobre un terminal Android rooteado.

En primer lugar fué localizar la aplicación en el terminal, por regla general las aplicaciones que se instalan en terminales Android se almacenan en el directorio data o datadata (según versión).


Ya tenía localizada el directorio de la aplicación, así que para ver los datos que contenía de forma más cómoda me la descargué a un directorio de mi equipo:


Como podéis observar, he desplegado todo el contenido de los directorios para que os hagáis una idea de lo que contiene.


Mi primera intención, y en la consola antes de descargarla a mi equipo, fué dirigirme al directorio Files a ver si hay se almacenaba una copia de la imagen recibida, pero...Mi gozo en un pozo.

Mi siguiente paso fué abrir una de las bases de datos, las de google anaytics no me interesaban, así que abrí tcspahn.db. Tras indagar en la base de datos, la cual como podréis ver en la siguiente imagen, tiene unas cuantas tablas, personalmente me llamaron la atención las tablas "StoryImageFiles" y "StoryImageThumbnailFiles", pues dicho y hecho a por ellas :)

La primera tabla "StoryImageFiles" no contiene datos, al menos en mis pruebas, ya que son eliminados de la misma, pero la siguiente "StoryImageThumbnailsFiles" si como podéis ver:


No hay que ser un hacha, nos está diciendo en qué directorio hay almacenada una miniatura de la imagen, pues ya tenemos la evidencia :) (Volved a mirar la captura de los directorios), y he aquí la imagen que me remití en mis pruebas, las zapatillas de mi niña :) :


Comentar, que la miniatura se guarda con la extensión jpg.no-media así que hay que eliminar el no-media para que sea legible su visualización.

Mi investigación no quedo ahí, me propuse indagar algo más, el resto de tablas que componen la BBDD podemos encontrar información de números de teléfonos añadidos a la aplicación, quién te ha mandado un mensaje, a quién se lo has mandado, campos TIMESTAMP etc... y además, podríamos obtener información EXIF de la imagen recuperada. Además, en los ficheros XML, se puede ver la información de la cuenta de correo que se ha utilizado para crear la cuenta, aunque el resto de datos esté cifrada.

No he realizado pruebas con los videos ni ninguna otra, así que animo a otros investigadores a realizar sus propias pruebas, y quien sabe, quizás algun investigador con más conocimientos es capaz de obtener más datos.

Jesús Angosto (@jdangosto)

9 comments :

Miquel. F. dijo...

¡Me he quedado a cuadros!
"un poco más haya en mi investigación." 'haya': verbo haber; no el adverbio de lugar 'allá'.
0_0'

Jesus Angosto dijo...

Vale! Un despiste lo tiene cualquiera, no? Estaba más centrado en la redacción que otra cosa, pero lo importante es el contenido, no?
Gracias por el apunte :D

Adrián dijo...

Una razón más para limpiar la caché de las aplicaciones regularmente :)

Nico dijo...

Claro, pero la idea de esta aplicación es que se borre en el telefono "remoto", o sea en el teléfono del que recibe la foto. Por lo que limpiar la caché no es una posibilidad.

Alex dijo...

Yo llevo un tiempo usando threema, echadle un vistazo. Estaría bien si alguno de vosotros escribiera un artículo evaluando la calidad en cuanto a seguridad de esta aplicación. La escuché por primera vez en el programa Security Now, y le dieron el visto bueno.

Threema usa el sistema de claves pública y privada para enviar y recibir los mensajes.

Un saludo.

exactlimon dijo...

Jesus, excelente artículo.

veo un potencial riesgo en la aplicación de android, ya que es más facil rootear un android que hacerle jailbreak a un iphone.

está muy buena esta información ya que nos puede permitir crear un script/app que recupere las fotos (thumb)

Jesus Angosto dijo...

Le echaré un vistazo :)

Jesus Angosto dijo...

Gracias!
Todo sería probarlo en iPhone, no te puedo decir no dispongo de uno.

Está bien pensado lo del script

jorge dijo...

quisiera saber con mayor detalle como encontrar el correo vinculado a la cuenta, o si ocupo un programa especial para analizar la aplicacion