IconBust, une nouvelle attaque NPM

Tous Les Articles

Une nouvelle attaque contre la chaîne d'approvisionnement logicielle conçue pour extraire des données d'applications et de sites Web a été découverte dans plus de deux douzaines de packages NPM.

Menace -

Plus tôt ce mois-ci, ReversingLabs a identifié IconBurst, une attaque JavaScript NPM qui installe des modules NPM malveillants qui collectent des données à partir de formulaires intégrés dans des applications mobiles et des sites Web.

Propagé -

La propagation de l’attaque n’est pas entièrement claire à ce stade, mais elle pourrait potentiellement infecter en masse des sites Web et des applications créés par les développeurs utilisant ces packages. Puisque chaque développeur peut créer plusieurs sites, la menace est amplifiée. Certains packages étant téléchargés des dizaines de milliers de fois, la portée estimée pourrait être aussi étendue que les infections massives passées telles que Log4J et SolarWinds. Même si Log4J était plus répandu et que SolarWinds avait un impact plus important, les dégâts ultimes peuvent être tout aussi importants.

Technologie -

Les packages utilisent des scripts jQuery visant à voler les données des applications déployées.

De plus, IconBurst utilise un obfuscateur JavaScript pour masquer une partie du code. Un obfuscateur est normalement destiné à protéger le code propriétaire dans les packages open source et à compresser les fichiers JavaScript. Cependant, IconBurst l'utilise pour masquer l'adresse d'exfiltration utilisée dans l'extraction des données de formulaire sérialisées.

Cela signifie que les développeurs qui utilisent ces faux packages sans le savoir ne sont pas la cible de l'attaque, la véritable cible est l'utilisateur final.

Infection -

Vingt-quatre colis utilisant les méthodes de typosquatting comme moyen de distribution ont été identifiés depuis le début de cette année.

Les attaquants utilisent des techniques de typosquatting, ce qui signifie usurper l'identité de packages légitimes via des référentiels publics tels que NPM.

IconBurst se concentre sur les packages contenant le mot « Icon », se faisant passer pour des modules NPM à fort trafic et proposant des packages avec des noms mal orthographiés courants et déroutants. 

Le typosquatting est une forme d’attaque de cybersquatting et une forme d’attaque d’ingénierie sociale. 

Pourquoi utiliser « icône » comme mot-clé de base – la raison est probablement le package ionicons, fréquemment utilisé pour fournir des icônes dans les applications construites à l'aide du framework ionic.

Avec un nombre de téléchargements de plus de 17000 3700 pour le package icon-package, de loin le package le plus téléchargé, et de plus de XNUMX XNUMX pour le package ionicio.

Drapeau -

Alors qu'est-ce qui a fait Laboratoires d'inversion lever le proverbial drapeau rouge ? Obfuscateur Javascript.

Comme mentionné, un obfuscateur Javascript est destiné à protéger les applications Javascript, il permet aux développeurs de protéger le code contre la copie ou l'ingénierie inverse.

Cependant, l’inconvénient de cette fonctionnalité est qu’elle peut être exploitée par des attaquants afin de dissimuler un code malveillant.

La présence d'un obfuscateur javascript est ce qui a poussé les ingénieurs de ReversingLabs à inspecter un certain nombre de packages NPM. En examinant les noms de ces packages, un modèle est apparu. Quelques-uns des premiers colis inspectés comportaient le mot « icône », c'est à ce moment-là que la stratégie des attaquants est devenue claire : faire des fautes de frappe et infecter en masse.

Les attaquants n'ont pas essayé de cibler spécifiquement les packages comportant le mot icône, mais en fin de compte, la plupart des packages téléchargés étaient liés à des icônes, en raison de leur popularité. 

Hance – « IconBurst »

Voici la liste:

Auteur/Nom du packageNombre de téléchargementsNom du package d'origine
icône ionique108icônes ioniques
ionicio3,724icônes ioniques
paquet d'icônes17,774icônes ioniques
ajax-libs2,440
parapluies686parapluiejs
bibliothèque ajax530
paquet iconion101
paquet-sidr91
kbrstore89
paquet d'icônes380
subek99
forfait-show103
icône de package122
paquets d'icônes170
paquet ionicon64
pack d'icônes49
pack-icônes468
pack d'icônes ioniques89
paquet-ionicons144
paquet-ionicon57
base64-javascript40
ionicons-js38
ionicons-json39
icône de pied de page1,903
rugissement-0140
rugissement-0237
wkwk10038
swiper-bundie39swiper
ajax-libz40
paquet de swiper185swiper
Atez43
ajax-googleapis38
tezdoank69
ajaxapis40
tescodek38
atezzz114
libz.jquery160
ajax-librairie36

Intention -

IconBurst a été conçu pour cibler l'utilisateur final et récupérer les données saisies dans les formulaires. D’autres attaques peuvent cibler d’autres types de données ou d’autres types de publics cibles plutôt que les utilisateurs finaux.

Mais les attaquants sont-ils toujours à la recherche de données ? En fait non, ils ne le sont pas. Nous avons vu d’autres types d’attaques ; les attaquants ont utilisé du code caché dans des packages et ont réussi à installer des mineurs Crypto, ciblant les ressources des machines attaquées (puissance de calcul) et n'affectant en rien leurs données.

Résumé -

IconBurst démontre la capacité à utiliser une technologie finalement assez simple, un obfuscateur JavaScript masquant le code malveillant et usurpant l'identité de packages légitimes via des référentiels publics tels que NPM.

Le véritable atout dans la manche d'IconBurst est l'ingénierie sociale, pas une technologie très sophistiquée, et elle peut être tout aussi efficace.

Ce contenu vous est proposé par Scribe Security, l'un des principaux fournisseurs de solutions de sécurité de bout en bout pour la chaîne d'approvisionnement logicielle, offrant une sécurité de pointe aux artefacts de code ainsi qu'aux processus de développement et de livraison de code tout au long des chaînes d'approvisionnement logicielles. En savoir plus.