Um conjunto de pacotes npm falsos descobertos no repositório Node.js foi encontrado compartilhando laços com atores patrocinados pelo estado norte-coreano, novas descobertas da Phylum mostram.
Os pacotes são nomeados como execution-time-async, data-time-utils, login-time-utils, mongodb-connection-utils e mongodb-execution-utils.
Um dos pacotes em questão, execution-time-async, se passa por seu legítimo correspondente execution-time, uma biblioteca com mais de 27.000 downloads semanais.
Execution-time é um utilitário Node.js usado para medir o tempo de execução no código.
Ele "na verdade, instala vários scripts maliciosos, incluindo um ladrão de criptomoedas e credenciais," Phylum disse, descrevendo a campanha como um ataque à cadeia de suprimentos de software direcionado a desenvolvedores.
O pacote foi baixado 302 vezes desde 4 de fevereiro de 2024, antes de ser retirado.
Em uma reviravolta interessante, os atores da ameaça fizeram esforços para ocultar o código malicioso ofuscado em um arquivo de teste, que é projetado para buscar payloads da próxima etapa de um servidor remoto, roubar credenciais de navegadores da web como Brave, Google Chrome, e Opera, e recuperar um script Python, que, por sua vez, baixa outros scripts -
~/.n2/pay, que pode executar comandos arbitrários, baixar e lançar ~/.n2/bow e ~/.n2/adc, terminar Brave e Google Chrome, e até mesmo se excluir
~/.n2/bow, que é um ladrão de senha de navegador baseado em Python
~/.n2/adc, que instala AnyDesk no Windows
Phylum disse que identificou comentários no código-fonte ("/Users/ninoacuna/") que tornou possível rastrear um perfil do GitHub agora excluído com o mesmo nome ("Nino Acuna" ou binaryExDev) contendo um repositório chamado File-Uploader.
Presentes dentro do repositório estavam scripts Python referenciando os mesmos endereços IP (162.218.114[.]83 - posteriormente mudado para 45.61.169[.]99) usados para buscar os scripts Python mencionados.
Suspeita-se que o ataque seja um trabalho em andamento, pois pelo menos mais quatro pacotes com recursos idênticos encontraram seu caminho para o repositório de pacotes npm, atraindo um total de 325 downloads -
data-time-utils - 52 downloads a partir de 15 de fevereiro
login-time-utils - 171 downloads a partir de 15 de fevereiro
mongodb-connection-utils - 51 downloads a partir de 19 de fevereiro
mongodb-execution-utils - 51 downloads a partir de 19 de fevereiro
Phylum, que também analisou as duas contas GitHub que binaryExDev segue, descobriu outro repositório conhecido como mave-finance-org/auth-playground, que foi bifurcado não menos que uma dúzia de vezes por outras contas.
Enquanto bifurcar um repositório em si não é fora do comum, um aspecto incomum de alguns desses repositórios bifurcados era que eles foram renomeados como "auth-demo" ou "auth-challenge", aumentando a possibilidade de que o repositório original possa ter sido compartilhado como parte de um teste de codificação para uma entrevista de emprego.
O repositório foi posteriormente movido para banus-finance-org/auth-sandbox, Dexbanus-org/live-coding-sandbox, e mave-finance/next-assessment, indicando tentativas de contornar ativamente as tentativas de desativação do GitHub.
Todas essas contas foram removidas.
Além disso, o pacote next-assessment foi encontrado para conter uma dependência "json-mock-config-server" que não está listada no registro npm, mas sim servida diretamente do domínio npm.mave[.]finance.
Vale a pena notar que Banus afirma ser uma bolsa de valores perpétua descentralizada com sede em Hong Kong, com a empresa até divulgando uma oportunidade de emprego para um desenvolvedor frontend sênior em 21 de fevereiro de 2024.
Atualmente, não está claro se esta é uma abertura de trabalho genuína ou se é um esquema sofisticado de engenharia social.
As ligações com os atores de ameaça norte-coreanos vêm do fato de que o JavaScript ofuscado incorporado no pacote npm se sobrepõe a outro malware baseado em JavaScript chamado BeaverTail que é propagado por meio de um mecanismo similar.
A campanha foi batizada de Entrevista Contagiosa pela Palo Alto Networks Unit 42 em novembro de 2023.
Contagious Interview é um pouco diferente da Operation Dream Job - que está ligada ao Grupo Lazarus - na medida em que é principalmente focada em direcionar desenvolvedores através de identidades falsas em portais de emprego freelance para enganá-los a instalar pacotes npm desonestos, Michael Sikorski, vice-presidente e CTO da Palo Alto Networks Unit 42, contou ao The Hacker News na época.
Um dos desenvolvedores que foi vítima da campanha confirmou à Phylum que o repositório é compartilhado sob o pretexto de uma entrevista de codificação ao vivo, embora eles tenham dito que nunca o instalaram em seu sistema.
"Mais do que nunca, é importante que tanto os desenvolvedores individuais quanto as organizações de desenvolvimento de software permaneçam vigilantes contra esses ataques em código de fonte aberta," disse a empresa.
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...