Cybersecurity-onderzoekers hebben een nieuw kwaadaardig NuGet-pakket ontdekt dat typosquats maakt en de populaire .NET-tracingbibliotheek en de auteur ervan imiteert om een cryptocurrency-portemonnee-diefstal binnen te sluipen.
Het kwaadaardige pakket, genaamd “Tracer.Fody.NLog”, bleef bijna zes jaar in de repository staan. Het werd op 26 februari 2020 gepubliceerd door een gebruiker met de naam “csnemess”. Het doet zich voor als “Tracer.Fody”, dat wordt onderhouden door “csnemes”. Het pakket blijft op het moment van schrijven beschikbaar en is minstens 2.000 keer gedownload, waarvan 19 in de afgelopen zes weken voor versie 3.2.4.
“Het presenteert zichzelf als een standaard .NET-tracing-integratie, maar functioneert in werkelijkheid als een cryptocurrency-portemonnee-diefstal”, aldus Socket-beveiligingsonderzoeker Kirill Boychenko. “Binnen het kwaadaardige pakket scant de ingebedde Tracer.Fody.dll de standaard Stratis portemonnee-map, leest *.wallet.json-bestanden, extraheert portemonnee-gegevens en exfiltreert deze samen met het portemonnee-wachtwoord om de door actoren gecontroleerde infrastructuur in Rusland te bedreigen op 176.113.82(.)163.”
Het beveiligingsbedrijf voor de softwaretoeleveringsketen zei dat de dreiging gebruik maakte van een aantal tactieken die het mogelijk maakten om ongedwongen beoordeling te omzeilen, waaronder het nabootsen van de legitieme beheerder door een naam te gebruiken die slechts één letter verschilt (‘csnemes’ vs. ‘csnemess’), het gebruik van cyrillische, gelijksoortige tekens in de broncode en het verbergen van de kwaadaardige routine binnen een generieke helperfunctie (‘Guard.NotNull’) die wordt gebruikt tijdens de reguliere uitvoering van programma’s.

Zodra een project naar het kwaadaardige pakket verwijst, activeert het zijn gedrag door de standaard Stratis-portemonneemap op Windows te scannen (“%APPDATA%\StratisNode\stratis\StratisMain”), leest *.wallet.json-bestanden en in-memory wachtwoorden, en exfiltreert deze naar het door Rusland gehoste IP-adres.
“Alle uitzonderingen worden stilzwijgend opgevangen, dus zelfs als de exfiltratie mislukt, blijft de hostapplicatie draaien zonder enige zichtbare fout, terwijl succesvolle oproepen stilletjes portefeuillegegevens lekken naar de infrastructuur van de bedreigingsacteur”, aldus Boychenko.
Socket zei dat hetzelfde IP-adres eerder in december 2023 werd gebruikt in verband met een andere NuGet-imitatieaanval waarbij de bedreigingsacteur een pakket publiceerde met de naam “Cleary.AsyncExtensions” onder de alias “stevencleary” en functionaliteit inbouwde om portemonnee-zaadzinnen over te hevelen. Het pakket werd zo genoemd om zichzelf te vermommen als de AsyncEx NuGet-bibliotheek.
De bevindingen illustreren ooit hoe kwaadaardige typosquats die legitieme tools weerspiegelen heimelijk kunnen werken zonder enige aandacht te trekken in de open-sourcerepository-ecosystemen.
“Verdedigers mogen soortgelijke activiteiten en vervolgimplantaten verwachten die dit patroon uitbreiden”, aldus Socket. “Waarschijnlijke doelen zijn onder meer andere log- en traceringsintegraties, argumentvalidatiebibliotheken en hulpprogrammapakketten die gebruikelijk zijn in .NET-projecten.”