WhatsApp en la palma de tu mano: ¿dónde y cómo encontrar artefactos forenses?

WhatsApp en la palma de tu mano: ¿dónde y cómo encontrar artefactos forenses?

Si desea saber qué tipos de artefactos forenses de WhatsApp existen en diferentes sistemas operativos y dónde se pueden encontrar exactamente, este es el lugar para usted. Este artículo es de un especialista del Laboratorio de Informática Forense del Grupo-IB. Igor Mikhailov Comienza una serie de posts sobre la ciencia forense de WhatsApp y qué información se puede obtener analizando el dispositivo.

Observemos de inmediato que diferentes sistemas operativos almacenan diferentes tipos de artefactos de WhatsApp, y si un investigador puede extraer ciertos tipos de datos de WhatsApp de un dispositivo, esto no significa que se puedan extraer tipos similares de datos de otro dispositivo. Por ejemplo, si se elimina una unidad del sistema que ejecuta el sistema operativo Windows, los chats de WhatsApp probablemente no se encontrarán en sus discos (con la excepción de las copias de seguridad de los dispositivos iOS, que se pueden encontrar en las mismas unidades). La incautación de ordenadores portátiles y dispositivos móviles tendrá sus propias características. Hablemos de esto con más detalle.

Artefactos de WhatsApp en dispositivo Android

Para extraer artefactos de WhatsApp desde un dispositivo Android, el investigador debe tener derechos de superusuario ('raíz') en el dispositivo bajo investigación o poder extraer de otro modo un volcado de memoria física del dispositivo o su sistema de archivos (por ejemplo, utilizando vulnerabilidades de software de un dispositivo móvil específico).

Los archivos de la aplicación se encuentran en la memoria del teléfono en la sección en la que se guardan los datos del usuario. Como regla general, esta sección se llama 'datos del usuario'. Los subdirectorios y archivos de programa se encuentran a lo largo de la ruta: '/datos/datos/com.whatsapp/'.

WhatsApp en la palma de tu mano: ¿dónde y cómo encontrar artefactos forenses?
Los principales archivos que contienen artefactos forenses de WhatsApp en el sistema operativo Android son bases de datos 'wa.db' и 'msgstore.db'.

En la base de datos 'wa.db' contiene la lista completa de contactos de un usuario de WhatsApp, incluido el número de teléfono, el nombre para mostrar, las marcas de tiempo y cualquier otra información proporcionada al registrarse en WhatsApp. Archivo 'wa.db' situado a lo largo del camino: '/datos/datos/com.whatsapp/bases de datos/' y tiene la siguiente estructura:

WhatsApp en la palma de tu mano: ¿dónde y cómo encontrar artefactos forenses?
Las tablas más interesantes de la base de datos. 'wa.db' para el investigador son:

  • 'wa_contactos'
    Esta tabla contiene información de contacto: identificación de contacto de WhatsApp, información de estado, nombre para mostrar del usuario, marcas de tiempo, etc.

    Aspecto de la mesa:

    WhatsApp en la palma de tu mano: ¿dónde y cómo encontrar artefactos forenses?
    Estructura de la mesa

    Nombre del campo Valor
    _id número de secuencia de registro (en la tabla SQL)
    jid ID de contacto de WhatsApp, escrito en el formato <número de teléfono>@s.whatsapp.net
    is_whatsapp_user contiene '1' si el contacto corresponde a un usuario real de WhatsApp, '0' en caso contrario
    estado contiene el texto que se muestra en el estado del contacto
    marca_hora_estado contiene una marca de tiempo en formato Unix Epoch Time (ms)
    número número de teléfono asociado al contacto
    raw_contact_id número de serie de contacto
    display_name nombre para mostrar del contacto
    tipo de telefono tipo de telefono
    etiqueta_teléfono etiqueta asociada al número de contacto
    cuenta_msg_invisible Número de mensajes que fueron enviados por un contacto pero que no fueron leídos por el destinatario.
    fotos_ts contiene una marca de tiempo en formato Unix Epoch Time
    pulgares contiene una marca de tiempo en formato Unix Epoch Time
    foto_id_marca de tiempo contiene una marca de tiempo en formato Unix Epoch Time (ms)
    nombre de pila el valor del campo coincide con 'display_name' para cada contacto
    nombre_wa Nombre del contacto de WhatsApp (se muestra el nombre especificado en el perfil del contacto)
    nombre_clasificación nombre de contacto utilizado en operaciones de clasificación
    apodo apodo del contacto en WhatsApp (se muestra el apodo especificado en el perfil del contacto)
    compañía empresa (se muestra la empresa especificada en el perfil del contacto)
    título título (Sra./Sr.; se muestra el título configurado en el perfil de contacto)
    compensar desplazamiento
  • 'sqlite_sequence'
    Esta tabla contiene información sobre la cantidad de contactos;
  • 'android_metadatos'
    Esta tabla contiene información sobre la localización del idioma de WhatsApp.

