Les développeurs de Next.js sont une fois de plus dans la ligne de mire alors que les pirates informatiques créent des référentiels malveillants déguisés en projets légitimes, selon Microsoft, qui a déclaré qu’un ensemble limité de ces dépôts était directement lié aux compromissions observées.

Microsoft a déclaré que les référentiels utilisent différentes méthodes pour s’exécuter sur les machines des développeurs, mais qu’ils conduisent tous au même résultat : l’exécution en mémoire de JavaScript malveillant.

Tous les chemins d’exécution identifiés par son équipe de recherche sont conçus pour se déclencher pendant la routine de travail normale des développeurs Next.js. L’un d’entre eux, par exemple, abuse de l’automatisation de l’espace de travail de Visual Studio Code pour charger des fichiers dès que le développeur ouvre et fait confiance au projet.

Dans ces cas, les variantes ont tendance à récupérer un chargeur JavaScript de Vercel et à l’exécuter à l’aide de Node.js, puis à commencer à se diriger vers l’infrastructure de commande et de contrôle (C2) contrôlée par l’attaquant pour des tâches ultérieures.

D’autres chemins impliquent les développeurs ciblés exécutant le serveur de développement du projet soit directement, soit via npm run dev, où une logique malveillante intégrée dans des actifs trojanisés ou des bibliothèques modifiées (telles que des fichiers frontaux modifiés) récupère et exécute le chargeur. D’autres s’appuient sur les victimes qui démarrent le backend de l’application, déclenchant une logique préchargée cachée dans les modules backend lors de l’initialisation du serveur ou de l’importation de modules.

Quel que soit le chemin emprunté, le résultat final est toujours d’enregistrer le périphérique concerné, d’exécuter le chargeur JavaScript et d’établir une connexion avec l’infrastructure C2 de l’attaquant.

À l’aide d’une adresse IP C2 distincte et d’un ensemble d’API transmis lors de l’étape initiale, le contrôleur récupère un tableau messages() de tâches JavaScript et les exécute en mémoire à l’aide d’un interpréteur Node distinct pour réduire les artefacts sur le disque.

Ce processus permet également l’exfiltration des données. Sur les machines des développeurs, cela peut inclure n’importe quoi, des données personnelles au code source, en passant par les secrets ou les ressources cloud.

Microsoft a déclaré que le contrôleur est capable de faire alterner ses identifiants pour empêcher les solutions anti-malware et les défenseurs humains d’identifier des modèles d’activités suspectes, en plus de recevoir les instructions de l’attaquant.

Le contrôleur obéira également aux commandes kill-switch ou d’arrêt, suivra les processus qu’il génère pour empêcher la victime de soupçonner que quelque chose ne va pas en fonction de problèmes de performances et signalera la télémétrie des erreurs, permettant aux attaquants de modifier les commandes qui échouent.

Les projets sont diffusés par des mécréants sous prétexte qu’ils sont utilisés dans le cadre du processus de recrutement, obligeant les développeurs à accomplir des tâches liées aux candidatures à un emploi.

Et bien qu’il soit difficile d’imaginer que des développeurs ciblés accomplissent ces tâches d’évaluation des entretiens sur une machine d’entreprise, Microsoft a averti que cela pourrait ouvrir une organisation à un compromis plus large.

Il ajoute : « Le point clé à retenir est que les défenseurs doivent traiter les flux de travail des développeurs comme une surface d’attaque principale et donner la priorité à la visibilité sur l’exécution inhabituelle des nœuds, les connexions sortantes inattendues et les comportements de découverte ou de téléchargement ultérieurs provenant des machines de développement. » ®

A lire également