El análisis forense de WhatsApp es crucial para investigaciones criminales y cibernéticas, ya que la aplicación almacena conversaciones, archivos multimedia, metadatos y marcas de tiempo. En Android, los archivos clave son wa.db (contactos) y msgstore.db (mensajes), ubicados en /data/data/com.whatsapp/. En iOS, ChatStorage.sqlite es la base de datos principal, y se encuentra en un contenedor compartido. Se requiere acceso adecuado al dispositivo o a una copia de seguridad, así como conocimiento de SQLite y la capacidad de descifrar datos, para una correcta extracción y análisis de la información.
WhatsApp es una de esas aplicaciones privadas y rutinarias para muchos usuarios. Las personas tratan los chats como si fueran conversaciones privadas y, como es una experiencia cómoda, suelen compartir allí cosas que no dirían en redes sociales públicas. Por eso WhatsApp es tan crucial para el análisis forense digital. La aplicación almacena conversaciones, archivos multimedia, marcas de tiempo, información de pertenencia a grupos y metadatos que pueden ayudar a reconstruir eventos, identificar contactos y corroborar cronologías en investigaciones criminales y cibernéticas.
El análisis forense de WhatsApp se realiza para encontrar pruebas fiables. Los datos recuperados de un dispositivo pueden mostrar quién se comunicó con quién, cuándo se enviaron y recibieron los mensajes, qué archivos multimedia se intercambiaron y, a menudo, qué cuenta era la propietaria del dispositivo. Esta información se utiliza para vincular a sospechosos y verificar declaraciones. También mapea movimientos al combinarse con datos de ubicación en los que investigadores y fiscales pueden confiar.
Artefactos de WhatsApp en dispositivos Android
En Android, WhatsApp almacena la mayoría de los datos privados de la
aplicación en el área de datos de usuario del dispositivo. Normalmente, los
archivos de la aplicación se encuentran en una ruta como
/data/data/com.whatsapp/ (o, equivalentemente,
/data/user/0/com.whatsapp/ en muchos dispositivos).
Normalmente, no se puede acceder a estos directorios sin privilegios elevados.
Para leerlos directamente, generalmente se necesita acceso de superusuario
(root) en el dispositivo o un volcado físico del sistema de
archivos obtenido por medios legales y técnicamente adecuados. Si no tienes
root o una imagen física, tus opciones se limitan a copias de
seguridad lógicas u otros métodos de extracción que podrían no exponer las
bases de datos privadas de WhatsApp.
Dos archivos merecen atención inmediata en Android: wa.db y
msgstore.db. Ambos son bases de datos SQLite y juntos forman el
núcleo de la evidencia de WhatsApp.
Wa.db
es la base de datos de contactos. Enumera los contactos del usuario de
WhatsApp y generalmente contiene números de teléfono, nombres para mostrar,
cadenas de estado, marcas de tiempo de creación o modificación de contactos y
otros metadatos de registro. Normalmente, el archivo se abre con un navegador
SQLite o se consulta con sqlite3 para inspeccionar las tablas.
Las tablas clave que buscan los investigadores son la tabla que almacena los
registros de contactos (a menudo denominada wa_contacts o
similar), sqlite_sequence, que contiene recuentos de
autoincremento y proporciona una idea de la escala, y
android_metadata, que contiene información de localización, como
el idioma de la aplicación.
Wa.db es esencialmente la libreta de direcciones de WhatsApp.
Contiene nombres, números y un poco de contexto para cada contacto.
msgstore.db es el almacén de mensajes. Esta base de datos
contiene los mensajes enviados y recibidos, las marcas de tiempo, el estado de
los mensajes, los identificadores del remitente y del destinatario, y
referencias a archivos multimedia.
En muchas versiones de WhatsApp, encontrará tablas que incluyen una tabla de
información general (a menudo denominada sqlite_sequence); una
tabla de índice de texto completo para el contenido de los mensajes (message_fts_content
o similar); la tabla principal de mensajes, que suele contener el cuerpo del
mensaje y los metadatos; messages_thumbnails, que cataloga
las imágenes y sus marcas de tiempo, y una tabla chat_list, que
almacena las entradas de las conversaciones.
Tenga en cuenta que WhatsApp evoluciona y los nombres de los campos cambian
entre versiones. Las versiones más recientes del esquema pueden incluir campos
adicionales como media_enc_hash, edit_version o
payment_transaction_id. Siempre revise el esquema antes de
confiar en un nombre de campo específico.
En muchos dispositivos Android, WhatsApp también guarda copias de seguridad
cifradas en una ubicación de almacenamiento pública, generalmente en
/data/media/0/WhatsApp/Databases/ (la tarjeta SD virtual) o en
/mnt/sdcard/WhatsApp/Databases/ para tarjetas SD físicas. Estos
archivos de copia de seguridad se parecen a msgstore.db.cryptXX,
donde XX indica la versión del esquema criptográfico.
Los archivos msgstore.db.cryptXX son una copia cifrada de
msgstore.db, diseñada para copias de seguridad del dispositivo.
Para descifrarlos, se necesita una clave criptográfica que WhatsApp almacena
de forma privada en el dispositivo, generalmente en
/data/data/com.whatsapp/files/. Sin esa clave, las copias de
seguridad cifradas no son legibles.
Otros archivos y directorios importantes de Android que conviene examinar
incluyen las preferencias y los XML de registro en
/data/data/com.whatsapp/shared_prefs/. El archivo
com.whatsapp_preferences.xml suele contener detalles del perfil y
valores de configuración. Un fragmento de este archivo puede mostrar el número
de teléfono asociado a la cuenta, la versión de la aplicación, un mensaje de
perfil como "¡Hola! Estoy usando WhatsApp" y el nombre para
mostrar de la cuenta. El archivo
registration.RegisterPhone.xml suele contener metadatos de
registro, como el número de teléfono y el formato regional.
El archivo axolotl.db en
/data/data/com.whatsapp/databases/ contiene las claves
criptográficas (utilizadas en la implementación del protocolo
Signal/Double Ratchet) y los datos de identificación de la
cuenta. Chatsettings.db contiene la configuración de la
aplicación. Los registros se guardan en
/data/data/com.whatsapp/files/Logs/ y pueden incluir
whatsapp.log, así como copias de seguridad rotadas comprimidas
como whatsapp-YYYY-MM-DD.1.log.gz.
Estos registros pueden revelar la actividad y los errores de la aplicación, lo que puede ser útil para el análisis de tiempos o la resolución de problemas.
En el área privada de la aplicación, también puedes encontrar fotos de perfil
en caché en /data/data/com.whatsapp/cache/Profile Pictures/ y
miniaturas de avatar en /data/data/com.whatsapp/files/Avatars/.
Algunas miniaturas de avatar usan la extensión .j, aunque en
realidad son archivos JPEG. Siempre valida las firmas de los archivos en lugar
de confiar en las extensiones.
Si el dispositivo usa una tarjeta SD, un directorio de WhatsApp en la raíz de
la tarjeta puede almacenar copias de los archivos compartidos
(/mnt/sdcard/WhatsApp/.Share/), una carpeta de papelera para el
contenido eliminado (/mnt/sdcard/WhatsApp/.trash/) y el
subdirectorio
Databases con copias de seguridad cifradas y subcarpetas
multimedia que reflejan las del almacenamiento interno. La presencia de
archivos eliminados o carpetas .trash puede ser una fuente
fructífera de medios recuperados.
Una complicación clave en Android es el comportamiento del fabricante o de la
ROM personalizada. Algunos proveedores añaden funciones que cambian la
ubicación donde se almacenan los datos de la aplicación. Por ejemplo, algunos
teléfonos Xiaomi implementan la función "Segundo Espacio" que crea un segundo
espacio de trabajo para el usuario. En este segundo espacio de trabajo,
WhatsApp almacena sus datos en una ruta de ID de usuario diferente, como
/data/user/10/com.whatsapp/databases/wa.db, en lugar de la
habitual /data/user/0/com.whatsapp/databases/wa.db.
A medida que las cosas evolucionan y cambian, es necesario validar las rutas reales en el dispositivo de destino en lugar de asumir ubicaciones estándar.
Artefactos de WhatsApp en dispositivos iOS
En iOS, WhatsApp tiende a centralizar sus datos en unas pocas ubicaciones y se
suele acceder a ella mediante copias de seguridad del dispositivo. La base de
datos principal de la aplicación suele ser ChatStorage.sqlite,
ubicada en un contenedor de grupo compartido como
/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/
(algunas herramientas forenses la muestran como
AppDomainGroup-group.net.whatsapp.WhatsApp.shared).
Dentro de ChatStorage.sqlite, las tablas más informativas suelen
ser ZWAMESSAGE, que almacena registros de mensajes, y
ZWAMEDIAITEM, que almacena metadatos de archivos adjuntos y
elementos multimedia. Otras tablas, como ZWAPROFILEPUSHNAME y
ZWAPROFILEPICTUREITEM, asignan identificadores de WhatsApp a
nombres para mostrar y avatares. La tabla Z_PRIMARYKEY suele
contener metadatos generales de la base de datos, como el recuento de
registros.
iOS también coloca archivos de soporte en el contenedor de grupos.
BackedUpKeyValue.sqlite puede contener claves criptográficas y
datos útiles para identificar la propiedad de la cuenta.
ContactsV2.sqlite almacena información de contacto: nombres,
números de teléfono, estados de perfil e ID de WhatsApp. Un archivo de texto
simple como consumer_version puede contener la versión de la
aplicación y current_wallpaper.jpg (o wallpaper en
versiones anteriores) contiene la imagen de fondo utilizada en los chats de
WhatsApp.
El archivo blockedcontacts.dat enumera los números bloqueados y
pw.dat puede contener una contraseña cifrada. Las listas de
preferencias como net.whatsapp.WhatsApp.plist o
group.net.whatsapp.WhatsApp.shared.plist almacenan la
configuración del perfil.
Las miniaturas multimedia, los avatares y los mensajes multimedia se almacenan
en rutas como
/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/Media/Profile/
y
/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/Message/Media/. Los registros de WhatsApp, como calls.log y
calls.backup.log, suelen conservarse en las carpetas
Documents o Library/logs y pueden ayudar a
determinar la actividad de las llamadas.
Dado que las copias de seguridad de los dispositivos iOS se realizan con frecuencia a través de iTunes o Finder, a menudo se pueden extraer los elementos de WhatsApp de una copia de seguridad del dispositivo en lugar de necesitar una imagen completa del sistema de archivos.
Si la copia de seguridad no está cifrada y está completa, puede incluir el
archivo ChatStorage.sqlite y los archivos multimedia asociados.
Si la copia de seguridad está cifrada, necesitará la contraseña de la copia de
seguridad o los métodos de acceso legales para descifrarla. En la práctica,
muchos investigadores crean una copia de seguridad forense y luego examinan
las bases de datos de WhatsApp con un visor SQLite o una herramienta forense
especializada que comprende las diferencias de esquema de WhatsApp entre
versiones.
Notas prácticas para principiantes
A partir de las bases de datos y los archivos multimedia descritos anteriormente, se puede recuperar listas de contactos, historiales de chat completos o parciales, marcas de tiempo en formato de época (comúnmente, epoch en milisegundos en Android), estado de los mensajes (enviados, entregados, leídos), nombres y hashes de archivos multimedia, pertenencia a grupos, nombres de perfil y avatares, contactos bloqueados e incluso registros de aplicaciones y metadatos de versiones. Esto nos ayuda a comprender quién se comunicó con quién, cuándo se intercambiaron mensajes, si se transfirieron archivos multimedia y qué cuentas se configuraron en el dispositivo.
Para principiantes, es importante tener en cuenta algunas precauciones prácticas. En primer lugar, opere siempre con imágenes forenses o copias de archivos extraídos. No trabaje directamente en el dispositivo en vivo a menos que esté realizando una adquisición aprobada y controlada y haya documentado cada acción. En segundo lugar, utilice herramientas forenses confiables para abrir bases de datos SQLite.
Si analiza los campos manualmente, confirme los formatos de las marcas de
tiempo y las zonas horarias. En tercer lugar, las copias de seguridad cifradas
requieren la clave del dispositivo para descifrarlas. Esta clave suele
almacenarse en el área privada de la aplicación en Android, y sin ella no es
posible descifrar los archivos .cryptXX. En cuarto lugar, los
chats y archivos eliminados no siempre desaparecen, ya que las bases de datos
pueden dejar registros o los archivos multimedia pueden permanecer en cachés o
en almacenamiento externo. Sin embargo, la recuperación nunca está garantizada
y depende de muchos factores, como el tiempo transcurrido desde la eliminación
y la actividad posterior del dispositivo.
Al revisar las tablas de mensajes, asigne cuidadosamente los campos de ID de mensaje a las referencias multimedia. Muchas versiones de WhatsApp utilizan tablas independientes para los elementos multimedia, donde el archivo real se referencia mediante un ID de medio o un nombre de archivo. Las tablas de miniaturas y los directorios multimedia le ayudarán a reconstruir el vínculo entre un mensaje de texto y el archivo que lo acompaña. Preste atención a la presencia de campos adicionales en las versiones más recientes de la aplicación. Estos pueden contener ID de pago, historial de ediciones o metadatos de cifrado. Adapte sus consultas según corresponda.
Finalmente, dado que WhatsApp y los sistemas operativos cambian con el tiempo, siempre revise el esquema y las marcas de tiempo de los archivos según la evidencia específica que tenga. No asuma que los nombres de campo o las rutas son idénticos en todos los dispositivos o versiones de la aplicación. Mantenga una lista de las rutas y los nombres de archivo que encuentre para poder reproducir el proceso y explicarlo en los informes.
Resumen
El análisis forense de WhatsApp es una disciplina compleja. En Android, los
principales artefactos son la base de datos de contactos wa.db,
el almacén de mensajes msgstore.db y las copias de seguridad
cifradas como msgstore.db.cryptXX, junto con directorios
multimedia, XML de preferencias y material de claves criptográficas en el área
privada de la aplicación.
En iOS, el artefacto principal es ChatStorage.sqlite y algunos
archivos de apoyo en el contenedor del grupo de aplicaciones, posiblemente
incluidos en una copia de seguridad del dispositivo. Para recuperar e
interpretar estos artefactos, debe tener acceso adecuado al dispositivo o a
una imagen y saber dónde buscar los archivos de la aplicación en el
dispositivo que está examinando. Además, debe sentirse cómodo inspeccionando
bases de datos SQLite y estar preparado para descifrar las copias de seguridad
cuando sea necesario.
Fuentes:
- https://hackers-arise.com/mobile-forensics-extracting-data-from-whatsapp/
- https://hackersarise.thinkific.com/courses/mobile-forensics
Vía:
http://blog.segu-info.com.ar/2025/12/analisis-forense-de-whatsapp.html

No hay comentarios:
Publicar un comentario