Des centaines de versions de chevaux de Troie de packages bien connus tels que Zapier, les domaines ENS, PostHog et Postman ont été implantées dans le registre npm dans le cadre d’une nouvelle campagne de chaîne d’approvisionnement Shai-Hulud.

Les packages malveillants ont été ajoutés à NPM (Node Package Manager) au cours du week-end pour voler des secrets de développement et d’intégration continue et de livraison continue (CI/CD). Les données sont automatiquement publiées sur GitHub sous forme codée.

Au moment de la publication, GitHub a renvoyé 27 600 résultats correspondant aux entrées liées à la récente attaque.

Dépôts GitHub avec des secrets volés dans la nouvelle campagne Shai-Hulud

Lorsque le malware Shai-Hulud est apparu pour la première fois dans l’espace npm à la mi-septembre, il a compromis 187 packages avec une charge utile auto-propagatrice qui utilisait l’outil TruffleHog pour voler des secrets de développeur.

L’auteur de la menace a automatiquement téléchargé des packages légitimes, modifié le package.fichier json pour injecter un script malveillant, puis les publier sur npm en utilisant des comptes de responsable compromis.

Charlie Eriksen, chercheur en logiciels malveillants sur la plate-forme de sécurité axée sur les développeurs Aikido Security, a découvert la nouvelle campagne plus tôt dans la journée, alors qu’il y avait 105 packages cheval de Troie avec des indicateurs Shai-Hulud. Depuis lors, le nombre est passé à 492, en ne comptant que les noms des paquets.

Plus tard, le chercheur a averti que les secrets volés lors de l’attaque de la chaîne d’approvisionnement avaient été divulgués sur GitHub.

Cependant, la campagne a connu une croissance exponentielle pour atteindre plus de 27 000 paquets malveillants. Les chercheurs en menaces de la plate-forme de sécurité cloud Wiz ont découvert environ 350 comptes de mainteneurs uniques utilisés dans la campagne, notant que  » 1 000 nouveaux référentiels sont ajoutés de manière cohérente toutes les 30 minutes au cours des deux dernières heures. »

Eriksen a précisé pour Breachtrace que les référentiels sur GitHub indiquent que des développeurs compromis ont utilisé des packages npm trojanisés et des informations d’identification thad GitHub sur leur environnement.

Une analyse technique de la nouvelle analyse des logiciels malveillants Shai-Hulud de la société de sécurité CI / CD Step Security explique que les nouvelles charges utiles sont présentes dans deux fichiers, l’un étant setup_bun.js – un compte-gouttes déguisé en installateur de chignon.

Le deuxième fichier s’appelle bun_environment.js et est considérable à 10 Mo. Il repose sur des « techniques d’obscurcissement extrêmes », explique Step Security, telles qu’une grande chaîne codée en hexadécimal avec des milliers d’entrées, une boucle anti-analyse et une fonction obscurcie pour récupérer chaque chaîne du code.

L’étape Sécurité décrit cinq étapes exécutées par le logiciel malveillant pendant l’attaque, qui incluent l’exfiltration des secrets (jetons GitHub et npm, secrets pour les plates-formes cloud telles qu’AWS, GCP et Azure) et une étape destructrice qui écrase l’intégralité du répertoire personnel de la victime.

Koi Security, une société fournissant des solutions de protection pour les logiciels auto-approvisionnés, suit plus de 800 packages npm compromis par Shai-Hulud, en comptant toutes les versions infectées d’un package.

Les chercheurs ont confirmé l’étape destructrice de la nouvelle variante de Shai-Hulud, affirmant que l’écrasement ne se produit que lorsqu’un ensemble de quatre conditions est rempli.

La suppression du dossier personnel d’un utilisateur se produit si le logiciel malveillant ne peut pas s’authentifier auprès de GitHub, créer un référentiel sur la plate-forme, récupérer un jeton GitHub ou trouver un jeton npm.

Selon Wiz, le code malveillant collecte les secrets des développeurs et des CI / CD et les publie dans les référentiels GitHub  » avec des noms faisant référence à Shai-Hulud. »Le code malveillant s’exécute uniquement pendant l’étape de pré-installation et crée les fichiers suivants:

  • cloud.json
  • contents.json
  • environment.json
  • truffleSecrets.json

Les secrets volés sont publiés sur GitHub dans des référentiels générés automatiquement qui ont la description  » Sha1-Hulud: La Seconde venue. »

Il semble que l’auteur de la menace ait également eu accès aux comptes GitHub qu’ils utilisent maintenant pour créer des référentiels avec les quatre fichiers ci-dessus.

Comptes GitHub hébergeant des dépôts de la campagne Shai-Hulud

GitHub supprime les référentiels de l’attaquant au fur et à mesure qu’ils émergent, mais l’auteur de la menace semble en créer de nouveaux très rapidement.

Sur la liste des 186 packages que la sécurité d’Aikido a trouvés compromis avec une nouvelle version du malware Shai Hulud, il y a plusieurs packages de Zapier, ENS Domains, PostHog et AsyncAPI.

Les packages Zapier compromis constituent la boîte à outils officielle pour la création d’intégrations Zapier et sont essentiels pour les développeurs Zapier.

Les packages EnsDomains sont des outils et des bibliothèques largement utilisés par les portefeuilles, les DApps, les échanges et l’application ENS Manager, à gérer .noms eth, les résolvant en adresses Ethereum, reliant le contenu IPFS, validant les noms et interagissant avec les contrats intelligents officiels ENS.

Tous les packages compromis sont disponibles au téléchargement sur npm. Cependant, dans certains cas, la plateforme affiche un message d’avertissement concernant la publication non autorisée de la dernière version, indiquant que l’examen automatisé a détecté des signes de compromission.

Message d’avertissement sur npm

Il est conseillé aux développeurs de consulter le message d’Aikido pour obtenir la liste complète des paquets infectés, de rétrograder vers des versions sûres et de faire pivoter immédiatement leurs secrets et leurs jetons CI/CD.

Les chercheurs de Wiz recommandent aux équipes de sécurité d’identifier d’abord les paquets compromis et de les remplacer par des paquets légitimes. Ils exhortent également les organisations à alterner toutes les informations d’identification liées à npm, GitHub et aux fournisseurs de cloud.

Aikido Security conseille aux développeurs de désactiver les scripts de post-installation npm pendant l’intégration continue, si possible.

Le retour de Shai Hulud intervient à un moment où GitHub a introduit des mesures de sécurité supplémentaires pour empêcher les attaques de la chaîne d’approvisionnement sur npm, à la suite d’une série d’attaques à fort impact sur la plate-forme. Cependant, les mesures sont mises en œuvre progressivement.

Breachtrace a tenté de contacter NPM au sujet de la campagne, mais nos courriels ont été rejetés comme non livrables.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *