IconBust, um novo ataque NPM

Todas as mensagens

Um novo ataque à cadeia de suprimentos de software projetado para extrair dados de aplicativos e sites foi encontrado em mais de duas dúzias de pacotes NPM.

Ameaça -

No início deste mês, o ReversingLabs identificou o IconBurst, um ataque JavaScript NPM que instala módulos NPM maliciosos que coletam dados de formulários incorporados em aplicativos móveis e sites.

Propagação -

A propagação do ataque não está totalmente clara neste momento, no entanto, tem o potencial de infectar em massa sites e aplicações, que são construídos por desenvolvedores que utilizam estes pacotes. Como cada desenvolvedor pode construir vários sites, a ameaça é ampliada. Com alguns dos pacotes sendo baixados dezenas de milhares de vezes, o escopo estimado pode ser tão difundido quanto infecções em massa anteriores, como Log4J e SolarWinds. Embora o Log4J tenha sido mais difundido e o SolarWinds tenha tido um impacto maior, o dano final pode ser igualmente significativo.

Tecnologia -

Os pacotes usam scripts jQuery com o objetivo de roubar dados de aplicativos implantados.

Além disso, o IconBurst usa um ofuscador JavaScript para ocultar parte do código. Um ofuscador normalmente serve para proteger código proprietário em pacotes de código aberto e compactar arquivos JavaScript. No entanto, o IconBurst o utiliza para ocultar o endereço de exfiltração usado na extração de dados de formulário serializados.

Isso significa que os desenvolvedores que usam esses pacotes falsos sem saber não são o alvo do ataque, o verdadeiro alvo é o usuário final.

Infecção -

Vinte e quatro pacotes que utilizam métodos typosquatting como meio de distribuição foram identificados desde o início deste ano.

Os invasores usam técnicas de typosquatting, o que significa personificar pacotes legítimos por meio de repositórios públicos, como o NPM.

IconBurst se concentra em pacotes que contêm a palavra “Icon”, representando módulos NPM de alto tráfego e oferecendo pacotes com nomes confusos e comuns com erros ortográficos. 

Typosquatting é uma forma de ataque de ciberespeculação e uma forma de ataque de engenharia social. 

Por que usar “icon” como palavra-chave base – o motivo provavelmente é o pacote ionicons, usado frequentemente para fornecer ícones em aplicativos construídos usando a estrutura ionic.

Com uma contagem de downloads de mais de 17000 para o pacote de ícones, de longe o pacote mais baixado, e mais de 3700 para o pacote ionício.

Bandeira -

Então o que fez ReversingLabs levantar a proverbial bandeira vermelha? Ofuscador Javascript.

Conforme mencionado, um ofuscador javascript tem como objetivo proteger aplicativos Javascript, permitindo que os desenvolvedores protejam o código contra cópia ou engenharia reversa.

No entanto, a desvantagem desta capacidade é que ela pode ser explorada por invasores para disfarçar códigos maliciosos.

A presença de um ofuscador javascript foi o que fez os engenheiros do ReversingLabs inspecionarem vários pacotes NPM. Ao observar os nomes desses pacotes, surgiu um padrão. Alguns dos primeiros pacotes inspecionados continham a palavra “ícone”, foi aí que a estratégia dos invasores ficou clara: agachar-se com erros de digitação e infectar em massa.

Os invasores não tentaram mirar especificamente em pacotes com a palavra ícone; no entanto, em última análise, a maioria dos pacotes baixados estava relacionada a ícones, devido à sua popularidade. 

Hance – “IconBurst”

Aqui está a lista:

Autor/Nome do pacoteContagem de downloadNome do pacote original
ícone iônico108iônicos
Iônico3,724iônicos
pacote de ícones17,774iônicos
ajax-libs2,440
guarda-chuvas686guarda-chuvajs
biblioteca ajax530
pacote de ícones101
pacote-sidr91
kbrstore89
pacote de ícones380
subek99
show de pacotes103
ícone do pacote122
pacotes de ícones170
pacote ionicon64
pacote de ícones49
ícones de pacote468
pacote de íons89
pacote-ionicons144
pacote-ionicon57
base64-javascript40
ionicons-js38
ionicons-json39
rodapé1,903
rugido-0140
rugido-0237
wkwk10038
swiper-bundie39swiper
ajax-libz40
pacote de swiper185swiper
atez43
ajax-googleapis38
tezdoank69
ajaxapis40
tescodek38
atezzz114
libz.jquery160
biblioteca ajax36

Intenção -

IconBurst foi projetado para atingir o usuário final e obter dados inseridos em formulários. Outros ataques podem ter como alvo outros tipos de dados ou outros tipos de público-alvo, e não os usuários finais.

Mas os invasores estão sempre atrás de dados? Na verdade não, eles não são. Vimos outros tipos de ataques; os invasores usaram códigos ocultos em pacotes e conseguiram instalar mineradores de criptografia, visando os recursos das máquinas atacadas (poder computacional) e não afetando em nada seus dados.

Resumo -

IconBurst demonstra a capacidade de usar o que é uma tecnologia bastante simples, um ofuscador de JavaScript que disfarça código malicioso e se faz passar por pacotes legítimos por meio de repositórios públicos, como o NPM.

O verdadeiro ás na manga do IconBurst é engenharia social, não tecnologia altamente sofisticada, e pode ser igualmente eficaz.

Este conteúdo é oferecido a você pela Scribe Security, um fornecedor líder de soluções de segurança de cadeia de suprimentos de software ponta a ponta – fornecendo segurança de última geração para artefatos de código e processos de desenvolvimento e entrega de código em todas as cadeias de suprimentos de software. Saiba mais.