Pesquisadores Descobrem Pacote npm que Derruba RAT visando Usuários do Gulp

Pesquisadores de cibersegurança descobriram um novo pacote suspeito enviado para o registro de pacotes npm que foi projetado para colocar um cavalo de Troia de acesso remoto (RAT) em sistemas comprometidos.

O pacote em questão é o glup-debugger-log, que tem como alvo usuários do toolkit gulp, se passando por um “logador para gulp e plugins gulp”. Até o momento, foi baixado 175 vezes.

A empresa de segurança de cadeia de suprimentos de software Phylum, que descobriu o pacote, afirmou que o software vem com dois arquivos obfuscados que trabalham em conjunto para implantar a carga maliciosa.

“Um dos arquivos funcionou como um tipo de inicializador de gotas, estabelecendo o cenário para a campanha de malware comprometendo a máquina alvo se ela atendesse a certos requisitos, então baixando componentes adicionais de malware, e o outro script fornecendo ao atacante um mecanismo de acesso remoto persistente para controlar a máquina comprometida,” afirmou.

A análise mais detalhada da Phylum do arquivo package.json da biblioteca – que atua como um arquivo de manifesto que delineia 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 obfuscado (“play.js”).

O segundo arquivo JavaScript funciona como um gota para buscar malware de estágio seguinte, mas não antes de executar uma série de verificações para interfaces de rede, tipos específicos de sistemas operacionais Windows (Windows NT) e, em uma reviravolta incomum, o número de arquivos na pasta Desktop.

“Verificam para garantir que a pasta Desktop do diretório de casa da máquina contenha sete ou mais itens,” explicou a Phylum.

“À primeira vista, isso pode parecer absurdamente arbitrário, mas provavelmente é uma forma de indicador de atividade do usuário ou uma maneira de evitar a implantação 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 ainda inclui a capacidade de executar comandos arbitrários a partir de uma URL ou um arquivo local.

O arquivo “play-safe.js”, por sua vez, 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 obfuscação para resistir à análise.

“Continua a destacar o cenário em constante evolução de 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 evitar detecção enquanto ainda possuem capacidades poderosas,” afirmou a empresa.