WhatsApp na palma da túa man: onde e como podes atopar artefactos forenses?

WhatsApp na palma da túa man: onde e como podes atopar artefactos forenses?

Se queres saber que tipos de artefactos forenses de WhatsApp existen en diferentes sistemas operativos e onde se poden atopar exactamente, este é o lugar para ti. Este artigo é dun especialista do Laboratorio de Informática Forense do Grupo-IB Igor Mikhailov inicia unha serie de publicacións sobre a investigación forense de WhatsApp e que información se pode obter ao analizar o dispositivo.

Teñamos en conta inmediatamente que os distintos sistemas operativos almacenan diferentes tipos de artefactos de WhatsApp, e se un investigador pode extraer certos tipos de datos de WhatsApp dun dispositivo, isto non significa que se poidan extraer tipos similares de datos doutro dispositivo. Por exemplo, se se elimina unha unidade do sistema que executa o sistema operativo Windows, probablemente non se atopen nos seus discos os chats de WhatsApp (a excepción das copias de seguridade dos dispositivos iOS, que se poden atopar nas mesmas unidades). A incautación de ordenadores portátiles e dispositivos móbiles terá características propias. Imos falar sobre isto con máis detalle.

Artefactos de WhatsApp no ​​dispositivo Android

Para extraer artefactos de WhatsApp dun dispositivo Android, o investigador debe ter dereitos de superusuario ("raíz") no dispositivo investigado ou poder extraer doutro xeito un volcado da memoria física do dispositivo ou do seu sistema de ficheiros (por exemplo, utilizando vulnerabilidades de software dun dispositivo móbil específico).

Os ficheiros das aplicacións sitúanse na memoria do teléfono na sección na que se gardan os datos do usuario. Por regra xeral, esta sección recibe o nome 'datos de usuario'. Os subdirectorios e ficheiros de programas están situados ao longo da ruta: '/data/data/com.whatsapp/'.

WhatsApp na palma da túa man: onde e como podes atopar artefactos forenses?
Os principais ficheiros que conteñen artefactos forenses de WhatsApp no ​​sistema operativo Android son bases de datos 'wa.db' и 'msgstore.db'.

Na base de datos 'wa.db' contén a lista de contactos completa dun usuario de WhatsApp, incluíndo o número de teléfono, o nome para mostrar, as marcas de tempo e calquera outra información proporcionada ao rexistrarse en WhatsApp. Arquivo 'wa.db' situado ao longo do camiño: '/data/data/com.whatsapp/databases/' e ten a seguinte estrutura:

WhatsApp na palma da túa man: onde e como podes atopar artefactos forenses?
As táboas máis interesantes da base de datos 'wa.db' para o investigador son:

  • 'wa_contactos'
    Esta táboa contén información de contacto: ID de contacto de WhatsApp, información de estado, nome de visualización do usuario, marcas de tempo, etc.

    Aspecto da mesa:

    WhatsApp na palma da túa man: onde e como podes atopar artefactos forenses?
    Estrutura da táboa

    Nome do campo Valor
    _id número de secuencia de rexistro (na táboa SQL)
    jid ID de contacto de WhatsApp, escrito no formato <número de teléfono>@s.whatsapp.net
    é_usuario_de_whatsapp contén "1" se o contacto corresponde a un usuario real de WhatsApp, "0" en caso contrario
    Estado contén o texto que aparece no estado do contacto
    status_timestamp contén unha marca de tempo en formato Unix Epoch Time (ms).
    número número de teléfono asociado co contacto
    raw_contact_id número de serie de contacto
    nome_mostrar nome de visualización do contacto
    tipo_teléfono tipo de teléfono
    phone_label etiqueta asociada ao número de contacto
    unseen_msg_count número de mensaxes enviadas por un contacto pero que non foron lidas polo destinatario
    fotografías contén unha marca de tempo en formato Unix Epoch Time
    polgar_ts contén unha marca de tempo en formato Unix Epoch Time
    foto_id_timestamp contén unha marca de tempo en formato Unix Epoch Time (ms).
    nome_denominado o valor do campo coincide con 'display_name' para cada contacto
    wa_nome Nome do contacto de WhatsApp (mostrase o nome especificado no perfil do contacto)
    nome_ordenar nome de contacto usado nas operacións de clasificación
    apelido alcume do contacto en WhatsApp (móstrase o alcume especificado no perfil do contacto)
    compañía empresa (móstrase a empresa especificada no perfil do contacto)
    título título (Ms./Mr.; móstrase o título configurado no perfil de contacto)
    compensar parcialidade
  • 'secuencia_sqlite'
    Esta táboa contén información sobre o número de contactos;
  • 'android_metadata'
    Esta táboa contén información sobre a localización do idioma de WhatsApp.

