Les chercheurs en cybersécurité ont découvert un nouveau groupe de packages malveillants sur le registre de packages npm qui sont conçus pour exfiltrer les informations sensibles des développeurs.
La société de chaîne d’approvisionnement en logiciels Phylum, qui a identifié pour la première fois les packages « test » le 31 juillet 2023, a déclaré qu’ils « avaient démontré une fonctionnalité et un raffinement croissants », quelques heures après quoi ils ont été supprimés et re-téléchargés sous différents noms de packages à consonance légitime.
Bien que l’objectif final de l’entreprise ne soit pas clair, il est soupçonné d’être une campagne très ciblée visant le secteur de la crypto-monnaie basée sur des références à des modules tels que « rocketrefer » et « binarium ».
Tous les packages ont été publiés par l’utilisateur npm malikrukd4732. Une caractéristique commune à tous les modules est la possibilité de lancer JavaScript (« index.js ») qui est équipé pour exfiltrer des informations précieuses vers un serveur distant.
« Le code index.js est généré dans un processus enfant par le fichier preinstall.js », a déclaré l’équipe de chercheurs de Phylum. « Cette action est demandée par le crochet postinstall défini dans le fichier package.json, qui est exécuté lors de l’installation du package. »
La première étape consiste à rassembler le nom d’utilisateur actuel du système d’exploitation et le répertoire de travail actuel, après quoi une requête GET avec les données collectées est envoyée à 185.62.57[.]60:8000/http. La motivation exacte derrière cette action est actuellement inconnue, bien que l’on pense que les informations pourraient être utilisées pour déclencher des « comportements invisibles côté serveur ».
Par la suite, le script procède à la recherche de fichiers et de répertoires correspondant à un ensemble spécifique d’extensions : .env, .svn, .gitlab, .hg, .idea, .yarn, .docker, .vagrant, .github, .asp, .js , .php, .aspx, .jspx, .jhtml, .py, .rb, .pl, .cfm, .cgi, .ssjs, .shtml, .env, .ini, .conf, .properties, .yml et .cfg.
Les données récoltées, qui peuvent également contenir des informations d’identification et une propriété intellectuelle précieuse, sont finalement transmises au serveur sous la forme d’un fichier d’archive ZIP.
« Bien que ces répertoires puissent contenir des informations sensibles, il est plus probable qu’ils contiennent de nombreux fichiers d’application standard qui ne sont pas uniques au système de la victime et donc moins précieux pour l’attaquant, dont le motif semble être centré sur l’extraction du code source ou de l’environnement- fichiers de configuration spécifiques », a déclaré Phylum.
Le développement est le dernier exemple de référentiels open source utilisés pour propager du code malveillant, avec ReversingLabs et Sonatype identifiant une campagne PyPI qui utilise des packages python suspects tels que VMConnect, quantiumbase et ethter pour contacter un command-and-control (C2 ) et tentez de télécharger une chaîne encodée en Base64 non spécifiée avec des commandes supplémentaires.
« Étant donné que la récupération des commandes est effectuée dans une boucle sans fin, il est possible que l’opérateur du serveur C2 ne télécharge des commandes qu’après que la machine infectée est jugée intéressante pour l’auteur de la menace », a expliqué le chercheur en sécurité Karlo Zanki.
« Alternativement, le serveur C2 pourrait effectuer un certain type de filtrage des demandes. Par exemple, les attaquants peuvent filtrer les demandes en fonction de l’adresse IP de la machine infectée pour éviter d’infecter des cibles de pays spécifiques. »
Début juillet 2023, ReversingLabs a également exposé un lot de 13 modules voyous npm qui ont été collectivement téléchargés environ 1 000 fois dans le cadre d’une nouvelle campagne baptisée Operation Brainleeches.
Ce qui distingue l’activité de son utilisation de certains des packages pour faciliter la collecte d’informations d’identification via de faux formulaires de connexion Microsoft 365 lancés à partir d’une pièce jointe JavaScript, un fichier JavaScript qui récupère les charges utiles de l’étape suivante à partir de jsDelivr, un réseau de diffusion de contenu (CDN) pour les packages hébergés sur npm.
En d’autres termes, les modules npm publiés agissent comme une infrastructure de support pour l’hébergement des fichiers utilisés dans les attaques de phishing par e-mail ainsi que pour la réalisation d’attaques de la chaîne d’approvisionnement dirigées contre les développeurs.
Ce dernier est accompli en implantant des scripts de collecte d’informations d’identification dans des applications qui incorporent par inadvertance les packages npm frauduleux. Les bibliothèques ont été affichées sur npm entre le 11 mai et le 13 juin 2023.
« L’un des principaux avantages de jsDelivr est les liens directs vers les fichiers : au lieu d’utiliser npm pour installer le package et le référencer localement, vous pouvez directement créer un lien vers le fichier hébergé sur le CDN de jsDelivr », a déclaré Check Point, qui a également rendu compte de la même campagne. , a dit. « Mais […] même des services légitimes tels que le CDN jsDelivr peuvent être utilisés à des fins malveillantes. »