Telegram Soluciona Falha Zero-Day em Aplicativo Windows Usada para Executar Scripts Python
15 de Abril de 2024

O Telegram corrigiu uma vulnerabilidade zero-day em seu aplicativo para desktop Windows que poderia ser usada para burlar avisos de segurança e lançar automaticamente scripts Python.

Nos últimos dias, rumores começaram a circular no X e em fóruns de hacking sobre uma suposta vulnerabilidade de execução remota de código (remote code execution - RCE) no Telegram para Windows.

Enquanto alguns desses posts afirmavam que se tratava de uma falha zero-click, os vídeos demonstrando a suposta burla dos avisos de segurança e vulnerabilidade RCE claramente mostravam alguém clicando em mídias compartilhadas para lançar a calculadora do Windows.

O Telegram rapidamente contestou essas alegações, afirmando que "não podem confirmar que tal vulnerabilidade existe" e que o vídeo provavelmente é uma farsa.

No entanto, no dia seguinte, um exploit de prova de conceito foi compartilhado no fórum de hacking XSS explicando que um erro de digitação no código-fonte do Telegram para Windows poderia ser explorado para enviar arquivos Python .pyzw que burlam os avisos de segurança quando clicados.

Isso fazia com que o arquivo fosse automaticamente executado pelo Python sem um aviso do Telegram, como faz para outros executáveis, e como deveria fazer para este arquivo se não fosse por um erro de digitação.

Para piorar as coisas, o exploit de prova de conceito disfarçava o arquivo Python como um vídeo compartilhado, junto com uma miniatura, que poderia ser usado para enganar os usuários fazendo-os clicar no vídeo falso para assisti-lo.

Em uma declaração para a imprensa, o Telegram corretamente disputa que o bug era uma falha zero-click, mas confirmou que corrigiu a "questão" no Telegram para Windows para evitar que scripts Python fossem automaticamente lançados quando clicados.

O cliente Desktop do Telegram mantém um registro de uma lista de extensões de arquivo associadas a arquivos arriscados, como arquivos executáveis.

Quando alguém envia um desses tipos de arquivo no Telegram, e um usuário clica no arquivo, em vez de ser automaticamente lançado no programa associado no Windows, o Telegram primeiro exibe o seguinte aviso de segurança:

"Este arquivo tem a extensão .exe. Ele pode prejudicar seu computador.Você tem certeza de que deseja executá-lo?", diz o aviso do Telegram.

No entanto, tipos de arquivos desconhecidos compartilhados no Telegram serão automaticamente lançados no Windows, deixando o sistema operacional decidir qual programa usar.

Quando o Python para Windows está instalado, ele associa a extensão de arquivo .pyzw com o executável Python, fazendo com que o Python execute os scripts automaticamente quando o arquivo é clicado duas vezes.

A extensão .pyzw é para Python zipapps, que são programas Python autocontidos contidos dentro de arquivos ZIP.

Os desenvolvedores do Telegram estavam cientes de que esses tipos de executáveis deveriam ser considerados arriscados e adicionaram isso à lista de extensões de arquivos executáveis.

Infelizmente, quando adicionaram a extensão, eles cometeram um erro de digitação, inserindo a extensão como 'pywz' em vez da ortografia correta de 'pyzw'.

Portanto, quando esses arquivos eram enviados pelo Telegram e clicados, eles eram automaticamente lançados pelo Python, se estivesse instalado no Windows.

Isso, efetivamente, permite que atacantes burlassem os avisos de segurança e executassem código remotamente no dispositivo Windows do alvo, se conseguissem enganá-los para abrir o arquivo.

Para mascarar o arquivo, os pesquisadores conceberam usar um bot do Telegram para enviar o arquivo com um tipo MIME de 'video/mp4', fazendo com que o Telegram exibisse o arquivo como um vídeo compartilhado.

Se um usuário clicasse no vídeo para assisti-lo, o script seria automaticamente lançado através do Python para Windows.

Versões futuras do aplicativo Desktop do Telegram deverão incluir a mensagem de aviso de segurança, em vez de anexar a extensão ".untrusted", adicionando um pouco mais de segurança ao processo.

Publicidade

Pentest do Zero ao Profissional

O mais completo curso de Pentest e Hacking existente no Brasil, ministrado por instrutores de referência no mercado. Oferece embasamento sólido em computação, redes, Linux e programação. Passe por todas as fases de um Pentest utilizando ambientes realísticos. Se prepare para o mercado através da certificação SYCP. Saiba mais...