
23 fev Malware escondido nos pixels de imagens foi disseminado via NPM
Pesquisadores de segurança da VeraCode identificaram um pacote malicioso publicado no NPM, o maior repositório de código aberto do mundo, capaz de comprometer silenciosamente máquinas Windows no momento em que era instalado.
O pacote, chamado buildrunner-dev, disfarçava-se de variante de uma ferramenta legítima abandonada e desencadeava, sem qualquer interação adicional da vítima, uma cadeia de ataque de dez etapas que terminava com um trojan de acesso remoto instalado e operante.
O nome não foi escolhido ao acaso. Ele imita os pacotes legítimos buildrunner e build-runner, ambos abandonados pelos seus criadores originais. Um desenvolvedor pesquisando por uma solução de automação de builds, o processo automatizado de compilar e testar código-fonte, poderia facilmente confundir o pacote falso com uma versão mantida do original.
Armadilha no momento da instalação
Dentro do pacote havia um arquivo de configuração com um postinstall hook, um comando executado automaticamente assim que a instalação termina. Não é preciso abrir nenhum arquivo, não é preciso executar nenhum programa. O simples ato de digitar npm install buildrunner-dev já ativava o ataque.
Antes de agir, o script verificava se estava sendo analisado, checava o sistema operacional, a presença de ferramentas de análise e o tipo de ambiente. Qualquer sinal de monitoramento, e ele simplesmente não fazia nada.
Confirmado o ambiente favorável, baixava um arquivo de comandos do Windows e o gravava na pasta de inicialização do sistema da vítima, tudo que está nessa pasta é executado automaticamente a cada login, garantindo a permanência do malware.
Mais de mil linhas, só 20 importavam
O arquivo baixado tinha 1.653 linhas, mas apenas 21 faziam algo realmente malicioso. Todo o resto era ruído, uma estratégia chamada ofuscação, que esconde o perigo por trás de complexidade artificial.
O autor empilhou sete técnicas. A primeira explorava uma peculiaridade do Windows: variáveis inexistentes simplesmente desaparecem do texto ao rodar, disfarçando cada comando real. Na segunda, o comando malicioso foi picotado em 909 fragmentos de poucos caracteres cada, a palavra “powershell” nunca aparecia inteira no arquivo.
Completavam o quadro comentários com palavras aleatórias para inflar o tamanho do arquivo, listas de vocabulário codificadas, strings de milhares de caracteres inválidos e nomes sem sentido para cada variável.
A camada mais elaborada eram 51 variáveis com código que, ao ser decodificado, resultava em comandos completamente inofensivos — nunca executados, existindo apenas para acionar alertas falsos em ferramentas de segurança e mandar analistas investigar pistas que não levavam a lugar nenhum.
Escalada Silenciosa de Privilégios
Removida a ofuscação, o script verificava se estava rodando como administrador. Caso não tivesse privilégios, usava uma técnica conhecida como UAC bypass: o UAC é o mecanismo do Windows que exibe a janela de confirmação quando um programa tenta alterar o sistema.
O ataque sequestrava um programa legítimo que tem permissão para se elevar automaticamente sem mostrar esse aviso, fazendo o malware herdar essa permissão.
Nenhuma janela aparecia na tela da vítima. Em seguida, o script executava um comando PowerShell, a ferramenta de automação nativa do Windows, de forma completamente oculta.
PowerShell conhecia seu inimigo
A primeira coisa que esse comando fazia era consultar o próprio Windows para descobrir qual antivírus estava instalado.
Com a resposta, tomava caminhos diferentes. Se o antivírus fosse ESET, ele interrompia a execução; com Malwarebytes ou F-Secure, baixava uma imagem com um script para desativar as defesas antes de prosseguir; em qualquer outro caso, baixava uma imagem maior com o carregador principal.
Esse nível de personalização indica que o atacante testou o malware contra cada produto individualmente.
Malware escondido em pixels
As imagens baixadas de um serviço gratuito de hospedagem pareciam apenas ruído visual. Mas cada pixel carregava dados, usando uma técnica chamada esteganografia, a arte de esconder informações dentro de dados aparentemente inocentes.
Diferente da criptografia, que embaralha os dados até ficarem irreconhecíveis, a esteganografia os esconde à vista de todos.
Cada pixel de uma imagem PNG é definido por três valores de cor. No esquema dos atacantes, esses valores carregavam bytes do código malicioso real, pixel por pixel, linha por linha. Sem conhecer o algoritmo, ninguém veria nada de errado, já que serviços de hospedagem não escaneiam pixels em busca de código, e firewalls registram apenas uma requisição normal a um site de imagens.
A imagem menor escondia um script para desativar o AMSI, a interface do Windows criada para que antivírus interceptem scripts executados em memória antes que rodem.
O script sobrescrevia a função responsável pelo escaneamento com instruções que a faziam retornar erro sem verificar nada, o AMSI passava a funcionar como um detector de incêndio com a bateria removida.
A imagem maior continha o carregador principal, cujo propósito era injetar o payload final num processo legítimo do Windows. A técnica, chamada esvaziamento de processo, criava o conhost.exe em estado suspenso, removia seu código da memória e escrevia o código malicioso no espaço vazio.
Quando o processo era retomado, o atacante rodava dentro de algo que, para o sistema operacional, parecia completamente legítimo.
Para garantir que as defesas do Windows permanecessem desativadas, o carregador executava três métodos diferentes de neutralização do AMSI em sequência, se um falhasse, o próximo assumia, e nunca chamava funções sensíveis do sistema de forma direta, evitando deixar rastros nas tabelas que analistas inspecionam.
O payload final
Ao fim de toda a cadeia, extraído de uma terceira imagem e descriptografado, estava o Pulsar, um Trojan de Acesso Remoto que dá ao atacante controle total e silencioso sobre o computador infectado. Com ele, é possível ver a tela em tempo real, gravar teclas digitadas, acessar arquivos, ligar câmera e microfone, tudo sem que a vítima perceba.
Os padrões reconhecidos durante a investigação, incluindo o serviço de hospedagem de imagens, a esteganografia, o mesmo RAT, levaram os pesquisadores da VeraCode a uma conclusão: o mesmo grupo havia sido reportado meses antes em uma campanha diferente.
A atribuição sugere uma operação continuada, com o grupo evoluindo suas técnicas enquanto mantém a infraestrutura preferida.
Acompanhe o TecMundo nas redes sociais. Para mais notícias de segurança e tecnologia, inscreva-se em nossa newsletter e canal do YouTube.