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çãoDentro 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 importavamO 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égiosRemovida 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 inimigoA 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 pixelsAs 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 finalAo 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.