O GlassWorm esconde-se nas ferramentas de desenvolvimento. Uma vez instalado, rouba dados, instala malware de acesso remoto e até mesmo uma extensão falsa do navegador para monitorizar a atividade. Embora comece pelos programadores, o impacto pode alastrar-se rapidamente. Com credenciais roubadas, tokens de acesso e ferramentas comprometidas, os atacantes podem lançar ataques mais amplos à cadeia de abastecimento, colocando em risco tanto as empresas como os utilizadores comuns.
Como começa a infecção
O GlassWorm é normalmente distribuído através de canais de desenvolvimento. Isto significa que os programadores ficam com os seus sistemas comprometidos ao descarregarem pacotes maliciosos de repositórios de código como o npm, o GitHub, o PyPI e outros. Estes podem ser pacotes maliciosos novos ou pacotes alterados provenientes de contas que antes eram de confiança, mas que agora estão comprometidas.
O programador instala ou atualiza um pacote npm/PyPI ou uma extensão do VS Code de confiança ou popular, mas a conta do responsável pela manutenção ou a cadeia de abastecimento foi comprometida.
O que acontece após a instalação
Assim que o pacote é descarregado, um script de pré-instalação ou um carregador Unicode invisível é executado e identifica a máquina. Se detetar uma configuração regional russa, a execução é interrompida. Caso contrário, o script aguarda algumas horas e, em seguida, contacta discretamente a blockchain Solana para descobrir onde obter a segunda fase da infeção. Em vez de codificar um link que poderia ser removido, o atacante armazena esta informação no campo de notas de uma transação Solana.
Segunda fase: Roubo de dados
A carga útil da segunda fase é um programa de roubo de informações que tem como alvo perfis de extensões de navegador, aplicações de carteira autónomas e ficheiros .txt/imagem que provavelmente contêm sementes ou chaves, bem como tokens npm, credenciais Git, segredos do VS Code e credenciais de fornecedores de serviços na nuvem. Após recolher estas informações, envia-as para um servidor remoto através de um pedido POST.
Terceira fase: Compromisso total do sistema
Em seguida, passa-se à terceira fase. O malware descarrega dois componentes principais: o ficheiro binário de phishing do Ledger/Trezor, destinado a utilizadores com um dispositivo Ledger ou Trezor ligado, e um trojan de acesso remoto (RAT) em Node.js com vários módulos, incluindo programas para roubar credenciais do navegador e um instalador Chrome. O malware assegura a sua persistência através da configuração de tarefas agendadas e de chaves de registo «Run», de modo a que o RAT seja reiniciado a cada reinicialização do sistema.
O RAT não codifica de forma fixa o seu endereço principal de comando e controlo (C2). Em vez disso, realiza uma pesquisa numa tabela hash distribuída (DHT) para encontrar a chave pública fixada. A DHT é um sistema distribuído que fornece um serviço de pesquisa semelhante a uma tabela hash. Os pares chave-valor são armazenados numa DHT e podem ser utilizados para recuperar o valor associado a uma determinada chave. Se este método falhar, o RAT volta à blockchain Solana para obter um novo endereço IP.
Vigilância e rastreamento do navegador
O RAT também instala à força uma Chrome (no exemplo descrito pelo Aikido, finge ser o «Google Docs Offline»), que funciona como um sistema de vigilância de sessões integrado. Além de roubar cookies, localStorage, a árvore completa do Modelo de Objetos de Documento (DOM) do separador ativo, marcadores, capturas de ecrã, teclas digitadas, conteúdo da área de transferência, até 5.000 entradas do histórico do navegador e a lista de extensões instaladas, também pode ser usado para tirar capturas de ecrã e funcionar como um keylogger.
Como isto se apresenta para a vítima
Do ponto de vista da vítima, tudo isto acontece de forma muito discreta. Se estiverem atentos, poderão notar algumas ligações de saída suspeitas, as entradas de arranque e a nova extensão do navegador.
Quem está em risco e como isto se pode propagar
A configuração atual parece centrar-se nos programadores que possam possuir ativos em criptomoedas, mas muitos destes componentes e as informações roubadas podem ser utilizados para lançar ataques à cadeia de abastecimento ou visar outros grupos de utilizadores.
Como se manter seguro
Devido à natureza discreta desta cadeia de infecção, existem duas estratégias principais para se manter seguro:
- Dê preferência a versões comprovadamente estáveis e fixadas, e considere as mudanças repentinas de responsabilidade, novos mantenedores ou grandes reformulações do código em versões secundárias como motivos para uma revisão.
- Verifique regularmente as extensões do navegador, remova tudo o que não reconhecer e desconfie de clones ou duplicados do tipo «Google Docs Offline».
- Verifique se existem entradas inesperadas nas suas tarefas agendadas e nos locais de inicialização do registo.
- Utilize uma solução antimalware atualizada e em tempo real para detetar e bloquear ligações maliciosas e o malware descarregado.
IOCs (Indicadores de Compromisso)
Endereços IP:
45.32.150[.]251
217.69.3[.]152
217.69.0[.]159
45.150.34[.]158

Chaves do Registo:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run\UpdateApp
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run\UpdateLedger
Tarefa agendada:
Nome: UpdateApp which runs: AghzgY.ps1
Extensão do navegador:
Nome de exibição: Google Docs Offline (versão 1.95.1)
Nome do diretório Windows :jucku
Nome do diretório de extensões do macOS: myextension
Não nos limitamos a comunicar as ameaças - eliminamo-las
Os riscos de cibersegurança nunca se devem propagar para além de uma manchete. Mantenha as ameaças longe dos seus dispositivos descarregando Malwarebytes hoje mesmo.




