Hackers inseriram malware de roubo de credenciais em versões recém-publicadas do node-ipc, um pacote popular de comunicação entre processos, em um novo ataque à supply chain que mira o npm.
O pacote node-ipc é um módulo do Node.js que permite que diferentes processos se comuniquem por diversos tipos de soquetes, incluindo Unix, Windows, UDP, TLS e TCP.
Mesmo após o mantenedor ter publicado, em março de 2022, versões armadas que miravam sistemas baseados na Rússia e na Bielorrússia com um módulo de sobrescrita de dados, em protesto contra a invasão russa da Ucrânia, o pacote ainda soma mais de 690.000 downloads semanais no npm.
O ataque recente à supply chain foi detectado por várias empresas de segurança de aplicativos, entre elas Socket, Ox Security e Upwind, que confirmaram as seguintes três versões como maliciosas:
[email protected]
[email protected]
[email protected]
O código malicioso fica escondido no ponto de entrada CommonJS, em node-ipc.cjs, e é executado automaticamente sempre que as aplicações são carregadas.
O malware é fortemente ofuscado, identifica os sistemas infectados, coleta variáveis de ambiente e arquivos locais sensíveis, compacta os dados roubados em arquivos e os exfiltra por consultas DNS TXT.
A violação mais recente parece ser obra de um ator externo que comprometeu a conta de um mantenedor inativo chamado atiertant.
Segundo os pesquisadores, o infostealer injetado nas novas versões do node-ipc coleta os seguintes tipos de informação dos sistemas comprometidos:
Credenciais de cloud da AWS, Azure, GCP, OCI, DigitalOcean e outras
Chaves SSH e configurações SSH
Credenciais de Kubernetes, Docker, Helm e Terraform
Tokens do npm, GitHub, GitLab e da CLI do Git
Arquivos .env e credenciais de banco de dados
Históricos do shell e segredos de CI/CD
Arquivos do Chaveiro do macOS e dos keyrings do Linux
Arquivos de perfil do Firefox e do banco de dados de chaves no macOS
Caminhos de armazenamento local e de IndexedDB do Microsoft Teams
O malware ignora arquivos maiores que 4 MiB e evita analisar os diretórios .git e node_modules para aumentar a eficiência e reduzir o ruído operacional no host.
Um aspecto operacional relevante é o uso de consultas DNS TXT em vez do tráfego convencional de command and control (C2) baseado em HTTP para a exfiltração de dados.
Os atacantes usam um domínio falso com temática da Azure, sh[.]azurestaticprovider[.]net:443, como resolvedor de bootstrap, transmitindo os dados para bt[.]node[.]js com prefixos de consulta como xh, xd e xf.
Segundo a Socket, a exfiltração de um arquivo compactado de 500 KB poderia gerar cerca de 29.400 solicitações DNS TXT, ajudando o tráfego a se misturar à atividade normal de DNS.
Antes do envio, o malware armazena os dados coletados em arquivos temporários compactados em tar.gz, que são apagados após a exfiltração para reduzir vestígios forenses.
O malware não estabelece persistência nem baixa payloads secundários, o que indica uma operação voltada principalmente ao roubo rápido de credenciais e à exfiltração.
Desenvolvedores potencialmente afetados devem remover imediatamente as versões comprometidas, trocar segredos e credenciais expostos e inspecionar lockfiles e caches do npm.
Publicidade
Conheça a Solyd One, e tenha acesso a todos os cursos de segurança ofensiva da Solyd, todas as certificações práticas, incluindo a SYCP, 2 CTFs anuais com prêmios de até 30 mil reais, dezenas de laboratórios realísticos, suporte, comunidade e muito mais. Saiba mais...