Pesquisadores da Socket descobriram extensões que capturam tokens de autenticação do Telegram e identidades Google via OAuth2, além de abrirem URLs arbitrárias a cada inicialização do navegador.
Uma investigação revelou 108 extensões maliciosas na Chrome Web Store, conectadas a um sistema de comando e controle (C2) comum, hospedado no domínio cloudapi[.]stream. Essas extensões somam mais de 20 mil instalações e continuam operacionais.
As extensões estão distribuidas sob cinco identidades de desenvolvedores diferentes e enviam credenciais roubadas, identidades de usuários e dados de navegação para servidores controlados pelo mesmo operador. A campanha abrange categorias variadas, como clientes do Telegram, jogos de slot machine e keno, ferramentas para YouTube e TikTok, tradutores de texto e extensões de utilidade de página.
Extensão rouba sessão ativa do Telegram a cada 15 segundos
A ameaça mais séria é a extensão Telegram Multi-account (ID: obifanppcpchlehkjipahhphbcbjekfa). Ela injeta um script na página web.telegram.org antes de qualquer interação do usuário e extrai o token de autenticação da sessão ativa diretamente do localStorage do navegador.
Este token é enviado imediatamente ao C2 e reenviado a cada 15 segundos enquanto a aba estiver aberta. Os dados são transmitidos ao endpoint tg[.]cloudapi[.]stream/save_session.php através de uma requisição POST.
A extensão também aceita comandos remotos que apagam o localStorage da vítima, substituindo-o por conteúdo enviado pelo servidor do atacante, e obrigam o recarregamento do Telegram. O operador pode trocar a conta ativa no navegador por qualquer outra sessão sem que o usuário perceba, sem exigir senha ou autenticação em dois fatores.
54 extensões capturam identidade Google via OAuth2
Entre as 108 extensões, 54 são projetadas para capturar a identidade Google do usuário no primeiro clique no botão de login. O código é idêntico em todas elas, utilizando a API chrome.identity para obter um token OAuth2 válido, que gera uma janela de login padrão do Google.
Após isso, o token é usado para consultar o endpoint oficial de perfil do Google. O que é enviado ao servidor do atacante inclui e-mail, nome completo, URL da foto de perfil e um identificador estável da conta, que permanece mesmo após alterações de senha ou endereço de e-mail.
Backdoor abre URLs arbitrárias a cada inicialização do Chrome
Quarenta e cinco extensões contêm uma função chamada loadInfo() que é automaticamente acionada sempre que o Chrome é iniciado. Ela envia o ID da extensão ao C2 e abre o endereço retornado em uma nova aba, caso a resposta inclua um campo infoURL.
Esse mecanismo funciona independentemente de o usuário ter aberto a extensão, sem interação do usuário ou restrições sobre quais URLs podem ser carregadas.
Em duas delas, Page Locker e Page Auto Refresh, a função utiliza uma sintaxe diferente da do restante do código, levando a Socket a avaliar que o loadInfo() foi injetado em extensões já existentes adquiridas ou reaproveitadas pelo operador.
A proteção de YouSide, TikTok e Telegram foi removida
Cinco extensões utilizam a API declarativeNetRequest do Chrome para retirar cabeçalhos de segurança antes que as páginas carreguem completamente, incluindo Content-Security-Policy e X-Frame-Options, que impedem a manipulação de conteúdo externo. As extensões YouSide e SideYou aplicam essa técnica ao YouTube.
A Web Client for TikTok aplica um procedimento semelhante ao TikTok, injetando conteúdo do domínio multiaccount[.]cloudapi[.]stream em todas as páginas visitadas. Tanto a Teleside quanto a YouSide sobrepõem um banner de apostas na interface prometida ao usuário.
Estrutura e comentários em russo indicam operação unificada
As 108 extensões compartilham o mesmo backend, hospedado no IP 144[.]126[.]135[.]238, que pertence a um VPS da Contabo GmbH. O domínio cloudapi[.]stream foi registrado em abril de 2022 pela Hosting Ukraine LLC.
Provas de autoria unificada incluem os projetos do Google Cloud. Os cinco nomes de desenvolvedores na Chrome Web Store, Yana Project, GameGen, SideGames, Rodeo Games e InterAlt, utilizam apenas dois projetos diferenciados pelos IDs 1096126762051 e 170835003632. Além disso, os 56 client IDs OAuth2 das 54 extensões de roubo de identidade estão todos vinculados a esses mesmos dois projetos.
Comentários em russo foram encontrados no código de autenticação e de roubo de sessão. Além disso, três dos sete e-mails registrados compartilham variações do mesmo nome, indicando uma conexão com 30 extensões.
O portal topup[.]cloudapi[.]stream faz referência a um negócio de monetização de extensões Chrome. A existência de um portal de pagamento e um sistema de ID por vítima sugere um modelo de Malware-as-a-Service, com identidades e sessões roubadas disponíveis para compra por interessados no backend.
O que fazer se você tem essas extensões instaladas
Usuários da extensão Telegram Multi-account que acessaram o Telegram Web com a extensão ativa devem encerrar todas as sessões remotas pelo aplicativo móvel, em Configurações > Dispositivos > Encerrar todas as outras sessões. Aqueles que logaram com conta Google em qualquer extensão de jogos ou sidebar precisam revisar os acessos de terceiros em myaccount.google.com/permissions e revogar quaisquer entradas desconhecidas.
A Socket já enviou pedidos de remoção à equipe de segurança da Chrome Web Store e ao Google Safe Browsing. As extensões permaneciam ativas no momento da divulgação deste relatório.
Acompanhe o TecMania nas redes sociais. Para mais notícias sobre segurança e tecnologia, inscreva-se em nossa newsletter e canal do YouTube.