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](https://web-assets.esetstatic.com/wls/2024/7-2024/cursed-tapes/figure-2-post-on-an-underground-forum.png)
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](https://web-assets.esetstatic.com/wls/2024/7-2024/cursed-tapes/figure-3-example-of-exploit.jpeg)
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”](https://web-assets.esetstatic.com/wls/2024/7-2024/cursed-tapes/figure-4-telegram-warning-that-it-can-t-play-the-video.png)
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](https://web-assets.esetstatic.com/wls/2024/7-2024/cursed-tapes/figure-5-telegram-requests-the-user-to-allow-it-to-install-unknown-apps.png)
![Figure 6. Request to install malicious payload, detected as AndroidSpy.SpyMax.T after exploitation](https://web-assets.esetstatic.com/wls/2024/7-2024/cursed-tapes/figure-6-request-to-install-malicious-payload-detected-as-androidspy-spymax-t-after-exploitation.png)
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](https://web-assets.esetstatic.com/wls/2024/7-2024/cursed-tapes/figure-7-error-message-from-telegram-web-when-triggering-the-exploit.png)
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](https://web-assets.esetstatic.com/wls/2024/7-2024/cursed-tapes/figure-8-underground-forum-post-advertising-an-android-cryptor-as-a-service.png)
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](https://web-assets.esetstatic.com/wls/2024/7-2024/cursed-tapes/figure-9-telegram-version-10-14-5-chat-correctly-displaying-the-nature-of-shared-binary-file.jpeg)
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 |
Teating.apk |
Android/Spy.SpyMax.T |
EvilVideo payload. |
Rede
IP |
Domain |
Hosting provider |
First seen |
Details |
183.83.172[.]232 |
infinityhackscharan. |
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 |
Exploitation for Initial Access |
The EvilVideo vulnerability can be abused by Android malware to achieve initial device access. |
|
Execution |
Exploitation for Client Execution |
The EvilVideo vulnerability tricks the victim into installing a malicious app that impersonates a multimedia file. |