CG One

Blog CG One

Insights valiosos para ajudar a proteger o seu negócio.

Centenas de pacotes maliciosos foram encontrados em “fábrica” de npm

Mais de 700 pacotes maliciosos foram publicados em apenas cinco dias em campanha escalável e complexa, visando desenvolvedores

Em março deste ano, pesquisadores da empresa de softwares JFrog divulgaram uma campanha que indicava que um criminoso, ainda não-identificado, havia publicado pelo menos 200 pacotes maliciosos no Node Package Manager (npm) – a plataforma de gerenciamento de softwares subsidiária do GitHub.

A equipe disse que esses repositórios foram detectados pela primeira vez em 21 de março e cresceram rapidamente em volume, com cada pacote npm deliberadamente nomeado de modo a imitar um software legítimo.

Após continuidade da investigação, a contagem de pacotes maliciosos publicado ultrapassou os 700.

O que é e para que serve o npm

De forma bastante sucinta, npm é o gerenciador de pacotes para a plataforma Node.js, um software open-source e multiplataforma para desenvolvimento e execução de códigos JavaScript.

O npm serve para organizar módulos para que o Node possa encontrá-los de forma facilitada, bem como gerenciar conflitos de dependência de forma inteligente nos códigos. O npm é altamente customizável, a fim de apoiar uma ampla variedade de possibilidades de uso. Mais comumente, é usado para publicar, descobrir, instalar e desenvolver programas em Java.

Por isso, quando utilizado para fins maliciosos, pode se tornar uma arma bastante perigosa.

A campanha de npm é complexa e escalável

No dia 28 de marçod, pesquisadores da Checkmarx, empresa de segurança de software, disseram que a equipe de Supply Chain Security (SCS) da empresa também está rastreando essas atividades e registrou mais de 600 pacotes maliciosos publicados em cinco dias, elevando o total de pacotes para mais de 700.

Para tentar manter a discrição dos ataques, o criminoso tem usado contas de usuário únicas para subir os pacotes.

“Isso é incomum para a maioria dos ataques automatizados; geralmente, os invasores criam um único usuário e expandem seus ataques a partir dele”, dizem os pesquisadores. “A partir desse comportamento, podemos concluir que o invasor construiu um processo de automação de ponta a ponta, incluindo o registro de usuários e a aprovação das autenticações OTP”.

De acordo com a Checkmarx, a “fábrica” ​​do invasor está desenvolvendo pacotes npm maliciosos que contam com uma confusão proposital na dependência de tipo para enganar os desenvolvedores e roubar seus dados com sucesso.

Como a fábrica de npm funciona

Conforme observado anteriormente pela JFrog, o método de ataque depende de typosquatting – isto é, sequestro de URLs – e de nomenclaturas que simulam pacotes confiáveis, geralmente removendo partes do nome de um pacote para parecer mais legítimo.

O servidor de comando e controle (C2) usado para gerenciar a infraestrutura geral da onda de ataque, “rt11[.]ml”, também é o endereço do destinatário para as informações roubadas. O C2 parece estar executando o Interactsh, uma ferramenta de código aberto escrita na linguagem de programação Go para extração de dados.

A Checkmarx configurou seu próprio domínio e servidor a fim de entender melhor o método do invasor. Escreveram, então, um script que abre contas npm mediante solicitação, usando o software de teste SeleniumLibrary. O script pode gerar nomes de usuário e endereços de e-mail aleatoriamente no domínio de teste e inicia automaticamente o processo de inscrição.

É aí que entra o Interactsh. Para ignorar a verificação de senha de uso único (OTP) usada pelo npm, o Interactsh extrai automaticamente o OTP e o envia de volta ao formulário de inscrição, permitindo que a solicitação de criação de conta seja bem-sucedida, se esquivando das medidas de segurança.

“Vale ressaltar que, uma vez criada a conta de usuário, é possível configurá-la de forma a não exigir OTP para publicar um pacote”, disseram os pesquisadores. “Isso pode ser feito usando um token de autenticação e configurando-o para funcionar sem 2FA. Presumimos que é assim que os invasores que publicaram pacotes maliciosos foram capazes de automatizar seu processo sem configurar o mecanismo descrito.”

A Checkmarx, assim como a JFrog, relataram os pacotes maliciosos à equipe de segurança do npm. Além disso, a empresa que fornece o servidor C2 também foi notificada.

“Ao distribuir os pacotes por meio de vários nomes de usuário, o invasor torna mais difícil para os defensores derrubá-los de forma assertiva e eficaz”, observaram os pesquisadores. “Com isso, é claro, aumentam as chances de infecção.”

Quer manter sua empresa protegida de diferentes tipos de ataques cibernéticos? Confira as soluções de segurança da Compugraf e saiba como podemos te ajudar!

Leia outros artigos