Pesquisadores de cibersegurança descobriram um novo conjunto de pacotes maliciosos no registro de pacotes npm, projetados para extrair informações sensíveis do desenvolvedor.
A empresa de cadeia de fornecimento de software, Phylum, que identificou os pacotes "teste" em 31 de julho de 2023, afirmou que eles "demonstraram cada vez mais funcionalidade e aprimoramento", horas depois, foram removidos e carregados novamente com nomes de pacotes diferentes e legítimos.
Embora o objetivo final do empreendimento não seja claro, suspeita-se que seja uma campanha altamente direcionada ao setor de criptomoedas, com base em referências a módulos como "rocketrefer" e "binarium".
Todos os pacotes foram publicados pelo usuário npm malikrukd4732.
Uma característica comum a todos os módulos é a capacidade de lançar JavaScript ("index.js") que está equipado para extrair informações valiosas para um servidor remoto.
"O código index.js é gerado em um processo filho pelo arquivo preinstall.js", disse a equipe de pesquisa da Phylum. "Essa ação é solicitada pelo gancho de pós-instalação definido no arquivo package.json, que é executado na instalação do pacote."
O primeiro passo envolve coletar o nome de usuário do sistema operacional atual e o diretório de trabalho atual, após o qual uma solicitação GET com os dados coletados é enviada para 185.62.57 [.] 60:8000 / http .
O motivo exato por trás dessa ação é atualmente desconhecido, embora se acredite que as informações possam ser usadas para desencadear "comportamentos do lado do servidor invisíveis."
Posteriormente, o script procura por arquivos e pastas que correspondem a um conjunto específico de extensões: .env, .svn, .gitlab, .hg, .idea, .yarn, .docker, .vagrant, .github, .asp, .js, .php, .aspx, .jspx, .jhtml, .py, .rb, .pl, .cfm, .cgi, .ssjs, .shtml, .env, .ini, .conf, .properties, .yml, e .cfg. Os dados colhidos, que também podem conter credenciais e propriedade intelectual valiosa, são finalmente transmitidos ao servidor na forma de um arquivo ZIP.
"Embora esses diretórios possam ter informações sensíveis, é mais provável que contenham muitos arquivos de aplicativos padrão que não são exclusivos do sistema da vítima e, portanto, menos valiosos para o atacante, cujo motivo parece estar centrado na extração do código-fonte ou arquivos de configuração específicos do ambiente", disse a Phylum.
A situação é o exemplo mais recente de repositórios de código aberto sendo usados para propagar código malicioso, com a ReversingLabs identificando uma campanha no PyPI que usa pacotes python suspeitos, como VMConnect, para entrar em contato com um servidor de comando e controle (C2) e tentar baixar uma string codificada em Base64 não especificada com comandos adicionais.
"Como a busca de comandos é feita em um loop infinito, é possível que o operador do servidor C2 carregue comandos apenas após a máquina infectada ser considerada interessante para o ator da ameaça", explicou o pesquisador de segurança Karlo Zanki.
"Alternativamente, o servidor C2 poderia estar realizando algum tipo de filtragem de solicitações.
Por exemplo, os invasores podem filtrar solicitações com base no endereço IP da máquina infectada para evitar infectar alvos de países específicos."
Em julho de 2023, a ReversingLabs também expôs um lote de 13 módulos npm falsos que foram baixados coletivamente cerca de 1.000 vezes como parte de uma nova campanha chamada Operation Brainleeches.
O que torna a atividade notável é o uso de alguns dos pacotes para facilitar a coleta de credenciais por meio de formulários falsos de login do Microsoft 365 lançados a partir de um anexo de e-mail em JavaScript, um arquivo JavaScript que busca payloads de próxima etapa do jsDelivr, uma rede de distribuição de conteúdo (CDN) para pacotes hospedados npm.
Em outras palavras, os módulos npm publicados atuam como uma infraestrutura de apoio para hospedar arquivos usados em ataques de phishing por e-mail, bem como realizar ataques à cadeia de fornecimento direcionados a desenvolvedores.
O último é realizado ao implantar scripts de coleta de credenciais em aplicativos que incorporam inadvertidamente os pacotes npm fraudulentos.
As bibliotecas foram postadas no npm entre 11 de maio e 13 de junho de 2023.
"Um dos principais benefícios do jsDelivr são os links diretos de arquivos: em vez de usar o npm para instalar o pacote e referenciá-lo localmente, você pode vincular diretamente ao arquivo hospedado na CDN do jsDelivr", disse a Check Point, que também relatou a mesma campanha.
"Mas [...] mesmo serviços legítimos como a CDN jsDelivr podem ser usados para fins maliciosos."
Publicidade
O curso Python Básico da Solyd oferece uma rápida aproximação à linguagem Python com diversos projetos práticos. Indo do zero absoluto até a construção de suas primeiras ferramentas. Tenha também suporte e certificado gratuitos. Saiba mais...