Pesquisadores identificaram outro uso malicioso para pacotes JavaScript hospedados no registro npm: hospedagem de arquivos exigidos por kits de phishing automatizados ou inserção de páginas de phishing em aplicativos que agrupam os componentes. Npm é o gerenciador de pacotes do Node (Node Package Manager) amplamente usado por desenvolvedores JavaScript para compartilhar ferramentas, instalar vários módulos e gerenciar suas dependências.
“A descoberta pode ser a primeira campanha de ‘uso duplo’ na qual pacotes maliciosos de código aberto alimentam ataques de phishing e comprometimentos da cadeia de suprimentos de software”, disseram pesquisadores da empresa de segurança cibernética ReversingLabs em um novo relatório.
No total, os pesquisadores identificaram mais de uma dúzia de pacotes que faziam parte da campanha, apelidada de Operação Brainleeches, e foram carregados no registro público npm entre 11 de maio e 13 de junho usando nomes que imitavam os de pacotes populares como jquery, react e vue. js. Os arquivos foram baixados cerca de mil vezes no total antes de serem descobertos e removidos.
O primeiro lote de seis pacotes carregados em maio durante a primeira etapa da operação continha arquivos que parecem ter sido usados como parte da infraestrutura de kits de phishing. Esses arquivos incluem dois chamados standforusz e react-vuejs e contêm os seguintes arquivos: DEMO.txt, jquery.js, jquery.min.js e package.json.
Com base apenas nos nomes, esses arquivos não atrairiam suspeitas porque jquery.js e jquery.min.js são arquivos amplamente usados no desenvolvimento de JavaScript e fazem parte da biblioteca jquery. No entanto, eles chamaram a atenção dos pesquisadores do ReversingLabs porque suas varreduras detectaram ofuscação de código interno, o que é incomum para pacotes de código aberto.
O DEMO.txt contém código HTML que imita a página de login da Microsoft.com e envia quaisquer credenciais inseridas no formulário para um servidor remoto. Os pesquisadores também encontraram outra página de phishing direcionada às credenciais do Microsoft 365, exibindo o que parece ser um documento borrado em segundo plano com um pequeno pop-up de login da Microsoft na frente.
Veja isso
Ataques avançados de phishing aumentaram 356% em um ano
Cresce o uso de bots de phishing no Telegram e a venda de dados
A segunda fase do ataque envolveu um conjunto diferente de pacotes, dos quais sete foram identificados, que se comportaram mais de acordo com os ataques à cadeia de suprimentos vistos no npm anteriormente. Embora a maioria dos ataques à cadeia de suprimentos que dependem de pacotes npm maliciosos tenham como alvo desenvolvedores ou organizações de desenvolvimento que consomem esses pacotes em seus projetos, esses pacotes foram direcionados aos usuários finais de aplicativos que os agruparam.
Em essência, este foi um ataque de typosquatting, pois os pacotes tinham nomes como jqueryoffline, vueofflinez e jquerydownloadnew — variações de estruturas e bibliotecas populares. Os invasores provavelmente contaram com desenvolvedores que incorporaram acidentalmente esses pacotes em seus aplicativos e seu conteúdo reflete isso.