
Depuis quelques années, les attaques de type "supply chain" ou chaîne d'approvisionnement sont devenues un sujet de préoccupation croissant pour les développeurs et les responsables de la sécurité informatique. En novembre 2024, une vague de logiciels malveillants a ciblé le registre Node Package Manager (NPM), qui est largement utilisé dans l'écosystème JavaScript. Dans ce cadre, des centaines de bibliothèques (ou "packages"

Récemment, des chercheurs auraient découvert une opération très avancée de la Corée du Nord qui introduit en douce des logiciels malveillants de vol de cryptomonnaie dans des logiciels open-source. Cette campagne furtive est conçue pour diffuser des logiciels malveillants et mettre en danger les utilisateurs qui ne se doutent de rien.
Les chercheurs STRIKE de SecurityScorecard ont déclaré que le groupe Lazarus de Corée du Nord diffusait un code malveillant « indétectable » via GitHub et des paquets NPM dans le cadre de l'opération Marstech Mayhem. L'équipe a déclaré : "Les développeurs intègrent sans le savoir des dépôts infectés dans leurs projets, ce qui met en péril les portefeuilles de cryptomonnaie et les chaînes d'approvisionnement en logiciels."
STRIKE a découvert que le groupe avait conçu un implant avancé, dont le nom de code est "marstech1". Ils ont ajouté : "Cet outil de pointe marque une évolution significative par rapport aux itérations précédentes déployées dans les campagnes mondiales contre les développeurs, et présente des améliorations fonctionnelles uniques qui le distinguent nettement des autres."
[TWITTER]<blockquote class="twitter-tweet"><p lang="en" dir="ltr">🚨 North Korea’s <a href="https://twitter.com/Lazarus?ref_src=twsrc%5Etfw">@Lazarus</a> Group is Targeting Developers—Again 🚨<br>The STRIKE team just uncovered Operation Marstech Mayhem—a new malware campaign spreading through <a href="https://twitter.com/github?ref_src=twsrc%5Etfw">@GitHub</a> and NPM packages. Developers are unknowingly pulling infected repositories into their projects, putting… <a href="https://t.co/1Cic14u1NP">pic.twitter.com/1Cic14u1NP</a></p>— SecurityScorecard (@security_score) <a href="https://twitter.com/security_score/status/1890086318199214458?ref_src=twsrc%5Etfw">February 13, 2025</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>[/TWITTER]
Selon des chercheurs en cybersécurité, le profil GitHub de SuccessFriend, lié au tristement célèbre Groupe Lazarus, a injecté des implants JavaScript dans des référentiels, en les mélangeant avec du code légitime. Pour compliquer encore les choses, le profil a également injecté du code inoffensif, ce qui rend encore plus difficile la détection de ses intentions hostiles. Cet implant JavaScript cible spécifiquement les portefeuilles de cryptomonnaie Exodus et Atomic sous Linux, macOS et Windows. Une fois installé, l'acteur de la menace nord-coréen analyse le système à la recherche de portefeuilles de cryptomonnaies, tentant de lire le contenu des fichiers ou d'extraire des métadonnées pour voler des informations sensibles.
Jusqu'à présent, STRIKE a confirmé que 233 victimes ont été touchées aux États-Unis, en Europe et en Asie. Ryan Sherstobitoff, vice-président de SecurityScorecard chargé de la recherche et du renseignement sur les menaces, a déclaré : "L'introduction de l'implant Marstech1, avec ses techniques d'obscurcissement en couches - de l'aplatissement du flux de contrôle et du renommage dynamique des variables en JavaScript au décryptage XOR en plusieurs étapes en Python - souligne l'approche sophistiquée de l'acteur de la menace pour éviter à la fois l'analyse statique et l'analyse dynamique."
Sherstobitoff a souligné l'importance de rester à l'affût de ces menaces, en exhortant les organisations et les développeurs à prendre des mesures de sécurité proactives. Il a ajouté que les organisations devaient "surveiller en permanence les activités de la chaîne d'approvisionnement et intégrer des solutions avancées de renseignement sur les menaces afin d'atténuer les risques."
En septembre 2024, le FBI a publié un avis avertissant que la Corée du Nord avait agressivement ciblé les entreprises et les sociétés de cryptomonnaies, dans le but de financer potentiellement ses ambitions nationales, y compris le développement de missiles et d'armes nucléaires. En outre, un rapport a révélé que de faux tests de codage de recruteurs ciblaient les développeurs avec des paquets Python malveillants. Les chercheurs de ReversingLabs ont découvert que la campagne VMConnect du Groupe Lazarus se poursuivait avec des acteurs malveillants se faisant passer pour des recruteurs, utilisant des paquets et des noms d'entreprises financières pour attirer les développeurs.
Voici un extrait du rapport des chercheurs STRIKE de SecurityScorecard :
Operation Marstech Mayhem : Le piège open-source du groupe Lazarus
Le groupe Lazarus de Corée du Nord modifie à nouveau ses tactiques. La dernière campagne, baptisée Operation Marstech Mayhem, présente un implant avancé baptisé "Marstech1". Ce logiciel malveillant est conçu pour compromettre les développeurs de logiciels et les portefeuilles de crypto-monnaies par le biais de dépôts open-source manipulés. Contrairement aux opérations Lazarus précédentes, cette campagne utilise des techniques d'obscurcissement qui rendent la détection nettement plus difficile.
Les développeurs sont la cible principale
L'équipe STRIKE a découvert des dépôts GitHub associés à cette attaque. Les attaquants créent de faux dépôts contenant des projets d'apparence légitime et intégrant des charges utiles JavaScript obscurcies. Ces dépôts sont promus sur des plateformes fréquentées par les développeurs, telles que LinkedIn et Discord. Lorsqu'une victime clone et exécute le dépôt, le logiciel malveillant s'exécute silencieusement en arrière-plan.
Fonctionnement du logiciel malveillant
L'implant Marstech1 fonctionne en plusieurs étapes :
- Étape 1 : un chargeur JavaScript se connecte à un serveur de commande et de contrôle (C2).
- Étape 2 : Le chargeur télécharge des charges utiles supplémentaires en fonction de la configuration du système de la victime.
- Étape 3 : le logiciel malveillant exfiltre les données du portefeuille de cryptomonnaies et les informations d'authentification.
Ce logiciel malveillant est conçu pour persister dans l'environnement d'un développeur, ce qui permet un accès continu et une exploitation plus poussée.
Techniques d'obscurcissement
L'équipe STRIKE a observé plusieurs techniques utilisées pour échapper à la détection :
- Codage en Base85 et décryptage XOR : Les charges utiles sont codées en Base85 et déchiffrées à l'aide d'une clé répétitive de 8 octets.
- Aplatissement du flux de contrôle : Le logiciel malveillant réorganise les chemins d'exécution pour rendre difficile l'ingénierie inverse.
- Fonctions auto-invoquées : L'implant s'exécute sans s'appuyer sur les appels de fonction traditionnels, ce qui empêche une analyse statique facile.
- Fonctionnalités anti-débogage : Le logiciel malveillant détecte et évite les environnements de bac à sable.
L'infrastructure en expansion du Groupe Lazarus
L'équipe STRIKE a établi un lien entre cette campagne et des opérations Lazarus déjà identifiées. Les serveurs C2 impliqués dans Marstech Mayhem fonctionnent sur le port 3000 et n'ont pas le panneau d'administration web basé sur React vu dans Operation Phantom Circuit. Au lieu de cela, ils utilisent des backends Node.js Express, ce qui marque un changement dans les tactiques d'infrastructure de Lazarus.
Le cauchemar de la chaîne d'approvisionnement
Lazarus intègre désormais ses logiciels malveillants dans les paquets NPM, ce qui les rend presque impossibles à détecter pour les développeurs sans un contrôle approfondi. Les organisations qui utilisent des dépendances open-source pourraient, sans le savoir, introduire du code malveillant dans leurs applications. Cela étend la surface d...
La fin de cet article est réservée aux abonnés. Soutenez le Club Developpez.com en prenant un abonnement pour que nous puissions continuer à vous proposer des publications.