Mais de uma dúzia de pacotes maliciosos foram descobertos no repositório de pacotes npm desde o início de agosto de 2023, com a capacidade de implantar um ladrão de informações de código aberto chamado Luna Token Grabber em sistemas pertencentes a desenvolvedores da Roblox.
A campanha em andamento, detectada pela primeira vez em 1º de agosto pela ReversingLabs, emprega módulos que se mascaram como o pacote legítimo noblox.js, um wrapper de API que é
usado para criar scripts que interagem com a plataforma de jogos Roblox.
A empresa de segurança da cadeia de fornecimento de software descreveu a atividade como uma "repetição de um ataque descoberto dois anos atrás" em outubro de 2021.
"Os pacotes maliciosos [...] reproduzem o código do pacote legítimo noblox.js, mas adicionam funções maliciosas de roubo de informações", disse a pesquisadora de ameaças de software Lucija Valentić em uma análise na terça-feira.
Os pacotes foram baixados cumulativamente 963 vezes antes de serem retirados.
Os nomes dos pacotes desonestos são os seguintes -
noblox.js-vps (versões 4.14.0 a 4.23.0)
noblox.js-ssh (versões 4.2.3 a 4.2.5)
noblox.js-secure (versões 4.1.0, 4.2.0 a 4.2.3)
Embora os contornos gerais do último ataque permanecem semelhantes ao anterior, ele também apresenta algumas características únicas, principalmente no lançamento de um executável que fornece Luna Grabber.
O desenvolvimento é uma das raras instâncias de uma sequência de infecção em várias etapas descobertas no npm, disse a ReversingLabs.
"Em campanhas maliciosas que visam a cadeia de fornecimento de software, a diferença entre ataques sofisticados e não sofisticados muitas vezes se resume ao nível de esforço que os atores maliciosos fazem para disfarçar seu ataque e fazer seus pacotes maliciosos parecerem legítimos", apontou Valentić.
Os módulos, em particular, escondem habilmente sua funcionalidade maliciosa em um arquivo separado chamado postinstall.js que é invocado após a instalação.
Isso ocorre porque o pacote genuíno noblox.js também emprega um arquivo com o mesmo nome para exibir uma mensagem de agradecimento a seus usuários, ao lado de links para sua documentação e repositório no GitHub.
As variantes falsas, por outro lado, utilizam o arquivo JavaScript para verificar se o pacote está instalado em uma máquina Windows e, se estiver, baixar e executar um payload de segunda etapa hospedado no CDN do Discord, ou, alternativamente, mostrar uma mensagem de erro.
A ReversingLabs disse que a segunda etapa continuou a evoluir a cada iteração, adicionando cada vez mais funcionalidade e mecanismos de ofuscação para frustrar a análise.
A principal responsabilidade do script é baixar o Luna Token Grabber, uma ferramenta Python que pode extrair credenciais de navegadores da web, bem como tokens do Discord.
No entanto, parece que o ator de ameaças por trás da campanha npm optou apenas por coletar informações do sistema das vítimas usando um builder configurável disponibilizado pelo(s) autor(es) do Luna Token Grabber.
Esta não é a primeira vez que o Luna Token Grabber é identificado.
No início de junho, a Trellix divulgou detalhes de um novo ladrão de informações com base Go chamado Skuld que se sobrepõe à cepa de malware.
"Isso destaca mais uma vez a tendência de atores maliciosos usarem o typosquatting como técnica para enganar os desenvolvedores, fazendo-os baixar código malicioso sob o disfarce de pacotes legitimamente nomeados de maneira semelhante", disse Valentić.
Publicidade
Passe por todas as principais fases de um pentest, utilizando cenários, domínios e técnicas reais utilizados no dia a dia de um hacker ético. Conte ainda com certificado e suporte, tudo 100% gratuito. Saiba mais...