Plusieurs packages malveillants sur NuGet ont des charges utiles de sabotage qui devraient s’activer en 2027 et 2028, ciblant les implémentations de bases de données et les dispositifs de contrôle industriel Siemens S7.

Le code malveillant intégré utilise un déclencheur probabiliste, il peut donc s’activer ou non en fonction d’un ensemble de paramètres sur l’appareil infecté.

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.

Des chercheurs de la société de sécurité de code Socket ont trouvé neuf packages malveillants sur NuGet, tous publiés sous le nom de développeur shanhai666, qui présentaient des fonctionnalités légitimes avec le code nuisible.

Les packages  » ciblent stratégiquement les trois principaux fournisseurs de bases de données utilisés dans les applications.NET (SQL Server, PostgreSQL, SQLite). »Cependant, le plus dangereux d’entre eux est Sharp7Extend, qui cible les utilisateurs de la bibliothèque légitime Sharp7 pour communiquer via Ethernet avec des automates programmables Siemens.

« En ajoutant » Étendre « au nom Sharp7 de confiance, l’acteur de la menace exploite les développeurs à la recherche d’extensions ou d’améliorations Sharp7 », ont déclaré les chercheurs de Socket.

Sous le nom de développeur shanhai666, NuGet a répertorié 12 packages, mais seulement neuf d’entre eux comprenaient du code malveillant:

  1. SqlUnicorn.Core
  2. SqlDbRepository
  3. SqlLiteRepository
  4. SqlUnicornCoreTest
  5. SqlUnicornCore
  6. SqlRepository
  7. MyDbRepository
  8. MCDbRepository
  9. Sharp7Extend

Au moment de la publication, aucun package n’est répertorié sous le nom de ce développeur. Mais il convient de noter que la radiation a eu lieu après que le nombre de téléchargements a presque atteint 9 500.
Se faufiler une « bombe » pour 2028

Selon les chercheurs de Socket, les packages contiennent principalement (99%) du code légitime, créant un faux sentiment de sécurité et de confiance, mais incluent une petite charge utile malveillante de 20 lignes.

« Le malware exploite les méthodes d’extension C# pour injecter de manière transparente une logique malveillante dans chaque opération de base de données et d’automate », explique Socket dans un rapport publié cette semaine.

Les méthodes d’extension s’exécutent chaque fois qu’une application effectue une requête de base de données ou une opération PLC. Il y a également une vérification de la date actuelle sur le système compromis par rapport à une date de déclenchement codée en dur, qui va du 8 août 2027 au 29 novembre 2028.

Date de déclenchement pour novembre 2028

Si la condition de date est une correspondance, le code crée une classe « Aléatoire » pour générer un nombre compris entre 1 et 100, et s’il est supérieur à 80 (20% de chances), appelle le processus.Obtenir le processus actuel ().Kill () ‘ pour l’arrêt immédiat du processus hôte.

Pour les clients API typiques qui appellent fréquemment des méthodes transactionnelles ou de connexion, cela entraînerait un arrêt immédiat des opérations.

Le package Sharp7Extend, qui usurpe l’identité de la bibliothèque légitime Sharp7, une couche de communication.NET populaire pour les automates Siemens S7, suit l’approche inverse, mettant immédiatement fin aux communications des automates dans 20% des cas. Ce mécanisme doit expirer le 6 juin 2028.

Une deuxième méthode de sabotage dans le package Sharp7Extend consiste à essayer de lire du code à partir d’une valeur de configuration inexistante. Par conséquent, l’initialisation échoue toujours.

Un deuxième mécanisme crée une valeur de filtre pour les opérations internes de l’automate et définit un délai d’exécution de la charge utile entre 30 et 90 minutes.

Une fois ce temps écoulé, les écritures PLC qui traversent le filtre ont 80% de chances d’être corrompues, ce qui fait que les actionneurs ne reçoivent pas de commandes, que les points de consigne ne sont pas mis à jour, que les systèmes de sécurité ne s’engagent pas et que les paramètres de production ne sont pas modifiés.

Écriture corrompue de PLC

« La combinaison de l’arrêt aléatoire immédiat du processus (via BeginTran ()) et de la corruption d’écriture différée (via ResFliter) crée une attaque multicouche sophistiquée qui évolue avec le temps », expliquent les chercheurs de Socket.

Bien que les objectifs exacts et les origines de ces extensions restent flous, il est recommandé aux organisations potentiellement touchées d’auditer immédiatement leurs actifs pour les neuf packages et d’assumer des compromis s’il y en a.

Pour les environnements industriels exécutant Sharp7Extend, auditez les opérations d’écriture de l’API pour l’intégrité, vérifiez les journaux du système de sécurité pour les commandes manquées ou les activations échouées, et implémentez la vérification d’écriture pour les opérations critiques.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *