A equipe de pesquisa da ESET descobriu um exploit zero-day direcionado ao Telegram para Android, que apareceu à venda em um fórum clandestino em 6 de junho de 2024. Usando o exploit para se aproveitar de uma vulnerabilidade que chamamos de EvilVideo, os atacantes podem compartilhar payloads maliciosos do Android por meio de canais, grupos e chats do Telegram e fazê-los aparecer como arquivos de mídia.

Conseguimos localizar um exemplo do exploit, o que nos permitiu analisá-lo mais a fundo e denunciá-lo ao Telegram em 26 de junho de 2024. Em 11 de julho, o Telegram lançou uma atualização que corrige a vulnerabilidade nas versões 10.14.5 e superiores do aplicativo.

A Figura 1 é um vídeo que demonstra e explica a vulnerabilidade EvilVideo.

Figura 1. Explicação da vulnerabilidade EvilVideo.

Principais aspectos deste post:

  • Em 26 de junho de 2024, em um fórum clandestino, encontramos um anúncio de um exploits zero-day direcionado ao Telegram para Android.
  • Chamamos a vulnerabilidade de EvilVideo e a relatamos ao Telegram; a equipe deles a corrigiu em 11 de julho de 2024.
  • O EvilVideo permite que os atacantes enviem payloads maliciosos que aparecem como arquivos de vídeo no Telegram para Android sem correção.
  • O exploit só funciona no Telegram para Android nas versões 10.14.4 e anteriores.

Descoberta

Encontramos o exploit à venda em um fórum clandestino: veja a Figura 2.

Figure 2. Post on an underground forum

Figura 2. Anúncio em um fórum clandestino.

Na publicação, o vendedor exibe capturas de tela e um vídeo testando o exploit em um canal público do Telegram. Conseguimos identificar o canal em questão, onde o exploit ainda está disponível. Isso nos permitiu obter o payload e testá-lo por conta própria.

Análise

Nossa análise do exploit revelou que ele funciona nas versões 10.14.4 e anteriores do Telegram. Especulamos que o payload específico provavelmente foi criado usando a API do Telegram, pois ele permite que os desenvolvedores carreguem programaticamente arquivos de mídia criados especificamente para chats ou canais do Telegram.

O exploit parece depender da capacidade do cibercriminoso de gerar um payload que exibe um aplicativo Android como uma visualização de mídia em vez de um anexo binário. Uma vez compartilhada no chat, o payload malicioso aparece como um vídeo de 30 segundos (Figura 3).

Figure 3. Example of exploit
Figura 3. Exemplo do exploit.

Por padrão, os arquivos de mídia recebidos via Telegram são configurados para serem baixados automaticamente. Isso significa que os usuários com a opção ativada baixarão automaticamente o payload malicioso assim que abrirem a conversa na qual ele foi compartilhado. A opção pode ser desativada manualmente e, nesse caso, o download do upload pode ser feito clicando no botão de download no canto superior esquerdo do vídeo compartilhado, conforme mostrado na Figura 3. Se o usuário tentar reproduzir o vídeo, o download do upload será feito automaticamente.

Se o usuário tentar reproduzir o "vídeo", o Telegram exibirá uma mensagem informando que não é possível reproduzir o vídeo e sugerindo o uso de um player externo (veja a Figura 4). Esse é um aviso original do Telegram encontrado no código-fonte do aplicativo legítimo do Telegram para Android; ele não foi criado ou enviado pelo payload malicioso.

Figure 4. Telegram warning that it can’t play the “video”
Figura 4. Aviso do Telegram de que não pode reproduzir o "vídeo".

No entanto, se o usuário clicar no botão Abrir na mensagem exibida, ele será solicitado a instalar um aplicativo malicioso disfarçado como o player externo mencionado anteriormente. Como pode ser visto na Figura 5, antes da instalação, o Telegram solicitará ao usuário que habilite a instalação de aplicativos desconhecidos.

Figure 5. Telegram requests the user to allow it to install unknown apps
Figura 5. O Telegram solicita que o usuário permita a instalação de aplicativos desconhecidos.
Figure 6. Request to install malicious payload, detected as AndroidSpy.SpyMax.T after exploitation
Figura 6. Solicitação de instalação do payload malicioso, detectado como Android/Spy.SpyMax.T após a exploração.

que é a natureza da vulnerabilidade que faz com que o arquivo compartilhado pareça um vídeo: o aplicativo malicioso real não foi alterado para se passar por um arquivo de mídia, o que sugere que o processo de upload provavelmente foi explorado. A solicitação de instalação do aplicativo malicioso pode ser vista na Figura 6.

Infelizmente, não foi possível replicar o exploit, apenas inspecionar e verificar a amostra compartilhada pelo fornecedor.

Telegram Web e Desktop

Embora o payload tenha sido criada apenas para o Telegram para Android, tentamos testar seu comportamento em outros clientes do Telegram. Testamos o cliente Web do Telegram e o cliente Telegram Desktop para Windows - como esperado, o exploit não funcionou em nenhum deles.

No caso do Telegram Web, depois de tentar reproduzir o "vídeo", o cliente exibiu uma mensagem de erro dizendo para tentarmos abrir o vídeo com o aplicativo de desktop (veja a Figura 7). O download manual do arquivo anexado revelou que seu nome e extensão eram Teating.mp4. Embora o arquivo em si fosse, na verdade, um binário executável do Android (APK), o fato de o Telegram tratá-lo como um arquivo MP4 impediu que o exploit funcionasse: para ser bem-sucedido, o anexo teria que ter a extensão .apk.

Uma coisa muito semelhante aconteceu com o cliente Telegram Desktop para Windows: o arquivo baixado foi chamado Teating.apk.mp4, portanto, foi novamente um arquivo binário APK com uma extensão .mp4. Isso sugere que, mesmo que um invasor criasse um executável do Windows para ser usado em vez do APK do Android, ele ainda seria tratado como um arquivo de mídia e o exploit não funcionaria.

Figure 7. Error message from Telegram Web when triggering the exploit
Figura 7. Mensagem de erro do Telegram Web ao acionar o exploit.

Cibercriminoso

Embora não saibamos muito sobre o cibercriminoso, conseguimos encontrar outro serviço suspeito que ele está fornecendo, com base na conta do Telegram compartilhada pelo fornecedor em sua publicação no fórum. Além do exploit, ele tem usado o mesmo fórum clandestino para anunciar um cryptor-as-a-service para Android que, segundo eles, é completamente indetectável (FUD) desde 11 de janeiro de 2024. A mensagem do fórum pode ser vista na Figura 8.

Figure 8. Underground forum post advertising an Android cryptor-as-a-service
Figura 8. Publicação clandestina no fórum anunciando uma criptomoeda como serviço para Android.

Relatório de vulnerabilidade

Depois de descobrir a vulnerabilidade EvilVideo em 26 de junho de 2024, seguimos nossa política de divulgação coordenada e a informamos ao Telegram, mas não recebemos nenhuma resposta naquele momento. Relatamos a vulnerabilidade novamente em 4 de julho e, dessa vez, o Telegram entrou em contato conosco no mesmo dia para confirmar que sua equipe estava investigando o EvilVideo. Eles corrigiram o problema, lançando a versão 10.14.5 em 11 de julho, e nos informaram por e-mail.

A vulnerabilidade afetou todas as versões do Telegram para Android até a 10.14.4, mas foi corrigida a partir da versão 10.14.5. Como verificamos, a visualização de mídia do chat agora mostra corretamente que o arquivo compartilhado é um aplicativo (Figura 9) e não um vídeo.

Figure 9. Telegram version 10.14.5 chat correctly displaying the nature of shared binary file
Figura 9. O chat do Telegram 10.14.5 mostra corretamente a natureza do arquivo binário compartilhado.

Conclusão

Descobrimos um exploit zero-day do Telegram para Android à venda em um fórum clandestino. A vulnerabilidade explorada permite que payloads maliciosos, disfarçados como arquivos de mídia, sejam enviados pelo chat do Telegram. Se um usuário tentar reproduzir o vídeo, ele receberá uma solicitação para instalar um aplicativo externo, que na verdade instala o payload malicioso. Felizmente, a vulnerabilidade foi corrigida em 11 de julho de 2024, após nossa denúncia ao Telegram.

Para qualquer dúvida sobre nossa pesquisa publicada no WeLiveSecurity, entre em contato conosco pelo e-mail threatintel@eset.com.

IoCs

Uma lista completa de Indicadores de Comprometimento (IoCs) e amostras pode ser encontrada em nosso repositório GitHub.

Arquivos

SHA-1

Filename

Detection

Description

F159886DCF9021F41EAA
2B0641A758C4F0C4033D

Teating.apk

Android/Spy.SpyMax.T

EvilVideo payload.

Rede

IP

Domain

Hosting provider

First seen

Details

183.83.172[.]232

infinityhackscharan.
ddns[.]net

Administrator Beam Cable System

2024‑07‑16

C&C server of EvilVideo payload.

Técnicas do MITRE ATT&CK

Esta tabela foi criada usando a versão 15 das técnicas ATT&CK móveis do MITRE.

Tactic

ID

Name

Description

Initial Access

T1664

Exploitation for Initial Access

The EvilVideo vulnerability can be abused by Android malware to achieve initial device access.

Execution

T1658

Exploitation for Client Execution

The EvilVideo vulnerability tricks the victim into installing a malicious app that impersonates a multimedia file.