Analisando o impacto da vulnerabilidade FakesApp e decifrando o tráfego do WhatsApp Web com “WhatsApp Decoder” (Parte 2/2)

sexta-feira, 1 de março de 2019

decifrando o tráfego do WhatsApp imagem

Retomamos o post anterior, no qual realizamos a introdução às vulnerabilidades FakesApp publicadas pelos pesquisadores da Checkpoint, aprendemos como instalar a extensão WhatsApp Decoder e a decifrar o tráfego do WhatsApp. Assim, para replicar o ataque deveríamos seguir os seguintes passos: mudar o texto entrante da mensagem pelo desejado, modificar vários parâmetros, criptografar a mensagem nova, copiá-la em extensão base64, decodifica-la e, por último, enviá-la.

Vejamos o este processo passo-a-passo: a seguinte mensagem pertence à uma conversa que eu tive com meu pai durante o momento em que preparei as capturas de tela para esse post:

whatsapp decryption and encryption imagen

Para testar a vulnerabilidade, substituo a mensagem para indicar que o produto que "menos" é vendido (em vez do "mais") é a telefonia móvel:

WhatsApp desencriptación y encriptación imagen

Segundo os pesquisadores, antes de criptografar a mensagem é necessário modificar o valor ID a qualquer outro que não exista na base de dados, assim como o messageTimeStamp. Feito isso, basta clicar no botão “Encrypt” e copia os valores na janela “Intercept”, onde temos a mensagem original esperando para ser trocada pelo conteúdo falso.

WhatsApp desencriptación y encriptación imagen 2

Uma vez que tenhamos a mensagem modificada em base64, basta copiá-la na janela “Intercept”, pressionar as teclas “CTRL-SHIFT-B” para decodificá-la do formato base64.

burp suite community edition imagen

Agora basta clicar no botão “Forward” para enviar a mensagem modificada para a seção do WhatsApp Web. Cabe notar que há algumas ocasiões que, apesar de seguir os passos indicados, a mensagem modificada não é visualizada na seção web. 

conversación WhatsApp imagen

Como podemos observar, a mensagem modificada não chega a ser visualizada na conversa em grupo do WhatsApp Web, porque não foi possível replicar o ataque. Ainda assim, conseguimos reproduzi-lo em outras ocasiões, tal como podemos ver na captura de tela seguinte, durante um teste em que conseguimos modificar a mensagem enviada pelo meu amigo David com emojis, substituindo-os por texto. 

conversación WhatsApp con emoticonos imagen

Como mostrado na imagem, a mensagem inclui o texto “guapo” que ele jamais enviou. Foi a segunda mensagem com emojis que eu modifiquei na minha seção do WhatsApp Web para realizar o processo de troca de conteúdo, veja abaixo.

Emojis WhatsaApp imagen

Nesse ponto, bastou responder na seção do WhatsApp Web para tanto ele quanto eu víssemos o texto na citação, conseguindo reproduzir palavras que ele não havia escrito e replicar assim o FakesApp. 

Conclusões Finais
Em alguns casos não é possível reproduzir em tempo real o ataque FakesApp, se trata de um processo relativamente complexo que deve ser executado em um curto espaço de tempo. Ainda assim, é interessante conhecer a anatomia desse ataque para poder utilizar a extensão para decifrar mensagens e analisar o protocolo de comunicação usado pelo WhatsApp.

Além do tráfego criptografado, pudemos perceber que são transmitidos alguns pacotes de texto aberto, que não tem a ver com as conversas em si, mas com signaling.

Tráfico WhatsApp web

A partir do conteúdo visualizado na imagem anterior, podemos deduzir que o usuário está mantendo uma conversão com o contato identificado pelo parâmetro “id” e que esse contato está atualmente no estado “composing”, que é mostrado para os usuários como “escrevendo...”

Isso pode abrir porta para um atacante obter informação sobre as pessoas que estariam falando com o usuário comprometido, incluindo números de telefone e outra informação que pudesse ser extraída desses pacotes não criptografados. Tudo isso, claro, depende da realização de um ataque man in the middle que permita a intercepção HTTPS. 

Como vimos, as vulnerabilidades FakesApp não tem impacto sobre a confidencialidade das conversas¸ ainda que se possa gerar algum caos em cenários determinados, sobretudo se a tática combinar engenharia social. Sua exploração requer algumas condições específicas e as mensagens manipuladas devem ser interceptadas em tempo real. Ainda assim, não deixa de ser um trabalho de investigação interessante, que pode ajudar a aprofunda o conhecimento dos detalhes técnicos sobre um dos sistemas de mensagens instantâneas mais utilizados no planeta.

Você pode também estar interessado em:
» Analisando o impacto da vulnerabilidade FakesApp e decifrando o tráfego do WhatsApp Web com “WhatsApp Decoder” (Parte 1/2)

Deepak Daswani
Chief Security Ambassador de ElevenPaths
@dipudaswani



Nenhum comentário:

Postar um comentário