En la base de datos 'msgstore.db' contiene información sobre los mensajes enviados, como número de contacto, texto del mensaje, estado del mensaje, marcas de tiempo, detalles de los archivos transferidos incluidos en los mensajes, etc. Archivo 'msgstore.db' situado a lo largo del camino: '/datos/datos/com.whatsapp/bases de datos/' y tiene la siguiente estructura:

WhatsApp en la palma de tu mano: ¿dónde y cómo encontrar artefactos forenses?
Las tablas más interesantes del archivo 'msgstore.db' para el investigador son:

  • 'sqlite_sequence'
    Esta tabla contiene información general sobre esta base de datos, como el número total de mensajes almacenados, el número total de chats, etc.

    Aspecto de la mesa:

    WhatsApp en la palma de tu mano: ¿dónde y cómo encontrar artefactos forenses?

  • 'mensaje_fts_content'
    Contiene el texto de los mensajes enviados.

    Aspecto de la mesa:

    WhatsApp en la palma de tu mano: ¿dónde y cómo encontrar artefactos forenses?

  • 'mensajes'
    Esta tabla contiene información como número de contacto, texto del mensaje, estado del mensaje, marcas de tiempo e información sobre los archivos transferidos incluidos en los mensajes.

    Aspecto de la mesa:

    WhatsApp en la palma de tu mano: ¿dónde y cómo encontrar artefactos forenses?
    Estructura de la mesa

    Nombre del campo Valor
    _id número de secuencia de registro (en la tabla SQL)
    clave_remota_jid ID de WhatsApp del interlocutor
    clave_de_mi Dirección del mensaje: '0' – entrante, '1' – saliente
    id_clave identificador de mensaje único
    estado estado del mensaje: '0' – entregado, '4' – esperando en el servidor, '5' – recibido en destino, '6' – mensaje de control, '13' – mensaje abierto por el destinatario (leído)
    necesita_push tiene el valor '2' si es un mensaje de difusión, de lo contrario contiene '0'
    datos texto del mensaje (cuando el parámetro 'media_wa_type' es '0')
    fecha y hora contiene una marca de tiempo en formato Unix Epoch Time (ms), el valor se toma del reloj del dispositivo
    media_url contiene la URL del archivo transferido (cuando el parámetro 'media_wa_type' es '1', '2', '3')
    tipo_mime_media Tipo MIME del archivo transferido (cuando el parámetro 'media_wa_type' es igual a '1', '2', '3')
    tipo_wa_media tipo de mensaje: '0' - texto, '1' - archivo gráfico, '2' - archivo de audio, '3' - archivo de video, '4' - tarjeta de contacto, '5' - geodatos
    tamaño_media tamaño del archivo transferido (cuando el parámetro 'media_wa_type' es '1', '2', '3')
    nombre_medios nombre del archivo transferido (cuando el parámetro 'media_wa_type' es '1', '2', '3')
    subtítulo_media Contiene las palabras 'audio', 'video' para los valores correspondientes del parámetro 'media_wa_type' (cuando el parámetro 'media_wa_type' es '1', '3')
    media_hash Hash codificado en base64 del archivo transmitido, calculado utilizando el algoritmo HAS-256 (cuando el parámetro 'media_wa_type' es igual a '1', '2', '3')
    duración_media duración en segundos para el archivo multimedia (cuando 'media_wa_type' es '1', '2', '3')
    natural tiene el valor '2' si es un mensaje de difusión, de lo contrario contiene '0'
    latitud geodatos: latitud (cuando el parámetro 'media_wa_type' es '5')
    longitud geodatos: longitud (cuando el parámetro 'media_wa_type' es '5')
    imagen_pulgar servicio de información
    recurso_remoto ID del remitente (solo para chats grupales)
    marca_hora_recibida hora de recepción, contiene una marca de tiempo en formato Unix Epoch Time (ms), el valor se toma del reloj del dispositivo (cuando el parámetro 'key_from_me' tiene '0', '-1' u otro valor)
    enviar_marca de tiempo no se utiliza, normalmente tiene el valor '-1'
    marca_hora_del_servidor_recibo hora recibida por el servidor central, contiene una marca de tiempo en formato Unix Epoch Time (ms), el valor se toma del reloj del dispositivo (cuando el parámetro 'key_from_me' tiene '1', '-1' u otro valor
    recibo_dispositivo_marca de tiempo hora en que otro suscriptor recibió el mensaje, contiene una marca de tiempo en formato Unix Epoch Time (ms), el valor se toma del reloj del dispositivo (cuando el parámetro 'key_from_me' tiene '1', '-1' u otro valor
    marca_hora_del_dispositivo_lectura hora de apertura (lectura) del mensaje, contiene una marca de tiempo en formato Unix Epoch Time (ms), el valor se toma del reloj del dispositivo
    marca de tiempo_dispositivo_reproducido tiempo de reproducción del mensaje, contiene una marca de tiempo en formato Unix Epoch Time (ms), el valor se toma del reloj del dispositivo
    datos_brutos miniatura del archivo transferido (cuando el parámetro 'media_wa_type' es '1' o '3')
    recuento_recibidor número de destinatarios (para mensajes de difusión)
    participante_hash utilizado al transmitir mensajes con geodatos
    protagonizó no utilizado
    quoted_row_id desconocido, normalmente contiene el valor '0'
    mencionado_jids no utilizado
    id_multidifusión no utilizado
    compensar desplazamiento

    Esta lista de campos no es exhaustiva. Para diferentes versiones de WhatsApp, algunos campos pueden estar presentes o no. Además, pueden estar presentes campos 'media_enc_hash', 'editar_versión', 'id_transacción_pago' etcétera

  • 'mensajes_miniaturas'
    Esta tabla contiene información sobre imágenes transferidas y marcas de tiempo. En la columna 'marca de tiempo', la hora se indica en formato Unix Epoch Time (ms).
  • 'lista_chat'
    Esta tabla contiene información sobre los chats.

    Aspecto de la mesa:

    WhatsApp en la palma de tu mano: ¿dónde y cómo encontrar artefactos forenses?

Además, al examinar WhatsApp en un dispositivo móvil con Android, debes prestar atención a los siguientes archivos:

  • Expediente 'msgstore.db.cryptXX' (donde XX es uno o dos dígitos del 0 al 12, por ejemplo, msgstore.db.crypt12). Contiene una copia de seguridad cifrada de los mensajes de WhatsApp (archivo de copia de seguridad msgstore.db). Archivo(s) 'msgstore.db.cryptXX' situado a lo largo del camino: '/datos/media/0/WhatsApp/Bases de datos/' (tarjeta SD virtual), '/mnt/sdcard/WhatsApp/Bases de datos/ (tarjeta SD física)'.
  • Expediente 'llave'. Contiene una clave criptográfica. Situado a lo largo del camino: '/datos/datos/com.whatsapp/files/'. Se utiliza para descifrar copias de seguridad cifradas de WhatsApp.
  • Expediente 'com.whatsapp_preferences.xml'. Contiene información sobre el perfil de su cuenta de WhatsApp. El archivo se encuentra en la ruta: '/data/data/com.whatsapp/shared_prefs/'.

    Fragmento de contenido del archivo

    <?xml version="1.0" encoding="ISO-8859-1"?>
    …
    <string name="ph">9123456789</string> (номер телефона, ассоциированный с аккаунтом WhatsApp)
    …
    <string name="version">2.17.395</string> (версия WhatsApp)
    …
    <string name="my_current_status">Hey there! I am using WhatsApp.</string> (сообщение, отображаемое в статусе аккаунта)
    …
    <string name="push_name">Alex</string> (имя владельца аккаунта)
    … 
  • Expediente 'registro.RegisterPhone.xml'. Contiene información sobre el número de teléfono asociado a la cuenta de WhatsApp. El archivo se encuentra en la ruta: '/data/data/com.whatsapp/shared_prefs/'.

    Contenido del archivo

    <?xml version="1.0" encoding="ISO-8859-1"?>
    <map>
    <string name="com.whatsapp.registration.RegisterPhone.phone_number">9123456789</string>
    <int name="com.whatsapp.registration.RegisterPhone.verification_state" value="0"/>
    <int name="com.whatsapp.registration.RegisterPhone.country_code_position" value="-1"/>
    <string name="com.whatsapp.registration.RegisterPhone.input_phone_number">912 345-67-89</string>
    <int name="com.whatsapp.registration.RegisterPhone.phone_number_position" value="10"/>
    <string name="com.whatsapp.registration.RegisterPhone.input_country_code">7</string>
    <string name="com.whatsapp.registration.RegisterPhone.country_code">7</string>
    </map>
  • Expediente 'ajolote.db'. Contiene claves criptográficas y otros datos necesarios para identificar al propietario de la cuenta. Situado a lo largo del camino: '/datos/datos/com.whatsapp/bases de datos/'.
  • Expediente 'configuración de chat.db'. Contiene información de configuración de la aplicación.
  • Expediente 'wa.db'. Contiene datos de contacto. Una base de datos muy interesante (desde un aspecto forense) e informativa. Puede contener información detallada sobre los contactos eliminados.

También debes prestar atención a los siguientes directorios:

  • directorio '/data/media/0/WhatsApp/Media/Imágenes de WhatsApp/'. Contiene archivos gráficos transferidos.
  • directorio '/data/media/0/WhatsApp/Media/Notas de voz de WhatsApp/'. Contiene mensajes de voz en archivos de formato .OPUS.
  • directorio '/data/data/com.whatsapp/cache/Imágenes de perfil/'. Contiene archivos gráficos – imágenes de contactos.
  • directorio '/data/data/com.whatsapp/files/Avatars/'. Contiene archivos gráficos: imágenes en miniatura de contactos. Estos archivos tienen una extensión '.j' pero no dejan de ser archivos de imágenes JPEG (JPG).
  • directorio '/data/data/com.whatsapp/files/Avatars/'. Contiene archivos gráficos: una imagen y una miniatura de la imagen configurada como avatar por el propietario de la cuenta.
  • directorio '/data/data/com.whatsapp/files/Logs/'. Contiene el registro de funcionamiento del programa (archivo 'whatsapp.log') y copias de seguridad de los registros de funcionamiento del programa (archivos con nombres en el formato whatsapp-aaaa-mm-dd.1.log.gz).

Archivos de registro de WhatsApp:

WhatsApp en la palma de tu mano: ¿dónde y cómo encontrar artefactos forenses?
Fragmento de diario2017-01-10 09:37:09.757 LL_I D [524: Trabajador de WhatsApp #1] notificación de llamada perdida/recuento de inicio: 0 marca de tiempo: 0
2017-01-10 09:37:09.758 LL_I D [524:WhatsApp Worker #1] notificación de llamada perdida/actualización cancelar verdadero
2017-01-10 09:37:09.768 LL_I D [1:principal] inicio de aplicación/cargarme
2017-01-10 09:37:09.772 LL_I D [1:main] falta el archivo de contraseña o es ilegible
2017-01-10 09:37:09.782 LL_I D [1:main] estadísticas Mensajes de texto: 59 enviados, 82 recibidos / Mensajes multimedia: 1 enviado (0 bytes), 0 recibidos (9850158 bytes) / Mensajes sin conexión: 81 recibidos ( 19522 mseg de retraso promedio) / Servicio de mensajes: 116075 bytes enviados, 211729 bytes recibidos / Llamadas Voip: 1 llamada saliente, 0 llamadas entrantes, 2492 bytes enviados, 1530 bytes recibidos / Google Drive: 0 bytes enviados, 0 bytes recibidos / Roaming: 1524 bytes enviados, 1826 bytes recibidos / Datos totales: 118567 bytes enviados, 10063417 bytes recibidos
2017-01-10 09:37:09.785 LL_I D [1:principal] administrador-de-estado-de-medios/actualizar-estado-de-medios/medios-escribibles
2017-01-10 09:37:09.806 LL_I D [1:principal] inicio de aplicación/inicialización/temporizador/detención: 24
2017-01-10 09:37:09.811 LL_I D [1:principal] msgstore/checkhealth
2017-01-10 09:37:09.817 LL_I D [1:principal] msgstore/checkhealth/journal/delete false
2017-01-10 09:37:09.818 LL_I D [1:principal] msgstore/checkhealth/back/delete false
2017-01-10 09:37:09.818 LL_I D [1:principal] msgstore/checkdb/data/data/com.whatsapp/databases/msgstore.db
2017-01-10 09:37:09.819 LL_I D [1:principal] msgstore/checkdb/list _jobqueue-WhatsAppJobManager 16384 drw=011
2017-01-10 09:37:09.820 LL_I D [1:principal] msgstore/checkdb/list _jobqueue-WhatsAppJobManager-journal 21032 drw=011
2017-01-10 09:37:09.820 LL_I D [1:principal] msgstore/checkdb/list axolotl.db 184320 drw=011
2017-01-10 09:37:09.821 LL_I D [1:principal] msgstore/checkdb/list axolotl.db-wal 436752 drw=011
2017-01-10 09:37:09.821 LL_I D [1:principal] msgstore/checkdb/list axolotl.db-shm 32768 drw=011
2017-01-10 09:37:09.822 LL_I D [1:principal] msgstore/checkdb/list msgstore.db 540672 drw=011
2017-01-10 09:37:09.823 LL_I D [1:principal] msgstore/checkdb/list msgstore.db-wal 0 drw=011
2017-01-10 09:37:09.823 LL_I D [1:principal] msgstore/checkdb/list msgstore.db-shm 32768 drw=011
2017-01-10 09:37:09.824 LL_I D [1:principal] msgstore/checkdb/list wa.db 69632 drw=011
2017-01-10 09:37:09.825 LL_I D [1:principal] msgstore/checkdb/list wa.db-wal 428512 drw=011
2017-01-10 09:37:09.825 LL_I D [1:principal] msgstore/checkdb/list wa.db-shm 32768 drw=011
2017-01-10 09:37:09.826 LL_I D [1:principal] msgstore/checkdb/list chatsettings.db 4096 drw=011
2017-01-10 09:37:09.826 LL_I D [1:principal] msgstore/checkdb/list chatsettings.db-wal 70072 drw=011
2017-01-10 09:37:09.827 LL_I D [1:principal] msgstore/checkdb/list chatsettings.db-shm 32768 drw=011
2017-01-10 09:37:09.838 LL_I D [1:principal] msgstore/checkdb/versión 1
2017-01-10 09:37:09.839 LL_I D [1: principal] msgstore/canquery
2017-01-10 09:37:09.846 LL_I D [1:principal] msgstore/canquery/count 1
2017-01-10 09:37:09.847 LL_I D [1:principal] msgstore/canquery/timer/stop: 8
2017-01-10 09:37:09.847 LL_I D [1: principal] msgstore/canquery 517 | tiempo invertido:8
2017-01-10 09:37:09.848 LL_I D [529:WhatsApp Worker #3] administrador de estado de medios/actualizar estado de medios/almacenamiento interno disponible:1,345,622,016 total:5,687,922,688

  • directorio '/datos/media/0/WhatsApp/Media/WhatsApp Audio/'. Contiene los archivos de audio recibidos.
  • directorio '/data/media/0/WhatsApp/Media/WhatsApp Audio/Enviado/'. Contiene archivos de audio enviados.
  • directorio '/data/media/0/WhatsApp/Media/Imágenes de WhatsApp/'. Contiene los archivos gráficos resultantes.
  • directorio '/data/media/0/WhatsApp/Media/Imágenes de WhatsApp/Enviadas/'. Contiene archivos gráficos enviados.
  • directorio '/datos/media/0/WhatsApp/Media/Video de WhatsApp/'. Contiene archivos de vídeo recibidos.
  • directorio '/data/media/0/WhatsApp/Media/WhatsApp Video/Enviado/'. Contiene archivos de vídeo enviados.
  • directorio '/data/media/0/WhatsApp/Media/Fotos de perfil de WhatsApp/'. Contiene archivos gráficos asociados al propietario de la cuenta de WhatsApp.
  • Para ahorrar espacio en la memoria de su teléfono inteligente Android, algunos datos de WhatsApp se pueden almacenar en una tarjeta SD. En la tarjeta SD, en el directorio raíz, hay un directorio 'WhatsApp', donde se pueden encontrar los siguientes artefactos de este programa:

    WhatsApp en la palma de tu mano: ¿dónde y cómo encontrar artefactos forenses?

  • directorio '.Compartir' ('/mnt/sdcard/WhatsApp/.Share/'). Contiene copias de archivos que se han compartido con otros usuarios de WhatsApp.
  • directorio '.basura' ('/mnt/sdcard/WhatsApp/.trash/'). Contiene archivos eliminados.
  • directorio 'Bases de datos' ('/mnt/sdcard/WhatsApp/Bases de datos/'). Contiene copias de seguridad cifradas. Se pueden descifrar si el archivo está presente. 'llave', extraído de la memoria del dispositivo analizado.

    Archivos ubicados en un subdirectorio. 'Bases de datos':

    WhatsApp en la palma de tu mano: ¿dónde y cómo encontrar artefactos forenses?

  • directorio 'Medios de comunicación' ('/mnt/tarjetasd/WhatsApp/Media/'). Contiene subdirectorios 'Fondo de pantalla', 'Audio WhatsApp', 'Imágenes de WhatsApp', 'Fotos de perfil de WhatsApp', 'Vídeo WhatsApp', 'Notas de voz de WhatsApp', que contienen archivos multimedia recibidos y transmitidos (archivos gráficos, archivos de video, mensajes de voz, fotos asociadas al perfil del propietario de la cuenta de WhatsApp, fondos de pantalla).
  • directorio 'Fotos de perfil' ('/mnt/sdcard/WhatsApp/Imágenes de perfil/'). Contiene archivos gráficos asociados al perfil del propietario de la cuenta de WhatsApp.
  • A veces puede haber un directorio presente en la tarjeta SD. 'archivos' ('/mnt/tarjetasd/WhatsApp/Archivos/'). Este directorio contiene archivos que almacenan la configuración del programa y las preferencias del usuario.

Características del almacenamiento de datos en algunos modelos de dispositivos móviles.

Algunos modelos de dispositivos móviles con sistema operativo Android pueden almacenar artefactos de WhatsApp en una ubicación diferente. Esto se debe a cambios en el espacio de almacenamiento de los datos de la aplicación por parte del software del sistema del dispositivo móvil. Por ejemplo, los dispositivos móviles Xiaomi tienen una función para crear un segundo espacio de trabajo (“SecondSpace”). Cuando se activa esta función, la ubicación de los datos cambia. Entonces, si en un dispositivo móvil normal con sistema operativo Android, los datos del usuario se almacenan en el directorio '/datos/usuario/0/' (que es una referencia a lo habitual '/datos/datos/'), luego, en el segundo espacio de trabajo, los datos de la aplicación se almacenan en el directorio '/datos/usuario/10/'. Es decir, usando el ejemplo de la ubicación del archivo. 'wa.db':

  • en un teléfono inteligente normal con sistema operativo Android: /data/user/0/com.whatsapp/databases/wa.db' (que es equivalente '/data/data/com.whatsapp/databases/wa.db');
  • en el segundo espacio de trabajo del smartphone Xiaomi: '/data/user/10/com.whatsapp/databases/wa.db'.

Artefactos de WhatsApp en dispositivo iOS

A diferencia del sistema operativo Android, en iOS los datos de la aplicación WhatsApp se transfieren a una copia de seguridad (copia de seguridad de iTunes). Por lo tanto, extraer datos de esta aplicación no requiere extraer el sistema de archivos ni crear un volcado de memoria física del dispositivo bajo investigación. La mayor parte de la información relevante está contenida en la base de datos. 'ChatStorage.sqlite', que se encuentra a lo largo del camino: '/privado/var/mobile/Aplicaciones/group.net.whatsapp.WhatsApp.shared/' (en algunos programas esta ruta aparece como 'AppDomainGroup-grupo.net.whatsapp.WhatsApp.compartido').

Estructura 'ChatStorage.sqlite':

WhatsApp en la palma de tu mano: ¿dónde y cómo encontrar artefactos forenses?
Las tablas más informativas en la base de datos 'ChatStorage.sqlite' son 'MENSAJE ZW' и 'ZWAMEDIAITEM'.

Aspecto de la mesa 'MENSAJE ZW':

WhatsApp en la palma de tu mano: ¿dónde y cómo encontrar artefactos forenses?
Estructura de la mesa 'ZWAMESSAGE'

Nombre del campo Valor
Z_PK número de secuencia de registro (en la tabla SQL)
Z_ENT identificador de tabla, tiene el valor '9'
Z_OPT desconocido, normalmente contiene valores del '1' al '6'
ZCONTADOR DE MENSAJESNIÑOS ENTREGADOS desconocido, normalmente contiene el valor '0'
ZMENSAJESNIÑOSREPRODUCIDONCUENTO desconocido, normalmente contiene el valor '0'
ZMENSAJESNIÑOSREADCOUNT desconocido, normalmente contiene el valor '0'
VERSIÓN DEL ARTÍCULO DE DATOS Z desconocido, normalmente contiene el valor '3', probablemente un indicador de mensaje de texto
ZDOCID desconocido
ZENCRETRYCOUNT desconocido, normalmente contiene el valor '0'
ZFILTEREDRECIPIENTCOUNT desconocido, normalmente contiene los valores '0', '2', '256'
ZISFROMME Dirección del mensaje: '0' – entrante, '1' – saliente
ZMENSAJEERRORSTATUS estado de transmisión del mensaje. Si el mensaje se envía/recibe, entonces tiene el valor '0'
TIPO DE MENSAJE Z tipo de mensaje que se transmite
ORDENAR desconocido
ZSPOTLIGHTSTATUS desconocido
ZSTARRED desconocido, no usado
SESIÓN DE CHAT desconocido
MIEMBRO DEL GRUPO Z desconocido, no usado
ZÚLTIMA SESIÓN desconocido
ZMEDIAITEM desconocido
ZMENSAJEINFO desconocido
ZMENSAJE DE PADRES desconocido, no usado
ZMENSAJEFECHA marca de tiempo en formato OS X Epoch Time
ZSENTDATE hora en que se envió el mensaje en formato OS X Epoch Time
ZDESDEJID ID del remitente de WhatsApp
ZMEDIASECTIONID contiene el año y mes en que se envió el archivo multimedia
ZPHASH desconocido, no usado
ZPUSHAME nombre del contacto que envió el archivo multimedia en formato UTF-8
ZSTANZID identificador de mensaje único
ZTEXTO Mensaje de texto
ZTOJID ID de WhatsApp del destinatario
OFFSET desplazamiento

Aspecto de la mesa 'ZWAMEDIAITEM':

WhatsApp en la palma de tu mano: ¿dónde y cómo encontrar artefactos forenses?
Estructura de la tabla 'ZWAMEDIAITEM'

Nombre del campo Valor
Z_PK número de secuencia de registro (en la tabla SQL)
Z_ENT identificador de tabla, tiene el valor '8'
Z_OPT desconocido, normalmente contiene valores del '1' al '3'.
ESTADO DE LA NUBE contiene el valor '4' si el archivo está cargado.
TAMAÑO DE ARCHIVO Z contiene la longitud del archivo (en bytes) para los archivos descargados
ZMEDIAORIGIN desconocido, normalmente tiene el valor '0'
ZMOVIEDURACIÓN duración del archivo multimedia, para archivos pdf puede contener el número de páginas del documento
ZMENSAJE contiene un número de serie (el número es diferente al indicado en la columna 'Z_PK')
ZASPECTRACIÓN relación de aspecto, no utilizada, generalmente configurada en '0'
ZHACTITUD desconocido, normalmente tiene el valor '0'
ZLATTITUD ancho en píxeles
ZLONGTITUD altura en píxeles
ZMEDIAURLDATE marca de tiempo en formato OS X Epoch Time
ZAUTHORNOMBRE autor (para documentos, puede contener el nombre del archivo)
ZNOMBRE DE COLECCIÓN no utilizado
ZMEDIALOCAPATH nombre de archivo (incluida la ruta) en el sistema de archivos del dispositivo
ZMEDIAURL La URL donde se encontraba el archivo multimedia. Si un archivo se transfirió de un suscriptor a otro, se cifró y su extensión se indicará como la extensión del archivo transferido: .enc
ZTHUMBNAILLOCALPATH ruta a la miniatura del archivo en el sistema de archivos del dispositivo
ZTÍTULO encabezado de archivo
NOMBRE DE TARJETA ZVC hash del archivo multimedia; al transferir el archivo a un grupo, puede contener el identificador del remitente
ZVCARDSTRING contiene información sobre el tipo de archivo que se transfiere (por ejemplo, imagen/jpeg); al transferir un archivo a un grupo, puede contener el identificador del destinatario
ZXMPPTHUMPATH ruta a la miniatura del archivo en el sistema de archivos del dispositivo
ZMEDIAKEY desconocido, probablemente contenga la clave para descifrar el archivo cifrado.
ZMETADATA metadatos del mensaje transmitido
Compensación desplazamiento

Otras tablas de bases de datos interesantes 'ChatStorage.sqlite' son:

  • 'ZWAPROFILEPUSHNAME'. Coincide con el ID de WhatsApp con el nombre del contacto;
  • 'ZWAPROFILEPICTUREITEM'. Coincide con el ID de WhatsApp con el avatar de contacto;
  • 'Z_PRIMARYKEY'. La tabla contiene información general sobre esta base de datos, como el número total de mensajes almacenados, el número total de chats, etc.

Además, al examinar WhatsApp en un dispositivo móvil con iOS, debes prestar atención a los siguientes archivos:

  • Expediente 'BackedUpKeyValue.sqlite'. Contiene claves criptográficas y otros datos necesarios para identificar al propietario de la cuenta. Situado a lo largo del camino: /privado/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/.
  • Expediente 'ContactosV2.sqlite'. Contiene información sobre los contactos del usuario, como nombre completo, número de teléfono, estado del contacto (en forma de texto), ID de WhatsApp, etc. Situado a lo largo del camino: /privado/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/.
  • Expediente 'versión_consumidor'. Contiene el número de versión de la aplicación WhatsApp instalada. Situado a lo largo del camino: /privado/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/.
  • Expediente 'wallpaper_actual.jpg'. Contiene el fondo de pantalla actual de WhatsApp. Situado a lo largo del camino: /privado/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/. Las versiones anteriores de la aplicación utilizan el archivo 'fondo de pantalla', que se encuentra a lo largo del camino: '/privado/var/mobile/Aplicaciones/net.whatsapp.WhatsApp/Documentos/'.
  • Expediente 'contactos bloqueados.dat'. Contiene información sobre contactos bloqueados. Situado a lo largo del camino: /privado/var/mobile/Applications/net.whatsapp.WhatsApp/Documentos/.
  • Expediente 'pw.dat'. Contiene una contraseña cifrada. Situado a lo largo del camino: '/privado/var/mobile/Aplicaciones/net.whatsapp.WhatsApp/Library/'.
  • Expediente 'net.whatsapp.WhatsApp.plist' (o archivo 'grupo.net.whatsapp.WhatsApp.shared.plist'). Contiene información sobre el perfil de su cuenta de WhatsApp. El archivo se encuentra en la ruta: '/privado/var/mobile/Aplicaciones/group.net.whatsapp.WhatsApp.shared/Library/Preferences/'.

Contenido del archivo 'group.net.whatsapp.WhatsApp.shared.plist' WhatsApp en la palma de tu mano: ¿dónde y cómo encontrar artefactos forenses?
También debes prestar atención a los siguientes directorios:

  • directorio '/privado/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/Media/Profile/'. Contiene miniaturas de contactos, grupos (archivos con la extensión .pulgar), avatares de contacto, avatar del propietario de la cuenta de WhatsApp (archivo 'Foto.jpg').
  • directorio '/privado/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/Message/Media/'. Contiene archivos multimedia y sus miniaturas.
  • directorio '/privado/var/mobile/Aplicaciones/net.whatsapp.WhatsApp/Documentos/'. Contiene el registro de funcionamiento del programa (archivo 'llamadas.registro') y copias de seguridad de los registros de operación del programa (archivo 'llamadas.backup.log').
  • directorio '/privado/var/mobile/Aplicaciones/group.net.whatsapp.WhatsApp.shared/stickers/'. Contiene stickers (archivos en el formato '.webp').
  • directorio '/privado/var/mobile/Aplicaciones/net.whatsapp.WhatsApp/Library/Logs/'. Contiene registros de operación del programa.

Artefactos de WhatsApp en Windows

Los artefactos de WhatsApp en Windows se pueden encontrar en varios lugares. En primer lugar, estos son directorios que contienen archivos de programas auxiliares y ejecutables (para Windows 8/10):

  • 'C:Archivos de programa (x86)WhatsApp'
  • 'C:Usuarios%Perfil de usuario%AppDataLocalWhatsApp'
  • 'C:Usuarios%Perfil de usuario% AppDataLocalVirtualStore Archivos de programa (x86)WhatsApp'

En el catálogo 'C:Usuarios%Perfil de usuario%AppDataLocalWhatsApp' el archivo de registro se encuentra 'SquirrelSetup.log', que contiene información sobre cómo buscar actualizaciones e instalar el programa.

En el catálogo 'C:Usuarios%Perfil de usuario%AppDataRoamingWhatsApp' Hay varios subdirectorios:

WhatsApp en la palma de tu mano: ¿dónde y cómo encontrar artefactos forenses?
Expediente 'proceso-principal.log' contiene información sobre el funcionamiento del programa WhatsApp.

Subdirectorio 'bases de datos' contiene un archivo 'Bases de datos.db', pero este archivo no contiene ninguna información sobre chats o contactos.

Los más interesantes desde un punto de vista forense son los archivos ubicados en el directorio 'Cache'. Estos son básicamente archivos llamados 'F_*******' (donde * es un número del 0 al 9) que contiene archivos y documentos multimedia cifrados, pero también hay archivos no cifrados entre ellos. De particular interés son los archivos 'datos_0', 'datos_1', 'datos_2', 'datos_3', ubicado en el mismo subdirectorio. Archivos 'datos_0', 'datos_1', 'datos_3' contienen enlaces externos a archivos y documentos multimedia cifrados transmitidos.

Ejemplo de información contenida en el archivo 'data_1'WhatsApp en la palma de tu mano: ¿dónde y cómo encontrar artefactos forenses?
también archivo 'datos_3' puede contener archivos gráficos.

Expediente 'datos_2' contiene avatares de contactos (se pueden restaurar buscando por encabezados de archivos).

Avatares contenidos en el archivo 'datos_2':

WhatsApp en la palma de tu mano: ¿dónde y cómo encontrar artefactos forenses?
Así, los chats en sí no se pueden encontrar en la memoria del ordenador, pero sí se pueden encontrar:

  • archivos multimedia;
  • documentos transmitidos vía WhatsApp;
  • información sobre los contactos del propietario de la cuenta.

Artefactos de WhatsApp en MacOS

En MacOS puedes encontrar tipos de artefactos de WhatsApp similares a los que se encuentran en el sistema operativo Windows.

Los archivos del programa se encuentran en los siguientes directorios:

  • 'C:AplicacionesWhatsApp.app'
  • 'C:Aplicaciones._WhatsApp.app'
  • 'C:Usuarios%Perfil de usuario%Preferencias de biblioteca'
  • 'C:Usuarios%Perfil de usuario%LibraryLogsWhatsApp'
  • 'C:Usuarios%Perfil de usuario%BibliotecaEstado de la aplicación guardadaWhatsApp.savedState'
  • 'C:Usuarios%Perfil de usuario%Secuencias de comandos de aplicación de biblioteca'
  • 'C:Usuarios%Perfil de usuario%BibliotecaAplicación SupportCloudDocs'
  • 'C:Usuarios%Perfil de usuario%BibliotecaApplication SupportWhatsApp.ShipIt'
  • 'C:Usuarios%Perfil de usuario%LibraryContainerscom.rockysandstudio.app-for-whatsapp'
  • 'C:Usuarios%Perfil de usuario% Biblioteca Documentos móviles <variable de texto> Cuentas de WhatsApp'
    Este directorio contiene subdirectorios cuyos nombres son números de teléfono asociados al propietario de la cuenta de WhatsApp.
  • 'C:Usuarios%Perfil de usuario%LibraryCachesWhatsApp.ShipIt'
    Este directorio contiene información sobre la instalación del programa.
  • 'C:Usuarios%Perfil de usuario%PicturesiPhoto Library.photolibraryMasters', 'C:Usuarios%Perfil de usuario%PicturesiPhoto Library.photolibraryThumbnails'
    Estos directorios contienen archivos de servicios del programa, incluidas fotos y miniaturas de los contactos de WhatsApp.
  • 'C:Usuarios%Perfil de usuario%BibliotecaCachesWhatsApp'
    Este directorio contiene varias bases de datos SQLite que se utilizan para el almacenamiento en caché de datos.
  • 'C:Usuarios%Perfil de usuario%BibliotecaAplicación SoporteWhatsApp'
    Este directorio contiene varios subdirectorios:

    WhatsApp en la palma de tu mano: ¿dónde y cómo encontrar artefactos forenses?
    En el catálogo 'C:Usuarios%Perfil de usuario%BibliotecaApplication SupportWhatsAppCache' hay archivos 'datos_0', 'datos_1', 'datos_2', 'datos_3' y archivos con nombres 'F_*******' (donde * es un número del 0 al 9). Para obtener información sobre qué información contienen estos archivos, consulte Artefactos de WhatsApp en Windows.

    En el catálogo 'C:Usuarios%Perfil de usuario%BibliotecaApplication SupportWhatsAppIndexedDB' puede contener archivos multimedia (los archivos no tienen extensiones).

    Expediente 'proceso-principal.log' contiene información sobre el funcionamiento del programa WhatsApp.

fuentes

  1. Análisis forense de WhatsApp Messenger en smartphones Android, por Cosimo Anglano, 2014.
  2. Análisis forense de Whatsapp: sistemas de exploración detallados y datos basados ​​en aplicaciones de Android e iOS por Ahmad Pratama, 2014.

En los siguientes artículos de esta serie:

Descifrado de bases de datos cifradas de WhatsAppUn artículo que brindará información sobre cómo se genera la clave de cifrado de WhatsApp y ejemplos prácticos que muestran cómo descifrar las bases de datos cifradas de esta aplicación.
Extraer datos de WhatsApp del almacenamiento en la nubeUn artículo en el que le diremos qué datos de WhatsApp se almacenan en las nubes y describiremos métodos para recuperar estos datos de los almacenamientos en la nube.
Extracción de datos de WhatsApp: ejemplos prácticosUn artículo que describirá paso a paso qué programas y cómo extraer datos de WhatsApp de varios dispositivos.

Fuente: habr.com

Añadir un comentario