Selon Socket (Threat Research Team), neuf paquets NuGet publiés entre 2023 et 2024 sous l’alias « shanhai666 » contiennent du code malveillant à activation temporisée visant des applications .NET et des systèmes industriels; 9 488 téléchargements sont recensés et, bien que signalés à NuGet le 5 novembre 2025, les paquets étaient encore accessibles au moment de la publication.

• Nature de l’attaque: campagne de supply chain utilisant des méthodes d’extension C# pour intercepter de façon transparente les opérations BD/PLC. Les packages sont 99% fonctionnels pour inspirer confiance et masquer ~20 lignes de charge malveillante. Les déclencheurs rendent l’attaque probabiliste (20% par opération) et temporellement différée (2027–2028 pour BD), compliquant la détection et l’attribution.

• Mécanismes principaux: des méthodes d’extension (.Exec sur commandes SQL, .BeginTran sur S7Client) comparent la date courante à des dates de déclenchement puis invoquent Process.GetCurrentProcess().Kill() si tirage aléatoire > 80. Un build SQL Server déclenche après le 8 août 2027; les variantes PostgreSQL/SQLite/SQL Server déclenchent après le 29 novembre 2028 (timestamp 1859127528479). ⚠️ Sharp7Extend inverse la logique: activation immédiate à l’installation jusqu’au 6 juin 2028, avec 20% de terminaisons par opération PLC.

• Focus ICS: Sharp7Extend embarque la bibliothèque Sharp7 légitime (v1.1.79) et implémente un double sabotage: (1) terminaison de processus aléatoire avant le 6/6/2028; (2) échec silencieux des écritures après un délai aléatoire de 30–90 minutes (lecture d’un paramètre AppSettings["st"] chiffré double DES échouant systématiquement, clé uiertysd, IV 99008855), entraînant 80% d’échecs retournant 0 sur des opérations comme WriteDBSingleByte/Int/DInt. Impacts probables: actuateurs non actionnés, setpoints non mis à jour, systèmes de sécurité non engagés.

• Masquage et fraude: typosquatting (ex. « Sharp7Extend ») et code légitime embarqué pour réduire la suspicion. Métadonnées incohérentes (auteurs divergents malgré l’alias unique), signature .p7s malformée (erreurs OpenSSL) et indices d’origine chinoise (alias, commentaires et champs en chinois). Socket note des échecs quasi immédiats dans des environnements à haut débit d’opérations (ex. e‑commerce, finance, santé, manufacturing) du fait de la probabilité par opération.

• IOCs et TTPs: voir ci‑dessous. L’article est une analyse de menace visant à documenter la campagne, son fonctionnement, ses artefacts et ses indicateurs pour la détection et la remédiation.

IOC(s):

  • Paquets NuGet malveillants: SqlUnicorn.Core; SqlDbRepository; SqlLiteRepository; SqlUnicornCoreTest; SqlUnicornCore; SqlRepository; MyDbRepository; MCDbRepository; Sharp7Extend
  • Alias NuGet de l’acteur: shanhai666

TTP(s) MITRE ATT&CK:

  • T1195.002 — Supply Chain Compromise: Compromise Software Supply Chain
  • T1036.005 — Masquerading: Match Legitimate Name or Location
  • T1489 — Service Stop
  • T1565.001 — Data Manipulation: Stored Data Manipulation

🧠 TTPs et IOCs détectés

TTPs

[‘T1195.002 — Supply Chain Compromise: Compromise Software Supply Chain’, ‘T1036.005 — Masquerading: Match Legitimate Name or Location’, ‘T1489 — Service Stop’, ‘T1565.001 — Data Manipulation: Stored Data Manipulation’]

IOCs

[‘Paquets NuGet malveillants: SqlUnicorn.Core; SqlDbRepository; SqlLiteRepository; SqlUnicornCoreTest; SqlUnicornCore; SqlRepository; MyDbRepository; MCDbRepository; Sharp7Extend’, ‘Alias NuGet de l’acteur: shanhai666’]


🔗 Source originale : https://socket.dev/blog/9-malicious-nuget-packages-deliver-time-delayed-destructive-payloads?utm_medium=feed