Phishing do WhatsApp, iMessage, Signal usa renderização de URL

Um Phishing do WhatsApp, iMessage, Signal usa renderização de URL. Conheça essa técnica usada pra criar mensagens de aparência legítima.

Uma técnica de renderização que afeta as principais plataformas de mensagens e e-mail do mundo, incluindo Instagram, iMessage, WhatsApp, Signal e Facebook Messenger, permitiu que os agentes de ameaças criassem mensagens de phishing de aparência legítima nos últimos três anos.

Phishing do WhatsApp, iMessage, Signal usa renderização de URL

Phishing do WhatsApp, iMessage, Signal usa renderização de URL
Phishing do WhatsApp, iMessage, Signal usa renderização de URL – Snap do vídeo de demonstração de exploração (GitHub)

As vulnerabilidades estão renderizando bugs que fazem com que a interface dos aplicativos exiba URLs incorretamente com caracteres de controle Unicode RTLO (substituição da direita para a esquerda) injetados, tornando o usuário vulnerável a ataques de falsificação de URI.

Ao injetar um caractere RTLO em uma string, ele faz com que um navegador ou aplicativo de mensagens exiba a string da direita para a esquerda em vez de sua orientação normal da esquerda para a direita.

Este caractere é usado predominantemente para a exibição de mensagens em árabe ou hebraico.

Isso permite que ataques de phishing falsifiquem domínios confiáveis ​​em mensagens enviadas a usuários no WhatsApp, iMessage, Instagram, Facebook Messenger e Signal, fazendo com que pareçam subdomínios legítimos e confiáveis ​​de apple.com ou google.com.

As vulnerabilidades foram atribuídas aos seguintes CVEs e são conhecidas por funcionar nas seguintes versões de aplicativos de mensagens instantâneas:
CVE-2020-20093 – Facebook Messenger 227.0 ou anterior para iOS e 228.1.0.10.116 ou anterior no Android
CVE-2020-20094 – Instagram 106.0 ou anterior para iOS e 107.0.0.11 ou anterior no Android
CVE-2020-20095 – iMessage 14.3 ou anterior para iOS
CVE-2020-20096 – WhatsApp 2.19.80 ou anterior para iOS e 2.19.222 ou anterior no Android

O Signal não possui um ID CVE correspondente porque o método de ataque específico foi divulgado a eles recentemente.

Os IDs CVE são tão antigos porque a descoberta inicial das vulnerabilidades ocorreu em agosto de 2019 por um pesquisador chamado ‘zadewg’.

O pesquisador de segurança freelance Sick.Codes notou as falhas quando o Programa CVE as publicou recentemente no Twitter e decidiu investigar mais.

O Sick.Codes entrou em contato com o pesquisador para perguntar se ele havia acabado de tornar seu repositório público ou não, e o pesquisador respondeu com surpresa sobre os CVEs serem lançados agora, depois de tanto tempo.

O pesquisador estava relutante em compartilhar mais informações sobre o método de exploração das falhas, que havia sido demonstrado apenas em vídeo, então Sick.Codes decidiu replicar a exploração por conta própria e escrever uma prova de conceito (PoC) para ela.

Os dois pesquisadores de segurança concordaram com o lançamento imediato do PoC no GitHub, já que as vulnerabilidades podem estar sob exploração ativa há muito tempo.

A exploração é um abuso de uma linha que abusa da confiança dos gTLDs do iOS e do Android e do suporte à exibição de texto bidirecional e é tão simples quanto adicionar um único caractere de controle ‘\u202E’ entre dois URLs válidos.

Por exemplo, o PoC lançado abusa de google.com para o URL mascarado e clicável e define bit.ly/3ixIRwm como destino.

Phishing do WhatsApp, iMessage, Signal usa renderização de URL
Phishing do WhatsApp, iMessage, Signal usa renderização de URL – O URL resultante mostrado como mesclado para o destinatário (Sick.Codes)

Após o caractere de controle RTLO injetado, a URL é revertida devido a tratá-la como um idioma “da direita para a esquerda” (árabe, hebraico etc.), portanto, o agente da ameaça deve considerar ao registrar o domínio de destino.

