Pesquisadores de cibersegurança descobriram um novo pacote suspeito carregado no registro de pacotes npm, projetado para implantar um trojan de acesso remoto em sistemas comprometidos.
O pacote em questão é o glup-debugger-log, que visa os usuários da ferramenta gulp, disfarçando-se como um “registro para gulp e plugins gulp”. Ele já foi baixado 175 vezes até o momento.
A empresa de segurança da cadeia de suprimentos de software Phylum, que descobriu o pacote, afirmou que o pacote vem equipado com dois arquivos ofuscados que trabalham juntos para implantar a carga maliciosa.
“Um funcionava como um tipo de iniciador inicial que preparava o terreno para a campanha de malware comprometendo a máquina alvo se atendesse a certos requisitos, em seguida, baixando componentes de malware adicionais, e o outro script fornecendo ao atacante um mecanismo de acesso remoto persistente para controlar a máquina comprometida,” afirmou.
Uma análise mais detalhada do arquivo package.json da biblioteca pela Phylum – que age como um arquivo de manifesto descrevendo todos os metadados associados a um pacote – encontrou o uso de um script de teste para executar um arquivo JavaScript (“index.js”) que, por sua vez, invoca um arquivo JavaScript ofuscado (“play.js”).
O segundo arquivo JavaScript funciona como um iniciador para buscar o próximo estágio de malware, mas não antes de executar uma série de verificações em interfaces de rede, tipos específicos de sistemas operacionais Windows (Windows NT) e, de forma incomum, o número de arquivos na pasta Desktop.
“No primeiro momento, isso pode parecer absurdamente arbitrário, mas é provável que seja uma forma de indicador de atividade do usuário ou uma maneira de evitar implantações em ambientes controlados ou gerenciados como VMs ou instalações novas. Parece que o atacante está mirando máquinas de desenvolvedores ativos.”
Assumindo que todas as verificações sejam aprovadas, ele inicia outro JavaScript configurado no arquivo package.json (“play-safe.js”) para configurar a persistência. O carregador também inclui a capacidade de executar comandos arbitrários a partir de uma URL ou de um arquivo local.
Por sua vez, o arquivo “play-safe.js” estabelece um servidor HTTP e escuta na porta 3004 para comandos de entrada, que são então executados. O servidor envia a saída do comando de volta para o cliente na forma de uma resposta em texto simples.
A Phylum descreveu o RAT como sendo ao mesmo tempo rudimentar e sofisticado, devido à sua funcionalidade mínima, natureza autocontida e sua dependência da ofuscação para resistir à análise.
“Isso continua a destacar o cenário em constante evolução do desenvolvimento de malware nos ecossistemas de código aberto, onde os atacantes estão empregando novas e inteligentes técnicas na tentativa de criar malware compacto, eficiente e furtivo que esperam conseguir evadir a detecção, ao mesmo tempo possuindo capacidades poderosas,” afirmou a empresa.