Er is vastgesteld dat een reeks van negen kwaadaardige NuGet-pakketten in staat zijn om tijdvertraagde payloads te laten vallen om databasebewerkingen te saboteren en industriële controlesystemen te corrumperen.
Volgens softwareleverancier Socket zijn de pakketten in 2023 en 2024 gepubliceerd door een gebruiker genaamd “shanhai666” en zijn ze ontworpen om kwaadaardige code uit te voeren na specifieke triggerdata in augustus 2027 en november 2028. De pakketten zijn gezamenlijk 9.488 keer gedownload.
“Het gevaarlijkste pakket, Sharp7Extend, richt zich op industriële PLC’s met dubbele sabotagemechanismen: onmiddellijke willekeurige procesbeëindiging en stille schrijffouten die 30 tot 90 minuten na installatie beginnen, wat gevolgen heeft voor veiligheidskritische systemen in productieomgevingen”, aldus beveiligingsonderzoeker Kush Pandya.
De lijst met kwaadaardige pakketten vindt u hieronder:
- MyDbRepository (Laatst bijgewerkt op 13 mei 2023)
- MCDbRepository (Laatst bijgewerkt op 5 juni 2024)
- Sharp7Extend (Laatst bijgewerkt op 14 augustus 2024)
- SqlDbRepository (laatst bijgewerkt op 24 oktober 2024)
- SqlRepository (laatst bijgewerkt op 25 oktober 2024)
- SqlUnicornCoreTest (laatst bijgewerkt op 26 oktober 2024)
- SqlUnicornCore (laatst bijgewerkt op 26 oktober 2024)
- SqlUnicorn.Core (laatst bijgewerkt op 27 oktober 2024)
- SqlLiteRepository (laatst bijgewerkt op 28 oktober 2024)
Socket zei dat alle negen frauduleuze pakketten werken zoals geadverteerd, waardoor de bedreigingsactoren vertrouwen kunnen opbouwen onder de downstream-ontwikkelaars, die ze uiteindelijk kunnen downloaden zonder te beseffen dat ze een logische bom bevatten die in de toekomst zal ontploffen.
Er is vastgesteld dat de bedreigingsacteur in totaal twaalf pakketten heeft gepubliceerd, waarbij de overige drie werken zoals bedoeld, zonder enige kwaadaardige functionaliteit. Ze zijn allemaal verwijderd uit NuGet. Sharp7Extend, zo voegde het bedrijf toe, is ontworpen om zich te richten op gebruikers van de legitieme Sharp7-bibliotheek, een .NET-implementatie voor communicatie met Siemens S7 programmeerbare logische controllers (PLC’s).
Hoewel het bundelen van Sharp7 in het NuGet-pakket het een vals gevoel van veiligheid geeft, logenstraft het het feit dat de bibliotheek heimelijk kwaadaardige code injecteert wanneer een applicatie een databasequery of PLC-bewerking uitvoert door gebruik te maken van C#-extensiemethoden.

“Uitbreidingsmethoden stellen ontwikkelaars in staat nieuwe methoden aan bestaande typen toe te voegen zonder de originele code te wijzigen – een krachtige C#-functie die de bedreigingsacteur als wapen gebruikt voor onderschepping”, legt Pandya uit. “Elke keer dat een applicatie een databasequery of PLC-bewerking uitvoert, worden deze uitbreidingsmethoden automatisch uitgevoerd, waarbij de huidige datum wordt vergeleken met triggerdatums (hard gecodeerd in de meeste pakketten, gecodeerde configuratie in Sharp7Extend).”
Zodra een triggerdatum is verstreken, beëindigt de malware het hele aanvraagproces met een waarschijnlijkheid van 20%. In het geval van Sharp7Extend wordt de kwaadaardige logica onmiddellijk na de installatie geactiveerd en gaat door tot 6 juni 2028, wanneer het beëindigingsmechanisme vanzelf stopt.
Het pakket bevat ook een functie om schrijfbewerkingen naar de PLC 80% van de tijd te saboteren na een willekeurige vertraging van ergens tussen 30 en 90 minuten. Dit betekent ook dat beide triggers – de willekeurige procesbeëindigingen en schrijffouten – samen operationeel zijn zodra de respijtperiode is verstreken.
Bepaalde SQL Server-, PostgreSQL- en SQLite-implementaties die aan andere pakketten zijn gekoppeld, worden daarentegen geactiveerd op 8 augustus 2027 (MCDbRepository) en 29 november 2028 (SqlUnicornCoreTest en SqlUnicornCore).
“Deze gespreide aanpak geeft de dreigingsactor een langere periode om slachtoffers te verzamelen voordat de vertraagde activatie van malware wordt geactiveerd, terwijl de industriële controlesystemen onmiddellijk worden verstoord”, aldus Pandya.
Het is momenteel niet bekend wie er achter de supply chain-aanval zit, maar Socket zei dat analyse van de broncode en de keuze van de naam “shanhai666” erop duiden dat dit het werk kan zijn van een bedreigingsacteur, mogelijk van Chinese afkomst.
“Deze campagne demonstreert geavanceerde technieken die zelden worden gecombineerd bij NuGet-aanvallen op de toeleveringsketen”, concludeerde het bedrijf. “Ontwikkelaars die in 2024 pakketten hebben geïnstalleerd, zullen tegen 2027-2028 naar andere projecten of bedrijven zijn verhuisd wanneer de database-malware wordt geactiveerd, en de 20% probabilistische uitvoering systematische aanvallen vermomt als willekeurige crashes of hardwarefouten.”
“Dit maakt respons op incidenten en forensisch onderzoek bijna onmogelijk. Organisaties kunnen de malware niet herleiden tot het introductiepunt, identificeren wie de gecompromitteerde afhankelijkheid heeft geïnstalleerd, of een duidelijke tijdlijn van compromissen opstellen, waardoor het papieren spoor van de aanval effectief wordt gewist.”