DOE AGORA Qualquer valor

WhatsApp à vista: onde e como você pode coletar artefatos forenses

WhatsApp à vista: onde e como você pode coletar artefatos forenses

Igor Mikhailov
Analista forense digital no Laboratório de Pesquisa Forense e Código Malicioso do Grupo-IB
Se você deseja saber que tipos de artefatos forenses do WhatsApp existem em diferentes sistemas operacionais e onde exatamente eles podem ser encontrados, você veio ao lugar certo. Esta postagem é focada no forense do WhatsApp e em quais dados podem ser obtidos de um dispositivo durante a análise forense.

Devemos observar desde o início que os sistemas operacionais diferem nos tipos de artefatos que eles contêm, portanto, extrair certos tipos de dados do WhatsApp de um dispositivo não significa automaticamente que os mesmos dados podem ser extraídos de outro dispositivo. Por exemplo, se você tem um computador desktop executando o Windows, é improvável que encontre chats do WhatsApp em seus discos (a exceção serão as cópias de backup do iOS). Laptops e dispositivos móveis, por outro lado, têm suas próprias peculiaridades. Vamos discutir este tópico com mais detalhes.
Artefatos do WhatsApp em dispositivos Android
Para extrair artefatos do WhatsApp de um dispositivo Android, um investigador precisa ter privilégios de superusuário (raiz) ou ser capaz de extrair um despejo de memória física do sistema de arquivos por outros meios (por exemplo, usando vulnerabilidades de software de um dispositivo específico).

Os arquivos do aplicativo estão localizados na memória do telefone na seção em que os dados do usuário são armazenados. Como regra, esta seção é chamada de Userdata . Os subdiretórios e os arquivos de programa estão localizados no caminho data data com whatsapp /.
wa db e msgstore bancos de dados db são os principais arquivos que contêm artefatos do WhatsApp no ​​Android.

wa O banco de dados db contém uma lista completa dos contatos do usuário do WhatsApp, incluindo números de telefone, nomes para exibição, carimbos de data e hora e outras informações mencionadas ao se registrar no WhatsApp. wa O arquivo db está localizado no caminho data data com whatsapp database / e possui a seguinte estrutura:
As tabelas mais interessantes do wa O banco de dados db para investigadores forenses é:
• wa contatos
Esta tabela contém informações sobre contatos do WhatsApp, como ID do contato, status, nome para exibição, registros de data e hora, etc. Captura de tela da tabela:
Estrutura da tabela:
Nome do campoSignificado
_identidadeNúmero de sequência do registro (definido pelo SQLite)
jidID do contato do WhatsApp (uma sequência estruturada como
'x@s.whatsapp.net', em que 'x' é o número de telefone do
contato)
is_whatsapp_userContém '1' se o contato corresponder a um usuário real do WhatsApp, '0' caso contrário
statusTexto na linha de status do contato
status_timestampContém um registro de data e hora no formato Unix Epoch Time (ms)
númeroNúmero de telefone associado ao contato
raw_contact_idNúmero de sequência do contato
Mostrar nomeNome de exibição do contato
tipo de telefoneTipo de telefone
phone_labelEtiqueta associada ao número de telefone
unseen_msg_countNúmero de mensagens enviadas pelo contato que foram
recebidas, mas ainda não foram lidas
photo_tsContém um registro de data e hora no formato Unix Epoch Time
thumb_tsContém um registro de data e hora no formato Unix Epoch Time
photo_id_timestampContém um registro de data e hora no formato Unix Epoch Time (ms)
nome dadoO valor do campo é o mesmo que em display_name para cada contato
wa_nameNome do contato do WhatsApp (conforme definido em seu perfil)
sort_nameNome do contato usado nas operações de classificação
apelidoApelido do contato do WhatsApp (conforme definido em seu perfil)
companhiaEmpresa (conforme definido no perfil do contato)
títuloTítulo (Senhor / Senhora / Senhoraconforme definido no perfil do contato)
deslocamentoDeslocamento
• sqlite seqüência
Esta tabela contém informações sobre o número de contatos.

• android_metadata
Esta tabela contém informações sobre a localização do idioma do WhatsApp.

