Pesquisadores Descobrem Pacote npm de RAT-Dropping Direcionado a Usuários do Gulp

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.