Na base de datos 'msgstore.db' contén información sobre as mensaxes enviadas, como o número de contacto, o texto da mensaxe, o estado da mensaxe, as marcas de tempo, os detalles dos ficheiros transferidos incluídos nas mensaxes, etc. Arquivo 'msgstore.db' situado ao longo do camiño: '/data/data/com.whatsapp/databases/' e ten a seguinte estrutura:

WhatsApp na palma da túa man: onde e como podes atopar artefactos forenses?
As táboas máis interesantes do ficheiro 'msgstore.db' para o investigador son:

  • 'secuencia_sqlite'
    Esta táboa contén información xeral sobre esta base de datos, como o número total de mensaxes almacenadas, o número total de chats, etc.

    Aspecto da mesa:

    WhatsApp na palma da túa man: onde e como podes atopar artefactos forenses?

  • 'contido_mensaxe_fts'
    Contén o texto das mensaxes enviadas.

    Aspecto da mesa:

    WhatsApp na palma da túa man: onde e como podes atopar artefactos forenses?

  • 'mensaxes'
    Esta táboa contén información como número de contacto, texto da mensaxe, estado da mensaxe, marcas de tempo e información sobre os ficheiros transferidos incluídos nas mensaxes.

    Aspecto da mesa:

    WhatsApp na palma da túa man: onde e como podes atopar artefactos forenses?
    Estrutura da táboa

    Nome do campo Valor
    _id número de secuencia de rexistro (na táboa SQL)
    key_remote_jid ID de WhatsApp do socio de comunicación
    chave_de_min dirección da mensaxe: '0' - entrante, '1' - saínte
    ID_chave identificador único da mensaxe
    Estado estado da mensaxe: '0' - entregada, '4' - esperando no servidor, '5' - recibida no destino, '6' - mensaxe de control, '13' - mensaxe aberta polo destinatario (ler)
    necesidade_empurrar ten o valor '2' se é unha mensaxe de difusión, se non, contén '0'
    datos texto da mensaxe (cando o parámetro 'media_wa_type' é '0')
    marca de tempo contén unha marca de tempo en formato Unix Epoch Time (ms), o valor tómase do reloxo do dispositivo
    media_url contén o URL do ficheiro transferido (cando o parámetro 'media_wa_type' é '1', '2', '3')
    media_mime_type Tipo MIME do ficheiro transferido (cando o parámetro 'media_wa_type' é igual a '1', '2', '3')
    media_wa_type tipo de mensaxe: "0" - texto, "1" - ficheiro gráfico, "2" - ficheiro de audio, "3" - ficheiro de vídeo, "4" - tarxeta de contacto, "5" - xeodatos
    media_size tamaño do ficheiro transferido (cando o parámetro 'media_wa_type' é '1', '2', '3')
    nome_medio nome do ficheiro transferido (cando o parámetro 'media_wa_type' é '1', '2', '3')
    subtítulo_media Contén as palabras 'audio', 'video' para os valores correspondentes do parámetro 'media_wa_type' (cando o parámetro 'media_wa_type' é '1', '3')
    media_hash Hash codificado en base64 do ficheiro transmitido, calculado mediante o algoritmo HAS-256 (cando o parámetro 'media_wa_type' é igual a '1', '2', '3')
    media_duración duración en segundos para o ficheiro multimedia (cando 'media_wa_type' é '1', '2', '3')
    orixe ten o valor '2' se é unha mensaxe de difusión, se non, contén '0'
    latitud xeodatos: latitude (cando o parámetro 'media_wa_type' é '5')
    lonxitude xeodatos: lonxitude (cando o parámetro 'media_wa_type' é '5')
    imaxe_polgar información do servizo
    recurso_remoto ID do remitente (só para chats de grupo)
    marca de tempo_recibida hora de recepción, contén unha marca de tempo en formato Unix Epoch Time (ms), o valor tómase do reloxo do dispositivo (cando o parámetro 'key_from_me' ten '0', '-1' ou outro valor)
    send_timestamp non se usa, normalmente ten o valor '-1'
    marca de hora do servidor_de_recibo hora recibida polo servidor central, contén unha marca de tempo en formato Unix Epoch Time (ms), o valor tómase do reloxo do dispositivo (cando o parámetro 'key_from_me' ten '1', '-1' ou outro valor
    marca de tempo_dispositivo_de_recibo vez que a mensaxe foi recibida por outro subscritor, contén unha marca de tempo en formato Unix Epoch Time (ms), o valor tómase do reloxo do dispositivo (cando o parámetro 'key_from_me' ten '1', '-1' ou outro valor
    read_device_timestamp hora de abrir (ler) a mensaxe, contén unha marca de tempo en formato Unix Epoch Time (ms), o valor tómase do reloxo do dispositivo
    marca de tempo_dispositivo_reproducido tempo de reprodución da mensaxe, contén unha marca de tempo en formato Unix Epoch Time (ms), o valor tómase do reloxo do dispositivo
    datos_en bruto miniatura do ficheiro transferido (cando o parámetro 'media_wa_type' é '1' ou '3')
    recipient_count número de destinatarios (para mensaxes de difusión)
    participant_hash usado cando se transmiten mensaxes con xeodatos
    protagonizado non utilizados
    id_fila_comitada descoñecido, normalmente contén o valor '0'
    mencionados_jids non utilizados
    multicast_id non utilizados
    compensar parcialidade

    Esta lista de campos non é exhaustiva. Para as diferentes versións de WhatsApp, algúns campos poden estar presentes ou ausentes. Ademais, poden estar presentes campos 'media_enc_hash', 'editar_versión', 'id_transacción_pago' etc

  • 'mensaxes_miniaturas'
    Esta táboa contén información sobre as imaxes transferidas e as marcas de tempo. Na columna "sello de tempo", a hora indícase en formato Unix Epoch Time (ms).
  • 'lista_chat'
    Esta táboa contén información sobre os chats.

    Aspecto da mesa:

    WhatsApp na palma da túa man: onde e como podes atopar artefactos forenses?

Ademais, ao examinar WhatsApp nun dispositivo móbil con Android, debes prestar atención aos seguintes ficheiros:

  • arquivo 'msgstore.db.cryptXX' (onde XX é un ou dous díxitos de 0 a 12, por exemplo, msgstore.db.crypt12). Contén unha copia de seguranza cifrada das mensaxes de WhatsApp (ficheiro de copia de seguranza msgstore.db). Arquivos) 'msgstore.db.cryptXX' situado ao longo do camiño: '/data/media/0/WhatsApp/Databases/' (tarxeta SD virtual), '/mnt/sdcard/WhatsApp/Bases de datos/ (tarxeta SD física)'.
  • arquivo 'chave'. Contén unha clave criptográfica. Situado ao longo do camiño: '/data/data/com.whatsapp/files/'. Úsase para descifrar copias de seguridade de WhatsApp cifradas.
  • arquivo 'com.whatsapp_preferences.xml'. Contén información sobre o perfil da túa conta de WhatsApp. O ficheiro está situado ao longo da ruta: '/data/data/com.whatsapp/shared_prefs/'.

    Fragmento de contido do ficheiro

    <?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> (имя владельца аккаунта)
    … 
  • arquivo 'registration.RegisterPhone.xml'. Contén información sobre o número de teléfono asociado á conta de WhatsApp. O ficheiro está situado ao longo da ruta: '/data/data/com.whatsapp/shared_prefs/'.

    Contidos do ficheiro

    <?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>
  • arquivo 'axolotl.db'. Contén claves criptográficas e outros datos necesarios para identificar o propietario da conta. Situado ao longo do camiño: '/data/data/com.whatsapp/databases/'.
  • arquivo 'chatsettings.db'. Contén información de configuración da aplicación.
  • arquivo 'wa.db'. Contén datos de contacto. Unha base de datos moi interesante (desde o aspecto forense) e informativa. Pode conter información detallada sobre os contactos eliminados.

Tamén cómpre prestar atención aos seguintes directorios:

  • Directorio '/data/media/0/WhatsApp/Media/WhatsApp Images/'. Contén ficheiros gráficos transferidos.
  • Directorio '/data/media/0/WhatsApp/Media/WhatsApp Voice Notes/'. Contén mensaxes de voz en ficheiros de formato .OPUS.
  • Directorio '/data/data/com.whatsapp/cache/Profile Pictures/'. Contén ficheiros gráficos: imaxes de contactos.
  • Directorio '/data/data/com.whatsapp/files/Avatars/'. Contén ficheiros gráficos: imaxes en miniatura dos contactos. Estes ficheiros teñen unha extensión '.j', pero son ficheiros de imaxe JPEG (JPG).
  • Directorio '/data/data/com.whatsapp/files/Avatars/'. Contén ficheiros gráficos: unha imaxe e unha miniatura da imaxe definida como avatar polo propietario da conta.
  • Directorio '/data/data/com.whatsapp/files/Logs/'. Contén o rexistro de operacións do programa (ficheiro 'whatsapp.log') e copias de seguridade dos rexistros de operacións do programa (arquivos con nomes no formato whatsapp-aaaa-mm-dd.1.log.gz).

Ficheiros de rexistro de WhatsApp:

WhatsApp na palma da túa man: onde e como podes atopar artefactos forenses?
Fragmento de diario2017-01-10 09:37:09.757 LL_I D [524:WhatsApp Worker #1] notificación de chamadas perdidas/reconto inicial: 0 timestamp:0
2017-01-10 09:37:09.758 LL_I D [524:WhatsApp Worker #1] notificación/actualización de chamada perdida cancelar verdadeiro
2017-01-10 09:37:09.768 LL_I D [1:main] app-init/load-me
2017-01-10 09:37:09.772 Falta o ficheiro de contrasinal LL_I D [1:main] ou non se pode lexir
2017-01-10 09:37:09.782 LL_I D [1:principal] estatísticas Mensaxes de texto: 59 enviadas, 82 recibidas / Mensaxes multimedia: 1 enviada (0 bytes), 0 recibidas (9850158 bytes) / Mensaxes sen conexión: 81 recibidas ( 19522 mseg de atraso medio) / Servizo de mensaxes: 116075 bytes enviados, 211729 bytes recibidos / Chamadas Voip: 1 chamadas saíntes, 0 chamadas entrantes, 2492 bytes enviados, 1530 bytes recibidos / Google Drive: 0 bytes enviados, 0 bytes recibidos / Itinerancia: 1524 bytes bytes enviados, 1826 bytes recibidos / Total de datos: 118567 bytes enviados, 10063417 bytes recibidos
2017-01-10 09:37:09.785 LL_I D [1:principal] media-state-xestor/refresh-media-state/writable-media
2017-01-10 09:37:09.806 LL_I D [1:principal] app-init/initialize/timer/stop: 24
2017-01-10 09:37:09.811 LL_I D [1:main] msgstore/checkhealth
2017-01-10 09:37:09.817 LL_I D [1:main] msgstore/checkhealth/journal/delete false
2017-01-10 09:37:09.818 LL_I D [1:main] msgstore/checkhealth/back/delete false
2017-01-10 09:37:09.818 LL_I D [1:main] 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:main] msgstore/checkdb/list axolotl.db 184320 drw=011
2017-01-10 09:37:09.821 LL_I D [1:main] msgstore/checkdb/list axolotl.db-wal 436752 drw=011
2017-01-10 09:37:09.821 LL_I D [1:main] msgstore/checkdb/list axolotl.db-shm 32768 drw=011
2017-01-10 09:37:09.822 LL_I D [1:main] msgstore/checkdb/list msgstore.db 540672 drw=011
2017-01-10 09:37:09.823 LL_I D [1:main] msgstore/checkdb/list msgstore.db-wal 0 drw=011
2017-01-10 09:37:09.823 LL_I D [1:main] msgstore/checkdb/list msgstore.db-shm 32768 drw=011
2017-01-10 09:37:09.824 LL_I D [1:main] msgstore/checkdb/list wa.db 69632 drw=011
2017-01-10 09:37:09.825 LL_I D [1:main] msgstore/checkdb/list wa.db-wal 428512 drw=011
2017-01-10 09:37:09.825 LL_I D [1:main] msgstore/checkdb/list wa.db-shm 32768 drw=011
2017-01-10 09:37:09.826 LL_I D [1:main] msgstore/checkdb/list chatsettings.db 4096 drw=011
2017-01-10 09:37:09.826 LL_I D [1:main] msgstore/checkdb/list chatsettings.db-wal 70072 drw=011
2017-01-10 09:37:09.827 LL_I D [1:main] msgstore/checkdb/list chatsettings.db-shm 32768 drw=011
2017-01-10 09:37:09.838 LL_I D [1:main] msgstore/checkdb/versión 1
2017-01-10 09:37:09.839 LL_I D [1:main] msgstore/canquery
2017-01-10 09:37:09.846 LL_I D [1:main] msgstore/canquery/count 1
2017-01-10 09:37:09.847 LL_I D [1:main] msgstore/canquery/timer/stop: 8
2017-01-10 09:37:09.847 LL_I D [1:main] msgstore/canquery 517 | tempo empregado: 8
2017-01-10 09:37:09.848 LL_I D [529:WhatsApp Worker n.º 3] ​​xestor-estatal de medios/estado-de-actualización-media/almacenamento-interno dispoñible: 1,345,622,016 total: 5,687,922,688

  • Directorio '/data/media/0/WhatsApp/Media/WhatsApp Audio/'. Contén os ficheiros de audio recibidos.
  • Directorio '/data/media/0/WhatsApp/Media/WhatsApp Audio/Sent/'. Contén ficheiros de audio enviados.
  • Directorio '/data/media/0/WhatsApp/Media/WhatsApp Images/'. Contén os ficheiros gráficos resultantes.
  • Directorio '/data/media/0/WhatsApp/Media/WhatsApp Images/Sent/'. Contén ficheiros gráficos enviados.
  • Directorio '/data/media/0/WhatsApp/Media/WhatsApp Video/'. Contén ficheiros de vídeo recibidos.
  • Directorio '/data/media/0/WhatsApp/Media/WhatsApp Video/Sent/'. Contén ficheiros de vídeo enviados.
  • Directorio '/data/media/0/WhatsApp/Media/WhatsApp Profile Photos/'. Contén ficheiros gráficos asociados ao propietario da conta de WhatsApp.
  • Para aforrar espazo de memoria no teu teléfono intelixente Android, algúns datos de WhatsApp pódense almacenar nunha tarxeta SD. Na tarxeta SD, no directorio raíz, hai un directorio 'Whatsapp', onde se poden atopar os seguintes artefactos deste programa:

    WhatsApp na palma da túa man: onde e como podes atopar artefactos forenses?

  • Directorio '.Compartir' ('/mnt/sdcard/WhatsApp/.Share/'). Contén copias de ficheiros que se compartiron con outros usuarios de WhatsApp.
  • Directorio '.lixo' ('/mnt/sdcard/WhatsApp/.trash/'). Contén ficheiros eliminados.
  • Directorio 'Bases de datos' ('/mnt/sdcard/WhatsApp/Bases de datos/'). Contén copias de seguranza cifradas. Pódense descifrar se o ficheiro está presente 'chave', extraído da memoria do dispositivo analizado.

    Ficheiros situados nun subdirectorio 'Bases de datos':

    WhatsApp na palma da túa man: onde e como podes atopar artefactos forenses?

  • Directorio 'Mede' ('/mnt/sdcard/WhatsApp/Media/'). Contén subdirectorios "Fondo de pantalla", "Audio de WhatsApp", "Imaxes de WhatsApp", "Fotos do perfil de WhatsApp", "Vídeo de WhatsApp", "Notas de voz de WhatsApp", que conteñen ficheiros multimedia recibidos e transmitidos (arquivos gráficos, ficheiros de vídeo, mensaxes de voz, fotos asociadas ao perfil do propietario da conta de WhatsApp, fondos de pantalla).
  • Directorio "Imaxes de perfil" ('/mnt/sdcard/WhatsApp/Imaxes de perfil/'). Contén ficheiros gráficos asociados ao perfil do propietario da conta de WhatsApp.
  • Ás veces pode haber un directorio presente na tarxeta SD 'arquivos' ('/mnt/sdcard/WhatsApp/Files/'). Este directorio contén ficheiros que almacenan a configuración do programa e as preferencias do usuario.

Características do almacenamento de datos nalgúns modelos de dispositivos móbiles

Algúns modelos de dispositivos móbiles con sistema operativo Android poden almacenar artefactos de WhatsApp nun lugar diferente. Isto débese aos cambios no espazo de almacenamento dos datos da aplicación polo software do sistema do dispositivo móbil. Por exemplo, os dispositivos móbiles Xiaomi teñen unha función para crear un segundo espazo de traballo ("SecondSpace"). Cando esta función está activada, a localización dos datos cambia. Entón, se nun dispositivo móbil normal que executa Android OS datos do usuario almacénanse no directorio '/data/user/0/' (que é unha referencia ao habitual '/data/data/'), a continuación, no segundo espazo de traballo os datos da aplicación almacénanse no directorio '/data/user/10/'. É dicir, usando o exemplo da localización do ficheiro 'wa.db':

  • nun teléfono intelixente normal con sistema operativo Android: /data/user/0/com.whatsapp/databases/wa.db' (que é o equivalente '/data/data/com.whatsapp/databases/wa.db');
  • no segundo espazo de traballo do teléfono intelixente Xiaomi: '/data/user/10/com.whatsapp/databases/wa.db'.

Artefactos de WhatsApp no ​​dispositivo iOS

A diferenza do sistema operativo Android, en iOS os datos da aplicación WhatsApp transfírense a unha copia de seguridade (backup de iTunes). Polo tanto, para extraer datos desta aplicación non é necesario extraer o sistema de ficheiros nin crear un volcado de memoria física do dispositivo investigado. A maior parte da información relevante está contida na base de datos 'ChatStorage.sqlite', que se atopa ao longo do camiño: '/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/' (nalgúns programas este camiño aparece como "AppDomainGroup-group.net.whatsapp.WhatsApp.shared").

Estrutura 'ChatStorage.sqlite':

WhatsApp na palma da túa man: onde e como podes atopar artefactos forenses?
As táboas máis informativas da base de datos 'ChatStorage.sqlite' son 'ZWAMESSAGE' и 'ZWAMEDIAITEM'.

Aspecto da mesa 'ZWAMESSAGE':

WhatsApp na palma da túa man: onde e como podes atopar artefactos forenses?
Estrutura da táboa "ZWAMESSAGE"

Nome do campo Valor
Z_PK número de secuencia de rexistro (na táboa SQL)
Z_ENT identificador da táboa, ten o valor '9'
Z_OPT descoñecido, normalmente contén valores de '1' a '6'
ZMENSAXE INFANTIL ENVIADA CONTA descoñecido, normalmente contén o valor '0'
ZCHILDMESSAGEXOXEDCOUNT descoñecido, normalmente contén o valor '0'
Z MENSAXESNENOS READCOUNT descoñecido, normalmente contén o valor '0'
ZDATAITEMVERSION descoñecido, normalmente contén o valor "3", probablemente un indicador de mensaxe de texto
ZDOCID é descoñecido
ZENCRETRYCOUNT descoñecido, normalmente contén o valor '0'
ZFILTEREDRECIPIENTCOUNT descoñecido, normalmente contén os valores '0', '2', '256'
ZISFROMME dirección da mensaxe: '0' - entrante, '1' - saínte
ZMESSAGEERRORSTATUS estado de transmisión da mensaxe. Se a mensaxe é enviada/recibida, entón ten o valor '0'
TIPO DE MENSAXE Z tipo de mensaxe que se transmite
ZSORT é descoñecido
ZSPOTLIGHSTATUS é descoñecido
ZSTARRED descoñecido, non usado
SESIÓN ZCHAT é descoñecido
MEMBRO DE GRUPO Z descoñecido, non usado
ÚLTIMA SESIÓN é descoñecido
ZMEDIAITEM é descoñecido
INFORMACIÓN DA MESSAXE é descoñecido
ZMENSAXE PARA PAIS descoñecido, non usado
ZMESSAGEDATE marca de tempo en formato OS X Epoch Time
ZSENTDATE momento en que se enviou a mensaxe en formato OS X Epoch Time
ZFROMJID ID do remitente de WhatsApp
ZMEDIASECTIONID contén o ano e o mes no que se enviou o ficheiro multimedia
ZPHASH descoñecido, non usado
ZPUSHPAME nome do contacto que enviou o ficheiro multimedia en formato UTF-8
ZSTANZID identificador único da mensaxe
ZTEXT Texto da mensaxe
ZTOJID ID de WhatsApp do destinatario
COMPENSACIÓN parcialidade

Aspecto da mesa 'ZWAMEDIAITEM':

WhatsApp na palma da túa man: onde e como podes atopar artefactos forenses?
Estrutura da táboa 'ZWAMEDIAITEM'

Nome do campo Valor
Z_PK número de secuencia de rexistro (na táboa SQL)
Z_ENT identificador da táboa, ten o valor '8'
Z_OPT descoñecido, normalmente contén valores de "1" a "3".
ZCLOUDSTATUS contén o valor "4" se o ficheiro está cargado.
ZFILESIZE contén a lonxitude do ficheiro (en bytes) dos ficheiros descargados
ZMEDIAORIXE descoñecido, normalmente ten o valor '0'
ZMOVIEDURACIÓN duración do ficheiro multimedia, para os ficheiros pdf pode conter o número de páxinas do documento
MENSAXE Z contén un número de serie (o número é diferente do indicado na columna 'Z_PK')
ZASPECTRACION relación de aspecto, non usada, normalmente establecida en '0'
PRECISIÓN descoñecido, normalmente ten o valor '0'
ZLATTITUDE ancho en píxeles
ZLONXITUDE altura en píxeles
ZMEDIAURLDATE marca de tempo en formato OS X Epoch Time
ZAUTHORNAME autor (para documentos, pode conter o nome do ficheiro)
ZCOLLECTIONNAME non utilizados
ZMEDIALOCALPATH nome do ficheiro (incluíndo o camiño) no sistema de ficheiros do dispositivo
ZMEDIAURL O URL onde se atopaba o ficheiro multimedia. Se un ficheiro foi transferido dun subscritor a outro, foi cifrado e a súa extensión indicarase como a extensión do ficheiro transferido - .enc
ZTHUMBNAILLOCALPATH ruta á miniatura do ficheiro no sistema de ficheiros do dispositivo
ZTÍTULO cabeceira do ficheiro
ZVCARDNAME hash do ficheiro multimedia; ao transferir o ficheiro a un grupo, pode conter o identificador do remitente
ZVCARDSTRING contén información sobre o tipo de ficheiro que se está a transferir (por exemplo, imaxe/jpeg); ao transferir un ficheiro a un grupo, pode conter o identificador do destinatario
ZXMPPTHUMBPATH ruta á miniatura do ficheiro no sistema de ficheiros do dispositivo
ZMEDIAKEY descoñecido, probablemente contén a clave para descifrar o ficheiro cifrado.
ZMETADATOS metadatos da mensaxe transmitida
Compensar parcialidade

Outras táboas de bases de datos interesantes 'ChatStorage.sqlite' son:

  • "ZWAPROFILEPUSHNAME". Coincide o ID de WhatsApp co nome do contacto;
  • "ZWAPROFILEPICTUREITEM". Coincide a ID de WhatsApp co avatar de contacto;
  • "Z_PRIMARYKEY". A táboa contén información xeral sobre esta base de datos, como o número total de mensaxes almacenadas, o número total de chats, etc.

Ademais, ao examinar WhatsApp nun dispositivo móbil con iOS, debes prestar atención aos seguintes ficheiros:

  • arquivo 'BackedUpKeyValue.sqlite'. Contén claves criptográficas e outros datos necesarios para identificar o propietario da conta. Situado ao longo do camiño: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/.
  • arquivo 'ContactsV2.sqlite'. Contén información sobre os contactos do usuario, como nome completo, número de teléfono, estado do contacto (en forma de texto), ID de WhatsApp, etc. Situado ao longo do camiño: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/.
  • arquivo 'versión_consumidor'. Contén o número de versión da aplicación WhatsApp instalada. Situado ao longo do camiño: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/.
  • arquivo 'current_wallpaper.jpg'. Contén o fondo de pantalla actual de WhatsApp. Situado ao longo do camiño: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/. As versións máis antigas da aplicación usan o ficheiro 'fondo de pantalla', que se atopa ao longo do camiño: '/private/var/mobile/Applications/net.whatsapp.WhatsApp/Documents/'.
  • arquivo 'blockedcontacts.dat'. Contén información sobre contactos bloqueados. Situado ao longo do camiño: /private/var/mobile/Applications/net.whatsapp.WhatsApp/Documents/.
  • arquivo 'pw.dat'. Contén un contrasinal cifrado. Situado ao longo do camiño: '/private/var/mobile/Applications/net.whatsapp.WhatsApp/Library/'.
  • arquivo 'net.whatsapp.WhatsApp.plist' (ou arquivo 'group.net.whatsapp.WhatsApp.shared.plist'). Contén información sobre o perfil da túa conta de WhatsApp. O ficheiro está situado ao longo da ruta: '/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/Library/Preferences/'.

Contido do ficheiro 'group.net.whatsapp.WhatsApp.shared.plist' WhatsApp na palma da túa man: onde e como podes atopar artefactos forenses?
Tamén cómpre prestar atención aos seguintes directorios:

  • Directorio '/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/Media/Profile/'. Contén miniaturas de contactos, grupos (arquivos coa extensión .polgar), avatares de contacto, avatar do propietario da conta de WhatsApp (arquivo "Foto.jpg").
  • Directorio '/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/Message/Media/'. Contén ficheiros multimedia e as súas miniaturas
  • Directorio '/private/var/mobile/Applications/net.whatsapp.WhatsApp/Documents/'. Contén o rexistro de operacións do programa (ficheiro 'calls.log') e copias de seguridade dos rexistros de operacións do programa (ficheiro 'chamadas.backup.log').
  • Directorio '/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/stickers/'. Contén adhesivos (arquivos no formato '.webp').
  • Directorio '/private/var/mobile/Applications/net.whatsapp.WhatsApp/Library/Logs/'. Contén rexistros de operacións do programa.

Artefactos de WhatsApp en Windows

Os artefactos de WhatsApp en Windows pódense atopar en varios lugares. En primeiro lugar, estes son directorios que conteñen ficheiros executables e auxiliares do programa (para Windows 8/10):

  • 'C:Arquivos de programa (x86)WhatsApp'
  • 'C:Users%User profile% AppDataLocalWhatsApp'
  • 'C:Users%User profile% AppDataLocalVirtualStore Program Files (x86)WhatsApp'

En catálogo 'C:Users%User profile% AppDataLocalWhatsApp' localízase o ficheiro de rexistro 'SquirrelSetup.log', que contén información sobre como buscar actualizacións e instalar o programa.

En catálogo "C:Usuarios%Perfil de usuario% AppDataRoamingWhatsApp" Hai varios subdirectorios:

WhatsApp na palma da túa man: onde e como podes atopar artefactos forenses?
arquivo 'main-process.log' contén información sobre o funcionamento do programa WhatsApp.

Subdirectorio 'bases de datos' contén un ficheiro 'Databases.db', pero este ficheiro non contén ningunha información sobre chats ou contactos.

O máis interesante dende o punto de vista forense son os ficheiros situados no directorio 'Caché'. Estes son basicamente ficheiros con nome 'f_********' (onde * é un número de 0 a 9) que contén ficheiros e documentos multimedia cifrados, pero tamén hai ficheiros sen cifrar entre eles. De especial interese son os arquivos 'datos_0', 'datos_1', 'datos_2', 'datos_3', situado no mesmo subdirectorio. Arquivos 'datos_0', 'datos_1', 'datos_3' conteñen ligazóns externas a ficheiros e documentos multimedia cifrados transmitidos.

Exemplo de información contida no ficheiro 'data_1'WhatsApp na palma da túa man: onde e como podes atopar artefactos forenses?
Tamén arquivo 'datos_3' pode conter ficheiros gráficos.

arquivo 'datos_2' contén avatares de contacto (pódese restaurar buscando por cabeceiras de ficheiros).

Avatares contidos no ficheiro 'datos_2':

WhatsApp na palma da túa man: onde e como podes atopar artefactos forenses?
Así, os chats en si non se poden atopar na memoria do ordenador, pero podes atopar:

  • arquivos multimedia;
  • documentos transmitidos por WhatsApp;
  • información sobre os contactos do propietario da conta.

Artefactos de WhatsApp en MacOS

En MacOS podes atopar tipos de artefactos de WhatsApp similares aos que se atopan no sistema operativo Windows.

Os ficheiros do programa atópanse nos seguintes directorios:

  • 'C:ApplicationsWhatsApp.app'
  • 'C:Applications._WhatsApp.app'
  • 'C:Usuarios%Perfil de usuario%LibraryPreferences'
  • "C:Usuarios%Perfil de usuario%LibraryLogsWhatsApp"
  • 'C:Users%User profile%LibrarySaved Application StateWhatsApp.savedState'
  • 'C:Usuarios%Perfil de usuario%LibraryApplication Scripts'
  • "C:Usuarios%Perfil de usuario%LibraryApplication SupportCloudDocs"
  • 'C:Usuarios%Perfil de usuario%LibraryApplication SupportWhatsApp.ShipIt'
  • 'C:Users%User profile%LibraryContainerscom.rockysandstudio.app-for-whatsapp'
  • "C:Usuarios%Perfil de usuario% Biblioteca Documentos móbiles <variable de texto> Contas de WhatsApp"
    Este directorio contén subdirectorios cuxos nomes son números de teléfono asociados ao propietario da conta de WhatsApp.
  • 'C:Usuarios%Perfil de usuario%LibraryCachesWhatsApp.ShipIt'
    Este directorio contén información sobre a instalación do programa.
  • "C:Users%User profile%PicturesiPhoto Library.photolibraryMasters", "C:Users%User profile%PicturesiPhoto Library.photolibraryThumbnails"
    Estes directorios conteñen ficheiros de servizo do programa, incluíndo fotos e miniaturas dos contactos de WhatsApp.
  • 'C:Usuarios%Perfil de usuario%LibraryCachesWhatsApp'
    Este directorio contén varias bases de datos SQLite que se usan para almacenar datos na caché.
  • 'C:Usuarios%Perfil de usuario%LibraryApplication SupportWhatsApp'
    Este directorio contén varios subdirectorios:

    WhatsApp na palma da túa man: onde e como podes atopar artefactos forenses?
    En catálogo 'C:Usuarios%Perfil de usuario%LibraryApplication SupportWhatsAppCache' hai arquivos 'datos_0', 'datos_1', 'datos_2', 'datos_3' e ficheiros con nomes 'f_********' (onde * é un número de 0 a 9). Para obter información sobre a información que conteñen estes ficheiros, consulta Artefactos de WhatsApp en Windows.

    En catálogo 'C:Usuarios%Perfil de usuario%LibraryApplication SupportWhatsAppIndexedDB' pode conter ficheiros multimedia (os ficheiros non teñen extensións).

    arquivo 'main-process.log' contén información sobre o funcionamento do programa WhatsApp.

Fontes

  1. Análise forense de WhatsApp Messenger en teléfonos intelixentes Android, por Cosimo Anglano, 2014.
  2. Whatsapp Forensics: Exploración de sistemas e datos básicos para a aplicación de Android e iOS por Ahmad Pratama, 2014.

Nos seguintes artigos desta serie:

Descifrado de bases de datos de WhatsApp cifradasUn artigo que ofrecerá información sobre como se xera a clave de cifrado de WhatsApp e exemplos prácticos que mostrarán como descifrar as bases de datos cifradas desta aplicación.
Extraer datos de WhatsApp do almacenamento na nubeUn artigo no que vos contaremos que datos de WhatsApp se almacenan nas nubes e describiremos os métodos para recuperar estes datos dos almacenamentos na nube.
Extracción de datos de WhatsApp: exemplos prácticosUn artigo que describirá paso a paso que programas e como extraer datos de WhatsApp de varios dispositivos.

Fonte: www.habr.com

Engadir un comentario