Introducción Al Análisis Forense De Whatsapp

A la hora de abordar un análisis forense de un dispositivo móvil, es fundamental tener acceso a las bases de datos de todas las aplicaciones de mensajería que se hallan en el mismo, tanto en la SD como en la memoria interna del dispositivo.

A día de hoy, la palma se la llevan Whatsapp y Telegram y mientras éste último será objeto de estudio de otro post, hoy nos centraremos en cómo extraer toda la información relevante del primero.

NOTA: El escenario de pruebas ha sido por un lado, un laptop con Windows 10 y por otro, un smartphone con Android 4.4 sin rootear y Whatsapp 2.16.225 (la última a fecha de creación de esta entrada). En principio, los datos aquí referidos serían extensibles a otros sistemas operativos tanto de PC como de móvil, siempre que la versión de Android sea igual o posterior a la 4.0.

Paso 1: Identificar los artefactos forenses

Por artefactos entenderemos aquellos ficheros que serán relevantes en nuestra investigación. En la siguiente tabla identifico los más comunes, dónde se encuentran y cuál es el nombre que tienen en el sistema de ficheros:
Tabla 1: Relación de artefactos forenses

Tabla 1: Relación de artefactos forenses
BD contactos /data/data/com.whatsapp/databases wa.db (SQLite v.3)
BD chats /data/data/com.whatsapp/databases msgstore.db (SQLite v.3)
backups de la BD de chats /mnt/sdcard/Whatsapp/Databases msgstore.db.crypt /msgstore-<fecha>.crypt
avatares de contactos /data/data/com.whatsapp/files/Avatars UID.j, donde UID es el identificador del contacto
backups de los avatares de los contactos /mnt/sdcard/WhatsApp/ProfilePictures UID.j, donde UID es el identificador del contacto
ficheros de log /data/data/com.whatsapp/files/Logs whatsapp.log,whatsapp-<fecha>.log
ficheros recibidos /mnt/sdcard/Whatsapp/Media varios ficheros
ficheros enviados /mnt/sdcard/Whatsapp/Media/Sent varios ficheros
Ajustes de usuario y preferencias /data/data/com.whatsapp/files varios ficheros

Paso 2: Descifrar las Bases de datos de contactos y mensajes

Para ello, utilizaremos WhatsApp Key/DB Extractor, la única herramienta que, a día de hoy, me ha funcionado para romper un cifrado CRYPT6-12 que utiliza actualmente Whatsapp para proteger sus bases de datos. El proceso es muy sencillo y viene muy bien explicado en este post.

Como comentario, resaltar que tuve que ejecutar el script de Powershell (.ps1) ya que la versión .bat con la consola de comandos, aún ejecutándola como Administrador, me escupía errores.

El resultado de este paso será la clave privada y los ficheros .db con las Bases de Datos de contactos y chats.

Paso 3: Visualizar el contenido de los mensajes

En este punto podremos utilizar cualquier visor de SQLite v3 ó herramientas que nos parseen las Bases de Datos que hemos obtenido en el paso anterior a ficheros HTML u otros formatos para verlas cómodamente en un navegador.

Bonus 1: Webgrafía recomendada

En los siguientes artículos se explica, con más o menos detalle, cómo abordar un análisis pericial de evidencias centrado en Whatsapp.

Bonus 2: Más herramientas y utilidades

Aparte de las mencionadas y enlazadas a lo largo de la entrada, a continuación dejo un listado de herramientas que, a fecha de Agosto de 2016, siguen funcionando contra las versiones actuales de Whatsapp.

Salir de la versión móvil