Pacote npm malicioso se apresenta como ferramenta Tailwind

0 0
Read Time:5 Minute, 40 Second

Um pacote malicioso no repositório de código aberto npm está pegando carona na engenharia social na ferramenta de biblioteca de software legítimo “Tailwind”, que milhões de desenvolvedores de aplicativos usam em todo o mundo. A descoberta ocorre quando os agentes de ameaças continuam a ver oportunidades em semear software de código aberto com malware.

Os agentes de ameaças estão marcando o pacote malicioso como “Material Tailwind”, descrevendo-o como “uma biblioteca de componentes fácil de usar para Tailwind CSS e Material Design”, duas bibliotecas de código aberto comumente usadas que têm milhões de downloads cada, pesquisadores da ReversingLabs encontrado.

O Tailwind é uma estrutura CSS de código aberto que não fornece classes predefinidas para elementos, enquanto o Material Design é uma linguagem de design que usa layouts baseados em grade, animações responsivas e outros efeitos visuais. Ambos “são nomes reconhecíveis e bibliotecas muito populares entre os desenvolvedores”, segundo a empresa.

No entanto, o Material Tailwind não é útil para os desenvolvedores, revelaram pesquisadores em um post publicado em 22 de setembro. Em vez disso, ele oferece um ataque em vários estágios – raro para esse tipo de malware – que baixa um executável malicioso do Windows com pacote personalizado capaz de executar Scripts do PowerShell.

“Na maioria desses casos, o malware em questão é um código JavaScript bastante simples que raramente é ofuscado”, observou Karlo Zanki, engenheiro reverso da ReversingLabs, no post. “Amostras sofisticadas de malware em vários estágios, como o Material Tailwind, ainda são um achado raro.”

Pesquisadores da ReversingLabs detectaram o comportamento malicioso porque a suposta modificação da biblioteca continha código ofuscado com JavaScript Obfuscator. Além disso, embora a descrição do pacote parecesse legítima o suficiente, uma inspeção mais detalhada revelou que ele foi copiado de outro pacote npm chamado tailwindcss-stimulus-components , disseram eles, que os agentes da ameaça então trojanizaram.

“O agente da ameaça teve um cuidado especial em modificar todo o texto e trechos de código para substituir o nome do pacote original por Material Tailwind”, escreveu Zanki. “O pacote malicioso também implementa com sucesso todas as funcionalidades fornecidas pelo pacote original.”

Como funciona o ataque

Os pesquisadores da ReversingLabs analisaram o Material Tailwind em detalhes, desobstruindo o script suspeito, executado imediatamente após a instalação do pacote – comportamento que é por si só “uma (grande) bandeira vermelha” para pesquisadores de ameaças, observou Zanki.

Depois que o pacote é instalado, o módulo primeiro envia uma solicitação POST com informações da plataforma para um endereço IP específico para validar que está sendo executado em um sistema Win32. Em caso afirmativo, ele constrói um link de download contendo o tipo de sistema operacional e também adiciona um parâmetro provavelmente usado para validar que a solicitação de download está vindo da máquina da vítima, descobriram os pesquisadores.

Um arquivo .zip protegido por senha chamado DiagnosticsLogger.zip é baixado, que contém um único arquivo, chamado DiagnosticsHub.exe, que provavelmente disfarçará a carga útil como algum tipo de ferramenta de diagnóstico, observou Zanki. Os invasores provavelmente também usam proteção por senha para evitar verificações básicas de antivírus, disse ele.

Por fim, o script gera um processo filho que executa o arquivo baixado, um executável do Windows personalizado que usa várias proteções destinadas a dificultar a análise, disse Zanki.

As informações compactadas incluem vários trechos de código do PowerShell responsáveis ​​por comando e controle, comunicação e manipulação de processos, descobriram os pesquisadores. O malware obtém persistência executando um comando do PowerShell codificado em Base64, que configura uma tarefa agendada para ser executada diariamente.

Um processo de estágio dois do código malicioso busca um arquivo criptografado em XOR e codificado em Base64 de um link público do Google Drive ou, no caso de o link não poder ser acessado, de um ou outro de dois locais alternativos de download — um no GitHub e outro no OneDrive, descobriram os pesquisadores.

At the time of publication, the encrypted file contains a single IP address, which is the location of its command-and-control server from which the malware receives encrypted instructions using a dedicated socket connection, they added.

Weaponizing Open Source Code

Open source software and npm packages in particular have become a target of choice for threat actors lately because they can easily be weaponized against the software supply chain. In fact, planting malware in open source code is one of the fastest-growing types of software supply chain attacks “being spotted almost daily now,” according to Zanki. 

These types of attacks also are forcing enterprises to pivot when it comes to how they secure their environments, notes Tim Mackey, principal security strategist at the Synopsys Cybersecurity Research Center.

“Até recentemente, as organizações só tinham que lidar com as vulnerabilidades de segurança em seus aplicativos que foram involuntariamente herdadas por meio de componentes de código aberto e suas dependências – o que não era uma tarefa trivial para começar”, diz ele. “Agora, os invasores estão induzindo as organizações a usarem pacotes de código aberto que foram modificados com intenção maliciosa”.

Os pacotes Npm são um canal atraente para ataques à cadeia de suprimentos de software “em parte devido ao grande volume de componentes e dependências de código aberto normalmente usados ​​para criar aplicativos NodeJS”, observou ele.

Essas dependências de fato estão aumentando os riscos de segurança para as empresas, atualmente um desafio considerável na rapidez com que os problemas nos recursos podem se multiplicar, observa Ben Pick, principal consultor de segurança cibernética do provedor de segurança de aplicativos nVisium.

“Assim, um invasor precisaria apenas direcionar e comprometer um dos muitos projetos de código aberto em um pipeline para causar danos consideráveis”, observa ele.

Cadeia de suprimentos de software: várias opções de ataque cibernético

Os invasores que aproveitam os pacotes npm estão sendo criativos na forma como usam os repositórios de código aberto.

Um relatório publicado em fevereiro identificou mais de 1.300 pacotes npm maliciosos em 2021 que permitiram que os invasores realizassem várias atividades nefastas, incluindo criptojacking e roubo de dados. Em termos de enganar as pessoas para instalá-los, alguns pacotes se disfarçam de ferramentas para pesquisa de segurança, descobriram os pesquisadores.

Dois exemplos de ataques recentes nos quais os invasores aproveitam os pacotes npm surgiram em julho. O primeiro, relatado em 5 de julho , revelou um ataque de longo alcance na cadeia de suprimentos depois que vários pacotes usando um ofuscador JavaScript para ocultar sua verdadeira função foram descobertos em abril.

Em outro, relatado em 29 de julho, os invasores usaram quatro pacotes npmcontendo código malicioso Python e JavaScript altamente ofuscado para espalhar o malware “Volt Stealer” e “Lofy Stealer” para coletar informações de suas vítimas, incluindo tokens Discord e informações de cartão de crédito. bem como espioná-los ao longo do tempo.

FONTE: DARK READING

POSTS RELACIONADOS