Typosquatting schleust Wallet-Stealer in NuGet-Projekte NuGet-Trojaner stiehlt Krypto-Wallets über .NET-Projekte

Von Thomas Joos 2 min Lesedauer

Anbieter zum Thema

Aktuell läuft ein gezielter Supply-Chain-Angriff auf das .NET-Ökosystem über ein gefälschtes NuGet-Paket namens Tracer.Fody.NLog. Der Trojaner gibt sich als beliebtes .NET-Tracing-Modul aus, lauert seit 2020 im Repository und stiehlt Zugangsdaten zu Krypto-Wallets. Die Malware klinkt sich in eine Standardfunktion ein, sammelt Dateien samt Passwörtern und schickt alles an einen externen Server.

Supply-Chain-Angriff auf das .NET-Ökosystem: Ein gefälschtes NuGet-Paket gibt sich als beliebtes .NET-Tracing-Modul aus und stiehlt seit 2020 Zugangsdaten zu Krypto-Wallets. (Bild:  Dall-E / KI-generiert)
Supply-Chain-Angriff auf das .NET-Ökosystem: Ein gefälschtes NuGet-Paket gibt sich als beliebtes .NET-Tracing-Modul aus und stiehlt seit 2020 Zugangsdaten zu Krypto-Wallets.
(Bild: Dall-E / KI-generiert)

Eine Analyse des Socket Threat Research Teams zeigt einen gezielten Angriff auf die .NET-Supply-Chain über ein manipuliertes NuGet-Paket. Das Paket tarnt sich als legitime Er­wei­te­rung einer verbreiteten Tracing-Bibliothek und schleust verdeckt Code ein, der Krypto-Wallet-Daten ausliest und an externe Infrastruktur überträgt. Der Vorfall verdeutlicht strukturelle Risiken durch Typosquatting und Unicode-Manipulation in Entwickler­öko­sys­temen.

NuGet-Paket Tracer.Fody.NLog im Zentrum der Attacke

Im Zentrum steht das NuGet-Paket Tracer.Fody.NLog, das die bekannte Bibliothek Tracer.Fody imitiert. Name, Beschreibung und Maintainer-Alias lehnen sich eng an das Original an. Der veröffentlichende Account csnemess unterscheidet sich nur um ein einzelnes Zeichen vom legitimen Maintainer csnemes. Diese minimale Abweichung reduziert die Wahrscheinlichkeit einer Entdeckung bei manueller Prüfung von Abhängigkeiten in Projekten oder CI-Pipelines.

Innerhalb des Pakets befindet sich eine manipulierte Tracer.Fody.dll. Der enthaltene Code durchsucht das Standardverzeichnis von Stratis-Wallets unter %APPDATA%\StratisNode­\stratis\StratisMain nach *.wallet.json-Dateien. Die Bibliothek liest die Wallet-Dateien, extrahiert relevante JSON-Fragmente und kombiniert sie mit dem zugehörigen Wallet-Passwort. Die Übertragung erfolgt per HTTP-Request an einen externen Server unter der IP-Adresse 176[.]113[.]82[.]163 auf Port 4444. Der gesamte Ablauf arbeitet ohne Be­nut­zer­in­ter­ak­ti­on, ohne Logausgaben und mit vollständiger Unterdrückung aller Exceptions.

Eine technische Besonderheit liegt in der Platzierung des schädlichen Codes. Das Paket hängt sich in die generische Hilfsmethode Guard.NotNull<T> ein, die in vielen .NET-Projekten für Parameterprüfungen genutzt wird. Sobald ein Objekt mit einer Eigenschaft WalletPassword diese Methode passiert, startet im Hintergrund eine asynchrone Routine zur Datenübertragung. Durch diese Integration verteilt sich die Ausführung über zahlreiche Codepfade, ohne auffälliges Laufzeitverhalten zu zeigen.

Angriffe soll verschleiert werden

Zur weiteren Verschleierung nutzt der Angreifer Homoglyphen. In Typnamen, Attributen und Assembly-Metadaten kommen kyrillische Unicode-Zeichen zum Einsatz, die optisch identisch zu lateinischen Buchstaben wirken. Bezeichner wie Tracer.Fody oder Guard erscheinen korrekt, basieren intern jedoch auf abweichenden Codepoints. String-basierte Prüfungen und einfache Signaturvergleiche verlieren dadurch an Wirkung, was die Analyse zusätzlich erschwert.

Das Paket befindet sich seit 2020 im NuGet-Repository und verzeichnet rund 2.000 Downloads. Diese lange Verweildauer erhöht das Risiko, dass sich die Bibliothek in internen Tools, Entwicklerarbeitsplätzen oder automatisierten Build-Umgebungen befindet. Zum Zeitpunkt der Analyse bleibt das Paket im Repository verfügbar, der Vorfall wurde jedoch an das NuGet-Sicherheitsteam gemeldet.

(ID:50665232)

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zur IT-Sicherheit

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung. Die Einwilligungserklärung bezieht sich u. a. auf die Zusendung von redaktionellen Newslettern per E-Mail und auf den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern (z. B. LinkedIn, Google, Meta).

Aufklappen für Details zu Ihrer Einwilligung