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
Em 14 de janeiro a Solyd irá revolucionar a forma como pentest e hacking deve ser ensinado. Se inscreva para ser o primeiro a saber das novidades. Saiba mais...