
Résumé
-
Shai Hulud v2 a infecté plus de 500 packages npm (plus de 700 versions) et s'est propagé dans Java/Maven – ouais.
-
Les packages compromis exécutent un chargeur de préinstallation qui télécharge Bun et exécute silencieusement une charge utile obscurcie de 10 Mo.
-
La charge utile exfiltre les variables d'environnement (GITHUB_TOKEN, NPM_TOKEN, clés AWS), recherche les secrets ; C2 s'auto-répare via GitHub.
De nos jours, les attaques contre la chaîne d’approvisionnement ciblant npm ne sont pas rares. Cela fait quelques mois, mais nous sommes de retour avec une nouvelle attaque, celle-ci affectant plus de 500 colis. Ouais.
Une campagne sophistiquée d'attaque de la chaîne d'approvisionnement baptisée « Shai Hulud v2 » a compromis des centaines de packages au sein de l'écosystème npm et s'est maintenant propagée aux artefacts Java/Maven. L'attaque a déjà affecté plus de 500 packages et 700 versions, infiltrant les logiciels des principaux fournisseurs, notamment Zapier, Postman, PostHog, AsyncAPI et ENS Domains.
D’après ce que nous pouvons comprendre, le vecteur d’infection repose sur un chargeur en deux étapes conçu pour échapper à la détection. Les packages compromis contiennent un script de préinstallation dans leur fichier package.json qui exécute un fichier nommé setup_bun.js. Ce script agit comme un chargeur furtif qui détecte automatiquement le système d'exploitation et l'architecture hôte. Il localise ou télécharge ensuite le runtime Bun (un runtime JavaScript rapide) et exécute une lourde charge utile obscurcie de 10 Mo intitulée bun_environment.js. Ce processus supprime tous les journaux de sortie et d'erreurs standard, de sorte que les processus malveillants en arrière-plan ne sont pas détectés pendant l'installation du package.
Il convient de noter que le problème semble en réalité se propager à l’écosystème Maven. Les chercheurs ont observé que la charge utile malveillante était présente dans org.mvnpm:posthog-node, un artefact Maven généré automatiquement à partir des packages npm. Cela confirme que le pontage automatisé des écosystèmes logiciels peut par inadvertance combler les vulnérabilités de sécurité, permettant ainsi aux logiciels malveillants basés sur JavaScript de contaminer les environnements Java. Ouais.
Le malware utilise une infrastructure C2 « d’auto-réparation » résiliente. Lors de son exécution, il recherche dans les référentiels publics GitHub une phrase balise spécifique : « Sha1-Hulud : The Second Coming ». S’il est trouvé, le malware récupère un jeton d’accès GitHub caché, codé en triple base64, dans le référentiel. Ce jeton est ensuite utilisé comme identifiant principal pour l'exfiltration des données. Cela permet aux attaquants de simplement « réamorcer » la campagne en créant de nouveaux référentiels si les précédents sont supprimés, ce qui rend cette campagne assez résistante aux efforts de suppression.
L'objectif principal du malware semble être le vol massif d'identifiants. Il capture toutes les variables d'environnement, notamment GITHUB_TOKEN, NPM_TOKEN et AWS_ACCESS_KEY_ID. De plus, il télécharge et exécute l'outil de sécurité TruffleHog pour analyser de manière agressive l'ensemble du système de fichiers à la recherche de secrets codés en dur.
Si vous souhaitez en savoir plus sur les tenants et les aboutissants de cette problématique, ce rapport va assez en profondeur.
Source: Douille
Vous pouvez lire l’article original (en Angais) sur le sitewww.howtogeek.com