Hackers Norte-Coreanos visam desenvolvedores com pacotes npm maliciosos
27 de Fevereiro de 2024

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

Proteja sua empresa contra hackers através de um Pentest

Tenha acesso aos melhores hackers éticos do mercado através de um serviço personalizado, especializado e adaptado para o seu negócio. Qualidade, confiança e especialidade em segurança ofensiva de quem já protegeu centenas de empresas. Saiba mais...