Une nouvelle campagne de typosquatting NuGet pousse les packages malveillants qui abusent de l’intégration MSBuild de Visual Studio pour exécuter du code et installer des logiciels malveillants de manière furtive.
NuGet est un gestionnaire de packages et un système de distribution de logiciels open source, permettant aux développeurs de télécharger et d’inclure des bibliothèques .NET prêtes à l’emploi pour leurs projets.
Les acteurs malveillants qui ciblent les systèmes de distribution de logiciels comme npm et PyPI ont récemment manifesté leur intérêt pour NuGet, qui cible principalement les utilisateurs de Windows et est devenu très populaire parmi les développeurs de logiciels.
Cacher le code avec MSBuild
La dernière campagne NuGet était repéré par ReversingLabs le 15 octobre 2023, en utilisant différents packages de typosquatting pour installer des logiciels malveillants.
Certains des packages vus dans cette campagne incluent :
- CData.NetSuite.Net.Framework
- CData.Salesforce.Net.Framework
- Chronos.Plateformes
- DiscordsRpc
- Kraken.Exchange
- KucoinExchange.Net
- MinecraftPocket.Serveur
- Monéro
- Pathoschild.Stardew.Mod.Build.Config
- Portefeuille Solana
- ZendeskApi.Client.V2
L’élément nouveau de cette campagne est qu’au lieu d’utiliser l’approche standard consistant à incorporer des téléchargeurs dans les scripts d’installation, ces packages exploitent l’intégration MSBuild de NuGet pour l’exécution du code.
Les intégrations MSBuild de NuGet sont une fonctionnalité introduite dans NuGet v2.5 dans le but de prendre en charge les projets natifs, d’automatiser le processus de génération et de test et de donner aux développeurs la possibilité de définir des actions personnalisées et de résoudre les dépendances.
Lorsque NuGet installe un package contenant un dossier « \build », il ajoute automatiquement un élément MSBuild
Bien qu’ajoutée pour améliorer le processus de création et de packaging des projets logiciels, cette nouvelle intégration NuGet a a soulevé des inquiétudes sur les implications de sécurité qu’il introduit, car il ajoute une nouvelle méthode pour exécuter automatiquement des scripts lorsqu’un package est installé.
Dans le cas repéré par ReversingLabs, le code malveillant est caché dans le fichier qui implémente la fonctionnalité des scripts PowerShell utilisés dans les versions précédentes des packages.
Lors de l’exécution, le code récupère un exécutable à partir d’une adresse externe et l’exécute dans un nouveau processus.
Cette technique a été introduite pour la première fois par un chercheur en sécurité en 2019 pour illustrer comment le processus MSBuild peut être abusé pour exécuter du code lorsque les packages NuGet sont installés.
« Tout d’abord, l’artefact de chaîne dans la première ligne du fichier, ‘IAmRootDemo’, nous a conduit à la racine de cette technique d’exécution », explique Karlo Zanki de ReversingLab dans un rapport partagé avec BleepingComputer.
« Il y a plusieurs années, en 2019, le IAmRacine le paquet a été publié par C. Augusto Proiéte. Le but du package : « Démontrer que n’importe quel package NuGet peut exécuter du code arbitraire sur votre ordinateur. »
Cependant, il s’agit du premier cas documenté d’acteurs malveillants exploitant cette fonctionnalité dans des packages NuGet malveillants.
Evolution des campagnes existantes
ReversingLabs rapporte que les packages NuGet qu’ils ont repérés et qui ont été supprimés faisaient partie d’une campagne en cours qui a débuté en août 2023.
Cependant, il n’a abusé des intégrations MSBuild qu’à la mi-octobre.
Les versions antérieures utilisaient des scripts PowerShell (« init.ps1 ») pour récupérer la charge utile du malware à partir d’un référentiel GitHub.
Cela indique que les attaquants perfectionnent continuellement leurs techniques pour rendre leurs attaques plus furtives.
Les analystes rapportent également avoir observé des liens étroits avec une campagne rapportée par Phylum au début du mois, dans laquelle les attaquants ont utilisé le typosquatting pour imiter des projets de cryptographie et fournir SeroXen RAT.
ReversingLabs rapporte que les auteurs de la menace ont immédiatement tenté de télécharger de nouveaux packages après la suppression des précédents, démontrant ainsi leur intention de poursuivre la campagne.