Extração de WhatsApp – Sem root
Desde 2016, o WhatsApp implementou a “criptografia de ponta a ponta”, visando trazer mais segurança as mensagens e chamadas realizadas pelo aplicativo.
Além das atualizações de segurança do próprio app, a grande Google também disponibiliza ao sistema operacional Android, diversas atualizações com relação às vulnerabilidades, fazendo com que naturalmente, os exploits existentes para suas versões anteriores não sejam mais efetivos.
Isso trabalha em conjunto. Uma vez que novas versões do sistema corrigem falhas e o próprio WhatsApp também, as novas versões do Whatsapp impedem que ele seja utilizado em aparelhos que não foram atualizados a certo tempo. Inutilizando a possibilidade de explorar vulnerabilidades antigas.
Então, a extração do banco de dados do WhatsApp podia ser realizada por alguns meios, incluindo o downgrade do app, que permitia instalar a versão anterior a implementação da criptografia concedendo assim, acesso ao banco de dados com todo o conteúdo do chat como evidência, sem a necessidade de “rootar” o aparelho (adquirir privilégios de administrador, mais conhecido como: acesso root).
O root do aparelho não é a opção mais viável e tampouco está disponível com ferramentas open source pois, cada modelo conta com uma forma diferente de conseguir acesso root, explorando vulnerabilidades diferentes.
Outro método não muito utilizado, são os de exploits que concediam permissão de root sem rootar o aparelho, ou seja, uma vez que reiniciado você perdia o acesso ao privilégio.
Porém, durante a execução, era possível via ADB, extrair alguns conteúdos da partição “/Data” no qual o banco de dados de diversos apps reside, incluindo o WhatsApp. Todavia essa vulnerabilidade não tem muito sucesso em versões posteriores ao Android 6.0.
Hoje, os arquivos “.db”(data base) ficam alocados na partição “/Data” e o método de downgrade não se mostra mais efetivo após a versão 6 do Android, que trouxe consigo correções no patch de segurança, a fim de evitar acesso à partição “/Data” para o usuário não root via downgrad ou exploits descobertos até o momento.
Falaremos então sobre o Forensic Tools e a Extração do WhatsApp sem necessidade do root.
Desenvolvido pelo Perito Criminal Marcelo Aleksandravicius do Rio de Janeiro, o Forensic Tools nasceu na intenção de ser um software capaz de extrair dados do WhatsApp e apresentar um relatório detalhado sobre o chat a ser analisado.
É disponibilizado para apenas para Forças da Lei.
Atualmente o Forensic Tools está na versão 2.0 e apresenta características únicas:
- Único software que oferece extração de WhatsApp em todas as versões do Android (Android 4, 5, 6 ,7 ,8 ,9…).
obs.: Versão 3 não havia implementado o sistema de backup de apps e seus DBs via Android Backup
- Realiza a extração de todo chat do WhatsApp.
- Recuperação de conversas deletadas (Conversas ≠ Mensagens).
- Mescla de banco de dados.
- Report do chat em HTML com área possibilidade de customização.
- Pode ser usado para gerar relatório de banco de dados anteriormente extraídos.
Disponível para Windows, Linux e Mac.
Conhecendo o Forensic Tools 2.0:
A interface inicial já apresenta as principais funcionalidades:
1 – Extração de dados do WhatsApp do dispositivo conectado via USB.
2 – Reporte de Database: Permite gerar um relatório de qualquer banco de dados(de WhatsApp) anteriormente extraídos, ao clicar nele, você aponta o diretório onde está salvo o banco de dados (msgstore.db) do WhatsApp
Logo, após isso, basta apontar quais arquivos deseja usar para gerar o relatório.
É necessário apontar o “msgstorage.db” e caso tenha, pode também optar por apontar o diretório de mídias salvas, caso já tenha realizado a extração.
O arquivo “wa.db” é responsável por trazer o nome dos contatos contidos no WhatsApp.
Ele é apontado automaticamente se estiver no mesmo diretório do arquivo “msgstorage.db”.
Após isso, é iniciado a criação do report:
3 – Você pode abrir o diretório dos templates para personalizar a visualização do relatório gerado em HTML.
4 – Criação a partir da pasta Avatar, a extração para a pasta Profile Pictures:
Transformando em imagens “*.jpg”
Outras opções:
5 – Descriptografa banco de dados já extraídos, caso tenha a chave (key)
6 – Mescla o banco de dados mais atual com seus respectivos backups, gerando um único e mais completo. Sendo assim, caso você tenha uma estrutura similar a esta abaixo, ele irá gerar um único arquivo mesclando o msgstore.db(atual e mais recente) com os msgstore.2020-02-16.1, msgstore.2020-02-17.1, msgstore.2020-02-18.1 e assim por diante, gerando um arquivo com o nome msgstore-merged.db.
7 e 8- Extração de dados via USB ou via Bluetooth
Extração de agenda, registros de chamadas e sms.*
*Em desenvolvimento para uma extração mais completa de dados de outros apps, criando um report detalhado.
Seguindo ao principal, a realização da Extração do WhatsApp sem root:
Conecte o aparelho via USB e sem a necessidade do root, prossiga com os procedimentos.
Clicando em WhatsApp Fast Extraction você terá algumas opções:
Extrair apenas o Banco de Dados (opção mais rápida) ou deixar selecionado a opção Extract Media Files, extrairá toda a mídia referente ao aplicativo.
A opção “Merge Old Databases” mescla o atual banco de dados com os outros encontrados na extração.
Essa opção é a que possibilita informações referentes a conversas apagadas.
Fica uma observação: Conversas ≠ Mensagens
Conversa: Relativo a todo um histórico de conversa. A recuperação neste caso, mostra que determinada conversa foi removida por inteiro.
Mensagens: Quando o usuário dentro de uma conversa apaga uma ou mais mensagens.
A mesma pode ser recuperada processando o arquivo de wal file “msgstore.db-wal”, que também é extraído pelo Forensic Tools, porém, não processado (até o momento).
Após isto, basta apontar o diretório onde será salva a extração e seguir o processo.
Antes de iniciar:
• Retire o Bloqueio de Tela
- Ative o Modo Desenvolvedor:
– Habilite o Desbloqueio OEM
– Ative a Depuração USB
Com tudo pronto, inicie a extração:
O log é apresentado durante o processo como um Output e pode ser exportado após a extração.
Após o início do processo o celular é reiniciado, e é apresentada uma mensagem:
Aguarde o aparelho reiniciar e com a tela desbloqueada, clique em “OK” e o Forensic Tools continuará o processo.
Ele irá realizar os procedimentos selecionados no início da extração e gerar o report.
O tempo de extração e processamento depende da quantidade de dados armazenados pelo WhatsApp.
Em um único processo ele:
– Extraí o banco de dados e todos os arquivos que estão no diretório “…\com.whatsapp\” dentro da partição data.
Incluindo o wal file para recuperação de mensagens deletadas, key (a chave de criptografia daquele usuário) entre outros arquivos.
Finalizado o processo, temos então a apresentação do Relatório:
Contém de forma detalhada:
– Lista de contatos: Seu número, nome registado no aparelho número de ID na agenda e no Wa.db.
– Conversas separadas por conversa assim como no app:
- Número total de mensagens (de cada conversa).
- Número total de imagens e áudios trocados entre usuários.
- Filtro de apenas textos, apenas imagens ou apenas áudios.
• Thumbnails das imagens (mesmo sem mídia existente, desde que a thumbnail possa ter sido extraída do banco de dados)
– Apresentação de data e hora do envio das mensagens e em caso de mídia, apresenta o diretório onde está /estava presente determinado arquivo.
– Caso ele tenha sido extraído como mídia, ao clicar o arquivo é aberto.
– Áudios podem ser executados como se você estivesse utilizando o próprio app sem a necessidade de sair do relatório.
Considerações:
Forensic Tools 2.0 apresenta métodos únicos de extração de WhatsApp mesmo nas versões mais atuais do sistema Android.
- Extração de forma rápida
- Relatório detalhado da extração realizada, considerando a quantidade de dados que são processados e sua eficiência em apresentar detalhes sem a necessidade de sair do relatório para tal. Não tenho conhecimento de ferramentas que tenham performance semelhante a esta.
- Processa o banco de dados de extrações anteriores, caso você já as tenha adquirido de alguma outra maneira, permitindo gerar relatórios de antigos trabalhos em uma nova visão.
- Apresenta as evidências de forma prática e o relatório pode facilmente ser inserido dentro da documentação final (Parecer Técnico, Laudo Pericial etc.).
Caso você possua a licença, siga o vídeo a seguir para instalar e configurar a ferramenta.
Colaborando
Segundo o próprio Perito e Desenvolvedor, existem países com demanda anual que ultrapassam a aquisição de 2000 smartphones por ano.
Então aos que gostaram da ferramenta, existe a possibilidade de se tornar um “Patreon (patrocinador/investidor) ” do projeto. Isso porque a velocidade com que novas funcionalidades irão surgir, são dependentes do tempo despendido no desenvolvimento. Inclusive, o sucessor do Forensic Tools já foi apresentado e recebe o nome de Forensic Desk, assim como domínio do site.
Existem algumas formas de se colaborar, e você pode verificar elas diretamente aqui em: forensicdesk.com/subscribe
Agradecimentos:
Ao Renan Cavalheiro e toda equipe da Academia de Forense Digital, que tem apoiado o estudo e crescimento de seus alunos pós curso.
Em especial ao Desenvolvedor e Perito Criminal Marcelo Aleksandravicius responsável pela Forensidesk, que me concedeu autorização para dissertar sobre o software.
Meu muito obrigado.
Contatos:
Autor: Iago Blambila
Iagoblam@gmail.com
Academia de Forense Digital:
renan.cavalheiro@academiadeforensedigital.com.br
Desenvolvedor: Marcelo Aleksandravicius