banco de dados msgstore .db contém informações sobre mensagens enviadas, como número de contato, conteúdo da mensagem, status, carimbos de data e hora, informações sobre arquivos anexados etc. O arquivo msgstore .db está localizado no caminho /data/data/com.whatsapp/databases / e tem a seguinte estrutura:
As tabelas mais interessantes no arquivo msgstore.db para investigadores forenses são:

• sqlite sequence
Esta tabela contém informações gerais sobre o banco de dados, por exemplo, o número total de mensagens armazenadas, número total de bate-papos etc. Captura de tela da tabela:
  • message_fts_content
Contém o conteúdo das mensagens. Captura de tela da tabela:
  • mensagens
Esta tabela contém informações, como número de contato, corpo da mensagem, status, carimbos de data e hora e informações sobre os arquivos anexados. Captura de tela da tabela:
Estrutura da tabela:
Nome do campoSignificado
_identidadeNúmero de sequência do registro (definido pelo SQLite)
key_remote_jidID do WhatsApp do parceiro de comunicação
key_from_meDireção da mensagem: '0' = entrada, '1' = saída
key_idIdentificador de mensagem exclusivo
statusStatus da mensagem: '0' = recebido, '4' = aguardando no
servidor, '5' = recebido no destino,
'6' = mensagem de controle, '13' = mensagem aberta pelo destinatário (leitura)
need_push'2' se transmitir mensagem, '0' caso contrário
dadosConteúdo da mensagem quando media_wa_type = '0'
timestampContém um registro de data e hora no formato Unix Epoch Time (ms), o valor é obtido no relógio do dispositivo
media_urlURL do arquivo transmitido (quando media_wa_type = {'1', '2', '3'})
media_mime_typeTipo MIME do arquivo transmitido (quando media_wa_type = {'1', '2', '3'})
media_wa_typeTipo de mensagem: '0' = texto, '1' = imagem, '2' = áudio, '3' = vídeo,
'4' = cartão de contato, '5' = posição geográfica)
media_sizeTamanho do arquivo transmitido (quando media_wa_type = {'1', '2', '3'})
media_nameNome do arquivo transmitido (quando media_wa_type = {'1', '2', '3'})
media_captionContém as palavras "audio" e "video" para os valores correspondentes de media_wa_type (quando media_wa_type = {'1', '3'})
media_hashO hash SHA-256 codificado em Base64 do arquivo transmitido (quando
media_wa_type = {'1', '2', '3'})
media_durationDuração em seg. do arquivo de mídia transmitido (quando media_wa_type = {'1', '2', '3'})
origem'2' se transmitir mensagem, '0' caso contrário
latitudeLatitude do remetente da mensagem (quando media_wa_type = '5')
longitudeLongitude do remetente da mensagem (quando media_wa_type = '5')
thumb_imageInformações sobre arrumação
remote_recourceID do remetente (apenas para mensagens de bate-papo em grupo)
received_timestampHora do recebimento. Contém um registro de data e hora no formato Unix Epoch Time (ms). O valor é obtido do relógio do dispositivo (se key_from_me = '1', '-1', caso contrário
send_timestampNão utilizado (sempre definido como '-1')
receiver_server_timestampHora do recebimento do servidor central ACK. Contém um registro de data e hora no formato Unix Epoch Time (ms). O valor é obtido do relógio do dispositivo (se key_from_me = '1', '-1' caso contrário)
receiver_device_timestampHora do recebimento do destinatário ACK. Contém um registro de data e hora no formato Unix Epoch Time (ms). O valor é obtido do relógio do dispositivo (se key_from_me = '1', '-1' caso contrário)
read_device_timestampHora de abrir (ler) a mensagem. Contém um registro de data e hora no formato Unix Epoch Time (ms). O valor é obtido no relógio do dispositivo
plays_device_timestampHora de reproduzir a mensagem. Contém um registro de data e hora no formato Unix Epoch Time (ms). O valor é obtido no relógio do dispositivo
dados não tratadosMiniatura do arquivo transmitido quando media_wa_type = {'1', '3'}
container_countNúmero de destinatários (mensagem de difusão)
participant_hashUsado na transmissão de dados geográficos
EstrelouNão utilizado
quoted_row_idDesconhecido, geralmente contém o valor '0'
named_jidsNão utilizado
multicast_idNão utilizado
deslocamentoDeslocamento
Esta lista de campos não é completa. Versões diferentes do WhatsApp podem ter ou não alguns dos campos. Além disso, pode haver os campos media enc hash , edit_version , payment_transaction_id , etc.
  • mensagens miniaturas
Esta tabela contém informações sobre imagens transferidas e carimbos de data e hora. coluna timestamp mostra a hora no formato Unix Epoch Time (ms).
  • chat_list
Esta tabela contém informações sobre bate-papos. Captura de tela da tabela:
Além disso, ao examinar o WhatsApp em um dispositivo Android, observe os seguintes arquivos:

  • msgstore.db.cryptXX (onde XX é um ou dois dígitos de 0 a 12, por exemplo, msgstore.db.crypt12). O arquivo contém uma cópia de backup criptografado de mensagens WhatsApp (backup do msgstore Db arquivo). msgstore db O arquivo (ou arquivos) cryptXX está localizado no caminho data media / 0 / WhatsApp Databases / (cartão SD virtual) e mnt sdcard WhatsApp Databases / (cartão SD físico).
  • chave O arquivo contém uma chave criptográfica e está localizado no caminho data data com whatsapp arquivos / . É usado para descriptografar cópias de segurança do WhatsApp criptografadas.
  • arquivo com.whatsapp_preferences.xml contém informações sobre o perfil do WhatsApp e está localizado no caminho /data/data/com.whatsapp/shared_prefs/ .
Fragmento de arquivo:

\ <? Xml version = "1.0" encoding = "ISO-8859-1"?>… <String name = "ph"> 9123456789 </string> (o número de telefone associado à conta do WhatsApp)… <string name = "version"> 2.17.395 </string> (versão WhatsApp)… <string name = "my_current_status"> Olá! Estou usando o WhatsApp. </string> (a mensagem está sendo exibida na conta do usuário do WhatsApp)… <string name = "push_name"> Alex </string> (O nome de usuário do proprietário da conta do Whatsapp)
  • arquivo registration.RegisterPhone.xml contém informações sobre o número de telefone associado à conta do WhatsApp e está localizado no caminho /data/data/com.whatsapp/shared_prefs/ .
Conteúdo do arquivo:

<? 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>
• o axolote O arquivo db contém chaves criptográficas e outros dados necessários para identificar o proprietário da conta. O arquivo está localizado no caminho data data com whatsapp bancos de dados / .

• As configurações de bate-papo db O arquivo contém informações de configuração do aplicativo.

• O wa db O arquivo contém detalhes de contato, que são muito informativos e interessantes de uma perspectiva forense. Pode revelar informações sobre contatos excluídos.

Verifique os seguintes diretórios:

• / data / media / 0 / WhatsApp / Media / WhatsApp Images / . Contém arquivos gráficos transferidos.

• / data / media / 0 / WhatsApp / Media / WhatsApp Voice Notes / . Contém mensagens de voz no formato .opus.

• /data/data/com.whatsapp/cache/Profile Pictures / .
Contém arquivos gráficos: fotos do perfil dos contatos.

• /data/data/com.whatsapp/files/Avatars/ .
Contém arquivos gráficos: miniaturas das fotos do perfil dos contatos. Esses arquivos têm a extensão .j, mas na verdade são arquivos JPEG (JPG).

 /data/data/com.whatsapp/files/Avatars/ .
Contém arquivos gráficos: a foto do perfil e sua miniatura configurada como avatar pelo proprietário da conta.

• data data com whatsapp arquivos Logs / .
Contém um log de operação do programa (o arquivo whatsapp Log ) e cópias de backup dos logs da operação do programa (arquivos com os nomes no formato whatsapp-yyyy-mm-dd.1.log.gz).


Arquivos de log do WhatsApp:
Conteúdo do registro:

2017-01-10 09: 37: 09.757 LL_I D [524: WhatsApp Worker # 1] notificação de chamada / contagem perdida: 0 timestamp: 0
2017-01-10 09: 37: 09.758 LL_I D [524: WhatsApp Worker # 1] notificação / atualização de cancelamento perdida true true
01-01-2017 09: 37: 09.768 LL_I D [1: principal] app-init / load-me
2017-01-10 09: 37: 09.772 LL_I D [1: principal] arquivo de senha ausente ou ilegível
2017-01-10 09: 37: 09.782 LL_I D [1: main] statistics Mensagens de texto: 59 enviadas, 82 recebidas / Mensagens de mídia: 1 enviada (0 bytes), 0 recebida (9850158 bytes) / Mensagens offline: 81 recebidas ( Atraso médio de 19522 ms) / Serviço de mensagens: 116075 bytes enviados, 211729 bytes recebidos / Chamadas Voip: 1 chamadas efetuadas, 0 chamadas recebidas, 2492 bytes enviados, 1530 bytes recebidos / Google Drive: 0 bytes enviados, 0 bytes recebidos / Roaming: 1524 bytes enviados, 1826 bytes recebidos / Total de dados: 118567 bytes enviados, 10063417 bytes recebidos
10-01-2017 09: 37: 09.785 LL_I D [1: principal] gerenciador de estado-de-mídia / refresh-media-state / media de gravação
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: 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 / journal / delete false
2017-01-10 09: 37: 09.818 LL_I D [1: principal] msgstore / checkdb / data / data / com.whatsapp / database / msgstore.db
2017-01-10 09: 37: 09.819 LL_I D [1: main ] 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 / versão 1
2017-01-10 09: 37: 09.839 LL_I D [1: main] msgstore / canquery 10-01-2017
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 / parada: 8
2017-01-10 09: 37: 09.847 LL_I D [1: principal] msgstore / canquery 517 | tempo gasto: 8
2017-01-10 09: 37: 09.848 LL_I D [529: WhatsApp Worker # 3] gerente de estado de mídia / estado de atualização de mídia / armazenamento interno disponível: 1.345.622.016 total: 5.687.922.688
• / data / media / 0 / WhatsApp / Media / WhatsApp Audio / Contém arquivos de áudio recebidos.

• / data / media / 0 / WhatsApp / Media / WhatsApp Audio / Enviado / Contém arquivos de áudio enviados.

• / data / media / 0 / WhatsApp / Media / WhatsApp Images / Contém arquivos gráficos recebidos.

• / dados / mídia / 0 / WhatsApp / Mídia / Imagens do WhatsApp / Enviado / Contém arquivos gráficos enviados.

• / data / media / 0 / WhatsApp / Media / WhatsApp Video / Contém arquivos de vídeo recebidos.

• / data / media / 0 / WhatsApp / Media / WhatsApp Video / Enviado / Contém arquivos de vídeo enviados.

• / data / media / 0 / WhatsApp / Media / Fotos de perfil do WhatsApp /Contém arquivos gráficos associados ao proprietário da conta do WhatsApp.

Para economizar espaço de memória em um dispositivo Android, alguns dados do WhatsApp podem ser armazenados em um cartão SD. Na raiz, o cartão SD pode ter o diretório WhatsApp , onde os seguintes artefatos podem ser encontrados:
• Compartilhar ( /mnt/sdcard/WhatsApp/.Share/ ) Contém cópias de arquivos que foram enviados para outros usuários do WhatsApp.

• Lixeira ( /mnt/sdcard/WhatsApp/.trash/ ) Contém arquivos excluídos.

• Bancos de dados ( / mnt / sdcard / WhatsApp / Databases / ) Contém cópias de backup criptografadas. Eles podem ser descriptografados usando o arquivo de chave extraído da memória do dispositivo.


Arquivos localizados no subdiretório Databases :
• Mídia ( / mnt / sdcard / WhatsApp / Media / ) Contém os subdiretórios Papel de parede , WhatsApp áudio , WhatsApp Imagens , WhatsApp Perfil Fotos , WhatsApp vídeo , e WhatsApp notas de voz , que armazenam recebidos e enviados arquivos multimídia (gráficos, vídeos, mensagens de áudio , fotos associadas ao proprietário da conta do WhatsApp e papéis de parede).

• Imagens de perfil ( / mnt / sdcard / WhatsApp / Imagens de perfil / ) Contém arquivos gráficos associados ao perfil do proprietário da conta do WhatsApp.

• Às vezes, o cartão SD pode ter um diretório de arquivos ( /mnt sdcard WhatsApp Arquivos / ), que contém arquivos que armazenam configurações do programa e preferências do usuário.
Armazenamento de dados em alguns dispositivos móveis
Em alguns dispositivos móveis com Android, os artefatos do WhatsApp podem ser armazenados em um local diferente. Isso ocorre porque o software do sistema do dispositivo pode alterar o espaço de armazenamento dos dados do aplicativo. Por exemplo, os dispositivos móveis Xiaomi têm um recurso chamado Second Space, projetado para criar um segundo espaço de trabalho no dispositivo. Quando esse recurso é ativado, o local dos dados muda. Portanto, enquanto um dispositivo Android comum armazena dados do usuário no diretório data user / 0 / (que é um link para o usual data data / ), o segundo espaço de trabalho armazena dados do aplicativo em data user / 10 / . Vamos comparar ondewa o db está localizado:

• Smartphone Android normal: /data/user/0/com.whatsapp/databases/wa.db (que é equivalente a /data/data/com.whatsapp/databases/wa.db )

• Xiaomi Second Space: /data/user/10/com.whatsapp/databases/wa.db .
Artefatos do WhatsApp em dispositivos iOS
Ao contrário do sistema operacional Android, no iOS, os dados do WhatsApp são transferidos para uma cópia de backup (backup do iTunes), o que significa que a extração de dados do aplicativo não requer a extração do sistema de arquivos ou a criação de um despejo de memória física. A maioria das informações relevantes é armazenada no ChatStorage.sqlite banco de dados, localizado no caminho private var mobile Applications group net whatsapp WhatsApp shared / (em alguns programas, esse caminho é exibido como AppDomainGroup group net whatsapp WhatsApp shared ).

ChatStorage.sqlite estrutura:
Maioria das peças informativas do ChatStorage.sqlite banco de dados são os ZWAMESSAGE e ZWAMEDIAITEM tabelas.

Captura de tela do ZWAMESSAGE tabela:
Captura de tela mostrando o que acontece depois que uma página de phishing é aberta
Estrutura da tabela ZWAMESSAGE:
Nome do campoSignificado
Z_PKNúmero de sequência do registro (definido pelo SQLite)
Z_ENTIdentificador de tabela, tem o valor '9'
Z_OPTDesconhecido, geralmente possui valores de '1' a '6'
ZCHILDMESSAGESDELIVEREDCOUNTDesconhecido, geralmente tem o valor '0'
ZCHILDMESSAGESPLAYEDCOUNTDesconhecido, geralmente tem o valor '0'
ZCHILDMESSAGESREADCOUNTDesconhecido, geralmente tem o valor '0'
ZDATAITEMVERSIONDesconhecido, geralmente tem o valor '3' e pode ser um indicador de mensagem de texto
ZDOCIDDesconhecido
ZENCRETRYCOUNTDesconhecido, geralmente tem o valor '0'
ZFILTEREDRECIPIENTCOUNTDesconhecido, geralmente possui valores '0', '2', '256'
ZISFROMMEDireção da mensagem: '0' = entrada, '1' = saída
ZMESSAGEERRORSTATUSStatus da mensagem. '0' se a mensagem foi enviada / recebida
ZMESSAGETYPETipo de mensagem
ZSORTDesconhecido
ZSPOTLIGHSTATUSDesconhecido
ZSTARREDDesconhecido e não utilizado
ZCHATSESSIONDesconhecido
ZGROUPMEMBERDesconhecido e não utilizado
ZLASTSESSIONDesconhecido
ZMEDIAITEMDesconhecido
ZMESSAGEINFODesconhecido
ZPARENTMESSAGEDesconhecido e não utilizado
ZMESSAGEDATERegistro de data e hora no formato OS X Epoch Time
ZSENTDATEHora em que a mensagem foi enviada no formato OS X Epoch Time
ZFROMJIDID do remetente do WhatsApp
ZMEDIASECTIONIDContém o mês e o ano em que o arquivo de mídia foi enviado
ZPHASHDesconhecido e não utilizado
ZPUSHPAMENome do contato que enviou o arquivo de mídia no formato UTF-8
ZSTANZIDIdentificador de mensagem exclusivo
ZTEXTConteúdo da mensagem
ZTOJIDID do destinatário do WhatsApp
OFFSETDeslocamento
Captura de tela da tabela ZWAMEDIAITEM :
Estrutura da tabela ZWAMEDIAITEM:
Nome do campoSignificado
Z_PKNúmero de sequência do registro (definido pelo SQLite)
Z_ENTIdentificador da tabela, tem o valor '8'
Z_OPTDesconhecido, geralmente possui valores de '1' a '3'
ZCLOUDSTATUSTem o valor '4' se o arquivo foi baixado
ZFILESIZEContém o tamanho do arquivo (em bytes) para os arquivos baixados
ZMEDIAORIGINDesconhecido, geralmente tem o valor '0'
ZMOVIEDURATIONO tamanho do arquivo de mídia, para arquivos .pdf, pode conter o número de páginas
ZMESSAGEContém um número de sequência (diferente do especificado na coluna Z_PK)
ZASPECTRATIOA relação de aspecto, não utilizada, geralmente tem o valor '0'
ZHACCURACYDesconhecido, geralmente tem o valor '0'
ZLATTITUDELargura em pixels
ZLONGTITUDEAltura em pixels
ZMEDIAURLDATERegistro de data e hora no formato OS X Epoch Time
ZAUTHORNAMEAutor (para documentos pode conter nome de arquivo)
ZCOLLECTIONNAMENão utilizado
ZMEDIALOCALPATHNome do arquivo (com o caminho especificado) no sistema de arquivos do dispositivo
ZMEDIAURLURL em que o arquivo de mídia estava localizado. Se o arquivo foi transferido de um usuário para outro, ele será criptografado e sua extensão será a do arquivo transferido - .enc
ZTHUMBNAILLOCALPATHCaminho para a miniatura do arquivo no sistema de arquivos do dispositivo
ZTITLECabeçalho do arquivo
ZVCARDNAMEHash do arquivo de mídia. Pode conter identificador de remetente se o arquivo foi enviado para um grupo
ZVCARDSTRINGContém informações sobre o tipo de arquivo transferido (por exemplo, imagem / jpeg). Pode conter identificador de remetente se o arquivo foi enviado para um grupo.
ZXMPPTHUMBPATHCaminho para a miniatura do arquivo no sistema de arquivos do dispositivo
ZMEDIAKEYDesconhecido. Pode conter a chave de criptografia de um arquivo criptografado.
ZMETADATAMetadados da mensagem transferida
DeslocamentoDeslocamento
Outras tabelas interessantes no banco de dados ChatStorage.sqlite são:

• ZWAPROFILEPUSHNAME . Associa o ID do WhatsApp a um nome de contato

• ZWAPROFILEPICTUREITEM . Associa o ID do WhatsApp ao avatar de um contato

• PRIMARYKEY . Contém informações gerais sobre o banco de dados, como o número total de mensagens armazenadas, número total de bate-papos etc.

Além disso, ao examinar o WhatsApp em um dispositivo móvel iOS, observe os seguintes arquivos:

• BackedUpKeyValue sqlite Contém chaves criptográficas e outros dados necessários para a identificação do proprietário da conta. Está localizado abaixo do caminho/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/ .

• ContactsV 2. sqlite Contém informações sobre os contatos do usuário, como nomes, números de telefone, status do contato (como texto), ID do WhatsApp etc. Ele está localizado no caminho private var mobile Applications group net whatsapp WhatsApp compartilhado / .

• consumidor versão Contém o número da versão do WhatsApp e está localizado no caminho/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/ .

• current_wallpaper.jpg Contém os papéis de parede atuais do plano de fundo do WhatsApp e está localizado no caminho /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/ . Versões mais antigas do aplicativo usam o arquivo de papel de parede , localizado no caminho /private/var/mobile/Applications/net.whatsapp.WhatsApp/Documents/ .

• contatos bloqueados dat Contém informações sobre contatos bloqueados e está localizado no caminho /private/var/mobile/Applications/net.whatsapp.WhatsApp/Documents/ .

• pw datContém uma senha criptografada e está localizada no caminho /private/var/mobile/Applications/net.whatsapp.WhatsApp/Library/ .

• net.whatsapp.WhatsApp.plist (ou group.net.whatsapp.WhatsApp.shared.plist ). Contém informações sobre o perfil do WhatsApp e está localizado no caminho /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/Library/Preferences/ .
Conteúdo do arquivo group.net.whatsapp.WhatsApp.shared.plist :
Certifique-se de examinar também os seguintes diretórios:

  • /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/Media/Profile/ Contém miniaturas de contatos e grupos (arquivos com a extensão .thumb ), avatares de contato e o avatar do proprietário da conta do WhatsApp (a Foto arquivo .jpg ).

  • private var mobile Applications group net whatsapp WhatsApp shared Message Media / Contém arquivos multimídia e suas miniaturas.

  • /private/var/mobile/Applications/net.whatsapp.WhatsApp/Documents/ Contém um log de operação do programa (as chamadas log arquivo) e cópias de backup dos logs de operação do programa (as chamadas backup . arquivo de log ).

  • /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/stickers/ Contém adesivos (os arquivos .webp ).

  • /private/var/mobile/Applications/net.whatsapp.WhatsApp/Library/Logs/ Contém os logs de operação do programa .
Artefatos do WhatsApp no ​​Windows
Os artefatos do WhatsApp no ​​Windows podem ser encontrados em vários lugares. Mais importante ainda, são os diretórios que contêm arquivos executáveis ​​e auxiliares (para Windows 8/10):

• \ Arquivos de Programas (x86) \ WhatsApp \

• \ Usuários \% Perfil do usuário% \ AppData \ Local \ WhatsApp \

• \ Usuários \% Perfil do usuário% \ AppData \ Local \ VirtualStore \ Arquivos de Programas (x86) \ WhatsApp \

diretório \ Users \% User profile% \ AppData \ Local \ WhatsApp \ armazena o arquivo de log SquirrelSetup.log , que contém informações sobre verificações de atualizações e instalação do programa.

Users \% Usuário O diretório % \ AppData Roaming WhatsApp \ do perfil possui vários subdiretórios:
Estrutura da subpasta "domínio"
arquivo main-process.log contém informações sobre a operação do WhatsApp.

subdiretório de bancos de dados contém Databases.db . Este arquivo, no entanto, não possui nenhuma informação sobre bate-papos ou contatos.

Os arquivos mais interessantes de uma perspectiva forense são os encontrados no diretório Cache . Estes são arquivos com o nome _ ******* (onde * é um número de 0 a 9) contendo arquivos e documentos multimídia criptografados. Alguns deles, no entanto, podem não ser criptografados. Os arquivos mais interessantes aqui são dados _0 , dados _1 , dados _2 e dados _3 , localizados no mesmo subdiretório. Esses arquivos contêm links externos para arquivos e documentos multimídia transferidos criptografados.

Exemplo de informações contidas no arquivo data_1:
Os dados _3 também podem conter arquivos gráficos.

data _2 contém avatares de contato (eles podem ser restaurados pesquisando cabeçalhos de arquivo).

Avatares contidos em data_2 :
Captura de tela do conteúdo do arquivo do kit de phishing, que envia credenciais roubadas para o endereço de e-mail do agente da ameaça
Não é possível encontrar bate-papos na memória do computador. No entanto, é possível encontrar:

• arquivos multimídia

• documentos transferidos via WhatsApp

• informações de contato sobre o proprietário da conta
Artefatos do WhatsApp no ​​MacOS
O MacOS possui artefatos do WhatsApp semelhantes aos encontrados no sistema operacional Windows.

Para versões mais antigas do MacOS, os arquivos do programa estão localizados nos seguintes diretórios:

• \ Aplicativos \ WhatsApp.app

• \ Aplicativos \ ._ WhatsApp.app

• \ Usuários \% Perfil do usuário% \ Biblioteca \ Preferências

• \ Usuários \% Perfil do Usuário% \ Biblioteca \ Logs \ WhatsApp

• \ Usuários \% Perfil do usuário% \ Biblioteca \ Estado do Aplicativo Salvo \ WhatsApp.savedState

• \ Usuários \% Perfil do usuário% \ Biblioteca \ Scripts do Aplicativo

• \ Usuários \% Perfil do Usuário% \ Biblioteca \ Suporte ao Aplicativo \ CloudDocs

• \ Usuários \% Perfil do usuário% \ Biblioteca \ Suporte a Aplicativos \ WhatsApp.ShipIt

\ Users \% Perfil do usuário% \ Library \ Containers \ com.rockysandstudio.app-for-whatsapp

• \ Users \% Perfil do usuário% \ Library \ Mobile Documents \ <variável de texto> WhatsApp \ Accounts
Este diretório contém subdiretórios cujos nomes são telefone números associados ao proprietário da conta do WhatsApp.

• Users \% Usuário perfil % \ Library Caches WhatsApp ShipIt \
Este diretório contém informações sobre a instalação do programa.

• Users \% Usuário perfil % \ Imagens iPhoto biblioteca de fotos Masters \ ; : \ Usuários \% Usuário perfil % \ Imagens iPhoto biblioteca de fotos Miniaturas \
Esses diretórios contêm os arquivos de serviço do programa, incluindo fotos e miniaturas dos contatos do WhatsApp.

Users \% Usuário profile % \ Library Caches WhatsApp \
Este diretório contém apenas vários bancos de dados SQLite, que são usados ​​para armazenamento em cache de dados.

• \ Users \% Perfil do usuário% \ Library \ Application Support \ WhatsApp \

Este diretório contém vários subdiretórios:
Captura de tela da conta do ator de ameaças no fórum subterrâneo safeskyhacks.com
  • Users \% Usuário perfil % \ Library Application Suporte WhatsApp Cache \ O diretório contém os arquivos dados _0 , dados _1 , dados _2 , dados _3 , bem como arquivos com os nomes _ ******* (onde * é um número de 0 a 9). Para obter informações sobre que tipo de dados são armazenados nesses arquivos, consulte a seção "Artefatos do WhatsApp no ​​Windows" deste artigo.

  • Users \% Usuário perfil % \ Library Application Suporte WhatsApp IndexedDB \ O diretório pode conter arquivos multimídia (sem extensões).

  • arquivo main-process.log contém informações sobre a operação do WhatsApp.

Desde o OS X Yosemite, os artefatos podem estar localizados em novos locais:

  • \ Users \% Perfil do usuário% \ Library \ Containers \ desktop.WhatsApp

  • \ Users \% Perfil do usuário% \ Library \ Containers \ desktop.WhatsApp \ Data \ Library \ Suporte de Aplicativos \ WhatsApp \ Preferences

\ Users \% Perfil do usuário% \ Library \ Containers \ desktop.WhatsApp \ Data \ Library \ Logs \ WhatsApp

  • \ Users \% Perfil do usuário% \ Library \ Containers \ desktop.WhatsApp \ Data \ Library \ Estado do Aplicativo Salvo \ desktop.WhatsApp.savedState

  • \ Users \% Perfil do usuário% \ Library \ Containers \ desktop.WhatsApp \ Data \ Library \ Application Scripts

  • \ Users \% Perfil do usuário% \ Library \ Containers \ desktop.WhatsApp \ Data \ Library \ Application Support \ iCloud

  • \ Users \% Perfil do usuário% \ Library \ Containers \ desktop.WhatsApp \ Data \ Library \ Application Support \ WhatsApp \ IndexedDB O diretório pode conter arquivos multimídia (sem extensões).

  • \ Users \% Perfil do usuário% \ Library \ Containers \ desktop.WhatsApp \ Data \ Library \ Suporte de Aplicativos \ WhatsApp \ GPUCache

  • \ Users \% Perfil do usuário% \ Library \ Containers \ desktop.WhatsApp \ Data \ Library \ Application Support \ WhatsApp \ Cache O diretório contém os arquivos com os nomes f _ ******* (onde * é um número de 0 9). Para obter informações sobre que tipo de dados são armazenados nesses arquivos, consulte a seção "Artefatos do WhatsApp no ​​Windows" deste artigo.

Fontes

1. Análise forense do WhatsApp Messenger em smartphones Android, por Cosimo Anglano, 2014.

2. Whatsapp Forensics: Sistema de gerenciamento de dados e dados de base no aplicativo Android e iOS de Ahmad Pratama, 2014.

Comentários

Ebook

Postagens mais visitadas