Por exemplo, usar um URL ‘gepj.xyz’ criado apareceria como o arquivo de imagem JPEG inócuo ‘zyx.jpeg’, enquanto criar “kpa.li” apareceria como um arquivo APK ‘li.apk’ etc.

Na realidade, esses destinos podem hospedar qualquer coisa, então a falsificação é altamente evasiva e difícil de detectar.

No entanto, o site BleepingComputer notou algumas peculiaridades ao testar esse bug no iMessage, Signal e até no Gmail. Por exemplo, embora os URLs combinados possam aparecer como um único URL, na verdade eles são tratados como dois URLs.

Isso significa que, se um usuário clicar no lado esquerdo da URL, ele irá para Google.com e, se clicar no lado direito, irá para BleepingComputer.com.

Ainda mais estranho, enquanto o iMessage no iOS 15 mostra o texto ao contrário na tela de visualização da lista de mensagens, ele remove a string inversa na mensagem real.

Phishing do WhatsApp, iMessage, Signal usa renderização de URL
Phishing do WhatsApp, iMessage, Signal usa renderização de URL – A lista de visualização de mensagens do iMessage mostra o texto invertido

Outros testes realizados pelo BleepingComputer mostram que essa falha de renderização não funciona como esperado no Gmail, Outlook.com ou ProtonMail.

Enquanto o URL é exibido como uma única string com o texto reverso, o caractere RTLO Unicode no hiperlink é convertido em seu equivalente hexadecimal, deixando um URL como:
http://www.google.com/%E2%80%AEwww.edivaldobrito.com.br
O PoC de uma linha está disponível publicamente e é fácil de usar, mesmo por pessoas com pouca compreensão técnica ou sem habilidades de hackers.

Na verdade, há evidências abundantes de exploração baseada em RTLO na natureza, mesmo quando envolve conceitos técnicos mais complexos.

O mesmo ataque provavelmente é aplicável a muitos outros aplicativos de mensagens instantâneas e e-mail, mas apenas os mencionados acima foram confirmados como vulneráveis.

O Telegram também costumava ser vulnerável, mas foi o primeiro a resolver o problema por meio de uma atualização de segurança.

Além disso, a equipe de desenvolvimento do Signal respondeu imediatamente ao relatório do Sick.Codes e disse ao pesquisador que uma correção está chegando na próxima versão do aplicativo.

Sick.Codes disse ao BleepingComputer que os aplicativos de mensagens listados acima ainda são vulneráveis ​​a esse método de renderização.

O NIST está atualmente investigando o escopo e o impacto das vulnerabilidades, portanto, se elas foram corrigidas em versões anteriores, isso será determinado pela organização em breve.

Dessa forma, os usuários dos aplicativos mencionados devem ser cautelosos ao receber mensagens contendo URLs, sempre clicar no lado esquerdo e permanecer alerta para atualizações de segurança do aplicativo recebidas que possam solucionar o problema.

Sick.Codes disse que o método de renderização ainda é funcional em todos os aplicativos testados e sugere que os usuários de todos os aplicativos de mensagens instantâneas sejam os seguintes:

“Desative as visualizações de links em tudo, especialmente aplicativos de e-mail e qualquer coisa relacionada a notificações. Não visite sites estranhos com pop-ups. Não clique em brindes aleatórios.

Você já tem um telefone, então use seus favoritos e certifique-se de mantê-lo atualizado. Dada a quantidade de dias zero circulando, especialmente os divulgados recentemente para iOS, seria perigoso confiar em URLs em mensagens instantâneas.”

Como os caracteres RTLO Unicode têm um uso legítimo, não está claro se os aplicativos de mensagens corrigirão isso, pois podem quebrar a funcionalidade legítima.

Sobre o Edivaldo Brito

Edivaldo Brito é analista de sistemas, gestor de TI, blogueiro e também um grande fã de sistemas operacionais, banco de dados, software livre, redes, programação, dispositivos móveis e tudo mais que envolve tecnologia.

Deixe um comentário

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.