Vor einigen Tagen berichteten wir über GlassWorm, das Hunderte von GitHub-Repositories kompromittierte und ein beliebtes React-Telefonnummernpaket auf npm. Wir haben die vollständige Payload weiter untersucht und ein mehrstufiges Framework gefunden, das eine persistente RAT installiert und, tief in Stage 3, eine Chrome-Erweiterung zwangsinstalliert, die sich als Google Docs Offline ausgibt. Sie protokolliert Tastenanschläge, leert Cookies und Session-Tokens, erstellt Screenshots und empfängt Befehle von einem C2-Server, der in einem Solana-Blockchain-Memo versteckt ist.

Stage 1: Die initiale Infektion
Gekaperte Projekte
GlassWorm verschafft sich seinen initialen Zugang über bösartige Pakete, die über npm, PyPI, GitHub und den OpenVSX-Marktplatz veröffentlicht werden. Der Bedrohungsakteur verfolgt gleichzeitig zwei Strategien: (1) das Erstellen neuer bösartiger Pakete von Grund auf und (2) das Kompromittieren der Konten von Maintainern, um bösartige Versionen legitimer Projekte zu veröffentlichen.
Zwei Loader-Varianten
GlassWorm ist vielleicht am besten bekannt für seinen unsichtbaren Unicode-Loader den wir in früheren Beiträgen behandelt haben, aber es ist nicht der einzige verwendete Bereitstellungsmechanismus. Eine zweite, direktere Variante verwendet ein konventionell verschleiertes preinstall Skript, wie im jüngsten Kompromittierung von react-native-country-select auf npm. Beide erreichen letztendlich dasselbe Ergebnis und teilen sich denselben Blockchain-basierten C2-Beacon, aber sie gehen sehr unterschiedliche Wege, um dorthin zu gelangen.
Unabhängig davon, welcher Loader die Zielmaschine erreicht, ist die Ausführungslogik von Stage 1 dieselbe. Nach einer Startverzögerung von 10 Sekunden führt der Loader zwei Prüfungen durch, bevor er fortfährt.
Geofencing. Der Loader prüft fünf Locale-Signale (os.userInfo().username, process.env.LANG, process.env.LANGUAGE, process.env.LC_ALL, und die Intl resolved locale) gegen /ru_RU|ru-RU|Russian|russian/i, und prüft die System-Zeitzone und den UTC-Offset anhand einer festkodierten Liste russischer Zeitzonen, die von Europa/Moskau bis Asien/Anadyr reichen. Wird ein russisches Locale erkannt, wird die Ausführung gestoppt.
Ratenbegrenzung. Der Loader liest ~/init.json (oder %USERPROFILE%\init.json unter Windows) und prüft einen gespeicherten Zeitstempel. Wurde die Datei vor weniger als zwei Stunden geschrieben, wird die Ausführung gestoppt. Andernfalls wird der Zeitstempel aktualisiert.
Solana Blockchain C2
Schließlich fragt der Loader die Solana-Blockchain nach seiner C2-Adresse ab. Anstatt eine URL fest zu kodieren, die entfernt werden könnte, speichert der Bedrohungsakteur sie im memo Feld einer Solana-Transaktion. Der Loader ruft getSignaturesForAddress gegen eine festkodierte Wallet auf und durchläuft neun öffentliche RPC-Endpunkte, bis einer antwortet:
https://api.mainnet-beta.solana.comhttps://solana-mainnet.gateway.tatum.iohttps://go.getblock.us/86aac42ad4484f3c813079afc201451chttps://solana-rpc.publicnode.comhttps://api.blockeden.xyz/solana/KeCh6p22EX5AeRHxMSmchttps://solana.drpc.orghttps://solana.leorpc.com/?api_key=FREEhttps://solana.api.onfinality.io/publichttps://solana.api.pocket.network/
Zwei Wallet-Adressen wurden bei den beiden Loader-Varianten beobachtet:
BjVeAjPrSKFiingBn4vZvghsGj9KCE8AJVtbc9S8o8SC(Unicode Loader)6YGcuyFRJKZtcaYCCFba9fScNUvPkGXodXE1mJiSzqDJ(Obfuscated Preinstall Loader)
Der Loader fragt in einer 10-Sekunden-Schleife ab, bis er eine Transaktion mit einem nicht-null Memo-Feld findet. Solanas Memo-Funktion wurde entwickelt, um Transaktionen Anmerkungen hinzuzufügen, aber hier fungiert sie als verdeckter Dead-Drop. Die Memos sind permanent, öffentlich in der Blockchain sichtbar und auf einer Infrastruktur gespeichert, die von keiner einzelnen Partei entfernt werden kann. Der Operator kann die Stage 2 URL jederzeit aktualisieren, indem er eine neue Solana-Transaktion mit einem neuen Memo sendet. Es muss kein Paket modifiziert, keine Infrastruktur neu bereitgestellt werden, und es gibt nichts, was Verteidiger auf der Netzwerkebene blockieren könnten.
Das auf der Wallet beobachtete Memo 6YGcuyFRJKZtcaYCCFba9fScNUvPkGXodXE1mJiSzqDJ ist:
{"link":"aHR0cDovLzQ1LjMyLjE1MC4yNTEvM2U0VGc4ViUyRjhhQ21PSktpcEFTQURnJTNEJTNE"}Der Link Der Wert ist eine Base64-kodierte URL. Dekodiert:
http://45.32.150.251/3e4Tg8V%2F8aCmOJKipASADg%3D%3DDer Loader ruft diese URL mit einem os Header ab, der auf die aktuelle Plattform gesetzt ist (darwin, linux, oder win32), wodurch der C2 unter 45.32.150[.]251 plattformspezifische Payloads bereitstellen kann. Der Antwortkörper ist die verschlüsselte Stage-2-Payload, die anschließend entschlüsselt und ausgeführt wird. Zum Zeitpunkt der Erstellung war der C2 noch aktiv und lieferte eine Payload für win32.
Stage 2: Secret-Exfiltration
Die Stage-2-Payload ist ein vollständiges Datendiebstahl-Framework mit Credential Harvesting, Krypto-Wallet-Exfiltration, Host-Profiling und eigener Dropper-Logik für die finale und persistente Stage 3. Alles Gesammelte wird unter %TEMP%\hJxPxpHP\, gezippt und per POST-Anfrage an http://217.69.3[.]152/wall.
Krypto-Wallet-Diebstahl
Die Payload durchsucht rekursiv %APPDATA% und %LOCALAPPDATA% nach Browser-Erweiterungsprofilen und Daten von eigenständigen Wallet-Anwendungen. Sie zielt auf 71 Browser-Erweiterungs-Wallet-IDs ab und deckt praktisch jede wichtige verwendete Wallet ab: MetaMask, Phantom, Coinbase, Exodus, Binance, Ronin, Keplr usw. Sie sammelt auch .txt Dateien aus den Dokumenten- und Desktop-Ordnern des Opfers und kopiert Bilder, deren Dateinamen Schlüsselwörter im Zusammenhang mit Seed-Phrasen oder Krypto-Beständen enthalten.
Diebstahl von Entwickelnden-Zugangsdaten
Stufe 2 zielt auf die Credential Stores ab, die Softwareentwickelnde wahrscheinlich auf ihrer Maschine haben. Der Payload liest ~/.npmrc und process.env.NPM_TOKEN. Jedes gefundene Token wird in Echtzeit validiert gegen https://registry.npmjs.org/-/whoami vor der Exfiltration. Es extrahiert auch Tokens über den git credential Befehl und aus dem internen Speicher von VS Code.
Cloud Secrets Exfiltration
Stufe 2 kopiert auch Credential-Dateien für AWS, GCP, Azure, Docker, Kubernetes, SSH-Keys, Herokus .netrc, DigitalOceans doctl, und Terraform.
Host-Profiling
Schließlich generiert es eine system_info.txt mit einem detaillierten Hardware-Profil, Umgebungsvariablen, installierten Anwendungen, laufenden Prozessen, Festplattenlayout und Betriebssystemdetails.
Vorbereitung auf Stufe 3
Nach der Exfiltration wird Stufe 3 durch das Herunterladen von zwei Komponenten vorbereitet:
- 3a) Phishing-Binary für physische Krypto-Wallets (Ledger & Trezor).
- 3b) Ein persistenter Websocket-basierter RAT, gespeichert als
%APPDATA%\QtCvyfVWKH\index.js, der mit mehreren Binärdateien ausgeliefert wird:c_x64.node/f_ex86.node— Browser-Credential-Stealerdata— Chrome App-Bound Encryption Bypassindex_ia32.node/index_x64.node— HVNC-Modulew.node(Windows) /m(macOS) — Installiert eine bösartige Browser-Erweiterung
Die RAT-Payload ist nicht einfach mit einer URL fest codiert. Stattdessen ruft sie die öffentliche Google Kalender-Seite unter https://calendar.app.google/2NkrcKKj4T6Dn4uK6 ab und extrahiert den Titel der Einladung. Dieser Wert wird Base64-dekodiert und als URL-Slug an http://45.32.150[.]251angehängt. Die Verwendung von Google Kalender als Indirektionsschicht für die Payload-Zustellung ist ein Muster, das wir seit März 2025 verfolgen, und es taucht weiterhin konsistent in den Tools dieses Bedrohungsakteurs auf.

Stufe 3a: Hardware-Wallet-Phishing
Auf Systemen, auf denen %APPDATA%\Ledger Live existiert, ruft Stufe 3 eine .NET WPF-Binärdatei von http://45.32.150[.]251/led-win32ab, legt sie unter %TEMP%\SKuyzYcDD.exeab und fügt HKCU\Software\Microsoft\Windows\CurrentVersion\Run\UpdateLedger zur Persistenz hinzu. Der interne Name der Datei ist Assaac.exe, zugeschrieben einem Unternehmen namens „LLC LogicSub“ (SHA-256: 06fab21dc276e3ab9b5d0a1532398979fd377b080c86d74f2c53a04603a43b1d). Die Binärdatei ist kein RAT. Ihre einzige Funktion ist es, Krypto-Wallets durch die Imitation von Ledger Live und Trezor zu stehlen.

Beim Start fragt es ab https://ipapi.co/xml und gleicht das zurückgegebene Land mit neun Ausschlüssen aus der GUS-Region ab: Russland, Kasachstan, Kirgisistan, Aserbaidschan, Tadschikistan, Usbekistan, Belarus, Moldawien und Armenien. Befindet sich das Opfer in einem dieser Länder, wird die Ausführung gestoppt. Dies spiegelt die Geofencing-Logik aus Stufe 1 wider.
Die Binärdatei registriert ein WMI-Ereignisabonnement, um USB-Geräteverbindungen zu erkennen:
SELECT * FROM __InstanceCreationEvent WITHIN 2 WHERE TargetInstance ISA 'Win32_PnPEntity'Wird ein Ledger- oder Trezor-Gerät angeschlossen, öffnet sich das entsprechende Phishing-Fenster. Die Ledger-Benutzeroberfläche zeigt einen gefälschten Konfigurationsfehler an und präsentiert 24 nummerierte Eingabefelder für die Wiederherstellungsphrase. Die Trezor-Benutzeroberfläche zeigt eine gefälschte Meldung „Firmware validation failed, initiating emergency reboot“ mit dem gleichen 24-Wörter-Eingabelayout an. Beide Fenster enthalten einen „RESTORE WALLET“-Button.
Eine im Sekundentakt laufende Hintergrundschleife ruft Process.GetProcessesByName auf, um alle echten Ledger Live-Prozesse zu beenden und zeigt das Phishing-Fenster erneut an, falls das Opfer es schließt. Der Window_Closing Handler fängt Schließversuche ab, mit einem Dialog, der warnt, dass das Schließen zum Verlust von Krypto-Assets führen könnte.
Wird eine gültige Phrase übermittelt, werden die 24 Wörter über System.Net.Http.HttpClient zu 45.150.34[.]158.
Stufe 3b: Websocket-basierter RAT
Der RAT wird gespeichert als %APPDATA%\QtCvyfVWKH\index.js und verfügt über zwei Persistenzmechanismen, um Neustarts zu überleben. Eine geplante Aufgabe namens UpdateApp läuft beim Start mit den höchsten Berechtigungen, und ein HKCU\Software\Microsoft\Windows\CurrentVersion\Run Schlüssel führt einen PowerShell-Launcher unter %LOCALAPPDATA%\QtCvyfVWKH\AghzgY.ps1.
Unsterblichkeit ist integriert. Das Skript fängt ab SIGINT, SIGTERM, SIGQUIT, SIGHUP, SIGUSR2, uncaughtException, und unhandledRejection. Bei jedem dieser Signale plant es den erneuten Download und Neustart der Payload. Wenn der Prozess beendet wird, baut er sich später einfach selbst wieder auf.
DHT-basierte C2
Der RAT hardcodiert seine primäre C2-Adresse nicht. Er führt einen DHT-Lookup für den angehefteten Public Key durch 3c90fa0e84dd76c94b1468f38ed640945d72bc12, bootstrappt über dht.libtorrent.org, router.bittorrent.com, und router.utorrent.com.
Der Operator speichert die Live-Konfiguration im DHT-Wert unter diesem Schlüssel. Wenn dht.get direkt fehlschlägt, versucht das Skript es nach fünf Minuten erneut. Wenn es keinen Wert zurückgibt, greift das Skript auf den Solana Memo Dead-Drop zurück: Es fragt ab getSignaturesForAddress für Wallet BjVeAjPrSKFiingBn4vZvghsGj9KCE8AJVtbc9S8o8SC, dekodiert die IP aus dem Link-Feld des Memos und führt den Lookup erneut aus. Das Solana Memo kann jederzeit mit einer neuen IP aktualisiert werden, um die DHT-Erreichbarkeit neu zu seeden, ohne den Loader zu berühren.
Die wiederhergestellte Konfiguration der Angreifer-Infrastruktur:
217.69.0[.]159:10000- DHT-Bootstrap-Knoten45.32.150[.]251- WebSocket-basierte C2217.69.3[.]152:80- Exfiltrationsserver
Die C2-Befehle
Sobald die DHT-Konfiguration aufgelöst ist, öffnet das Skript eine Socket.IO-Verbindung zu 45.32.150[.]251:4787 und verarbeitet fünf Kategorien von C2-Befehlen:
- start_hvnc / stop_hvnc: Stellt das native HVNC-Modul für versteckten Remote-Desktop-Zugriff bereit.
- start_socks / stop_socks: Ruft ein WebRTC-Modul von
http://45.32.150[.]251/module/wrtc, installiert es unter%APPDATA%\_node_x64\webrtc\wrtc-win32-x64\index.js, und führt es als SOCKS-Proxy aus, wodurch die Opfermaschine zu einem Proxy-Knoten wird, der als Infrastruktur für den Bedrohungsakteur dient, um weitere Angriffe von der IP des Opfers auszuführen. - reget_log: Führt die vollständige Pipeline zur Entwendung und Exfiltration von Browser-Anmeldeinformationen aus.
- get_system_info: Sendet Betriebssystem, CPU, Arbeitsspeicher, Hostname, Uptime, Benutzernamen und Home-Verzeichnis.
- command: Führt beliebiges, vom Angreifer bereitgestelltes JavaScript via eval() aus, was dem Operator vollständige Remote Code Execution ermöglicht.
Diebstahl von Browser-Anmeldeinformationen
Das Skript zielt auf Chrome, Edge, Brave, Opera, Opera GX, Vivaldi und Firefox ab. Es listet Profilverzeichnisse auf, überprüft Cookies, um aktive Profile zu identifizieren, und ruft dann c_x64.node auf, um Anmeldeinformationen direkt aus den SQLite-Datenbanken des Browsers (Login Data, Cookies, Web Data) zu extrahieren. Chrome v127+ verschlüsselt seinen Master-Schlüssel mittels App-Bound Encryption, was normalerweise verhindert, dass ein Prozess außerhalb von Chrome ihn liest. Die Daten-Binärdatei versucht, diese Sicherheitsfunktion zu umgehen. Die Ergebnisse werden als JSON-Dateien unter %TEMP%\EUXFUxzOVe\, die Cookies, gespeicherte Anmeldeinformationen, Autofill-Einträge, Browserverlauf, Lesezeichen und Zahlungskarten umfassen. Das Verzeichnis wird gezippt, verschlüsselt und per POST an 217.69.3[.]152:80/log.
Bösartige Chrome-Erweiterungs-RAT
Das Skript installiert außerdem zwangsweise eine Erweiterung, die sich als Google Docs Offline (Version 1.95.1). Es löst seinen C2 aus einem separaten Solana-Memo auf, indem es getSignaturesForAddress für Wallet DSRUBTziADDHSik7WQvSMjvwCHFsbsThrbbjWMoJPUiW. Das Memo aus dieser Wallet enthält die Felder c2server und checkIp, die auf den API-Server der Erweiterung und den Geo-IP-Helfer verweisen. Nach dem Parsen des Memos registriert sich die Erweiterung als Agent über POST /api/register, speichert die zurückgegebene agent_id in chrome.storage.local und beginnt mit dem Polling GET /api/commands?agent_id=<id> in einem zufälligen Intervall von 5-30 Sekunden.

Der Operator kann die folgenden Befehle ausführen:
- domsnapshot: exfiltriert den vollständigen
document.documentElement.outerHTMLdes aktiven Tabs - getcookies: sammelt Cookies, optional nach Domain gefiltert
- localstoragedump: exportiert alle
localStorageSchlüssel-Wert-Paare - take_screenshot: erfasst einen base64-kodierten Tab-Screenshot
- capture_clipboard: liest die Zwischenablage über
navigator.clipboard.readText() - history: extrahiert bis zu 5.000 Browser-Verlaufseinträge (Standardzeitraum: 7 Tage)
- bookmarks: exportiert den vollständigen Lesezeichenbaum
- enumeration: fingerprintet den Browser, Hardware, WebGL-/GPU-Details und prüft installierte Erweiterungen über
chrome-extension://<id>/manifest.json - startkeylogger / stopkeylogger / getkeyloggerdata: fängt keydown-, keyup-, keypress-, input-, change-, focus- und blur-Events auf allen Seiten ab; erfasst eingegebene Werte, Formular-Metadaten und den Kontext des Zielelements; leert in
POST /api/exfilalle fünf Sekunden
Alle gesammelten Daten werden gesendet an POST /api/exfil als { agent_id, action, payload }.
Die Erweiterung führt auch eine gezielte Session-Überwachung durch. Sie ruft überwachte Site-Regeln ab von /api/get-url-for-watch und wird mit Bybit (.bybit.com) als vorkonfiguriertem Ziel ausgeliefert, das nach den secure-token- und deviceid-Cookies sucht. Bei Erkennung sendet es einen auth-detected Webhook an /api/webhook/auth-detected der das Cookie-Material und die Seiten-Metadaten enthält. Der C2 kann auch Redirect-Regeln bereitstellen, die aktive Tabs auf Angreifer-kontrollierte URLs umleiten.
Erkennung und Schutz
Unsichtbare Bedrohungen erfordern aktive Abwehrmaßnahmen. Man kann sich nicht auf visuelle Code-Reviews oder Standard-Linting verlassen, um zu erkennen, was man nicht sieht. Bei Aikido haben wir die Erkennung von Glassworm und anderen Bedrohungsakteuren direkt in unsere Malware-Scanning-Pipeline integriert.
Wenn Sie bereits Aikido nutzen, würden diese Pakete in Ihrem Feed als kritischer Befund mit 100/100 markiert.

Noch nicht auf Aikido? Erstellen Sie ein kostenloses Konto und verknüpfen Sie Ihre Repositories. Der kostenlose Plan beinhaltet unsere Malware-Erkennungsabdeckung (keine Kreditkarte erforderlich).
Schließlich kann ein Tool, das Supply-Chain-Malware in Echtzeit beim Auftreten stoppen kann, eine ernsthafte Infektion verhindern. Das ist die Idee hinter Aikido Safe Chain, einem kostenlosen und Open-Source-Tool, das npm, npx, yarn, pnpm und pnpx umschließt und sowohl KI als auch menschliche Malware-Forscher einsetzt, um die neuesten Supply-Chain-Risiken zu erkennen und zu blockieren, bevor sie in Ihre Umgebung gelangen.
Indikatoren für Kompromittierung
Netzwerk — IP-Adressen
45.32.150[.]251— Stage 2 Payload-Bereitstellung, Stage 3 WebSocket RAT (:4787)217.69.3[.]152— Exfiltrationsserver: Stage 2 (/wall), Stage 3 (/log)217.69.0[.]159— DHT Bootstrap-Node (:10000)45.150.34[.]158— Ledger/Trezor Seed-Phrase-Exfiltration
Netzwerk — C2-URLs
http://45.32.150[.]251/3e4Tg8V%2F8aCmOJKipASADg%3D%3D— Stage 2 verschlüsselte Payloadhttp://45.32.150[.]251/led-win32— Ledger/Trezor Phishing-Binary-Downloadhttp://45.32.150[.]251/get_arhive_npm/nt70c2J3PG%2BfPBSFHJKoWQ%3D%3D— Natives Modul-Archivhttp://45.32.150[.]251/get_encrypt_file_exe/E/E%2BT9tEjmURMwNnCCY2CA%3D%3D— HVNC Operating Payloadhttp://45.32.150[.]251/module/wrtc— SOCKS Proxy WebRTC Modulhttp://45.32.150[.]251:4787— WebSocket RAT-Kanal (Socket.IO)http://217.69.3[.]152/wall— Stage 2 Exfiltrations-Endpunkthttp://217.69.3[.]152:80/log— Stufe 3 Endpunkt für die Exfiltration von Browser-Anmeldeinformationenhttps://calendar.app[.]google/2NkrcKKj4T6Dn4uK6— Stufe 3 URL-Umleitung über Google Kalender-Einladung
Solana Wallets
BjVeAjPrSKFiingBn4vZvghsGj9KCE8AJVtbc9S8o8SC— Stufe 1 Unicode-Loader C2 Dead-Drop; Stufe 3 DHT-Fallback6YGcuyFRJKZtcaYCCFba9fScNUvPkGXodXE1mJiSzqDJ— Stufe 1 obfuskierter Vorinstallations-Loader C2 Dead-DropDSRUBTziADDHSik7WQvSMjvwCHFsbsThrbbjWMoJPUiW— Browser-Erweiterungs C2 Dead-Drop
Dateihashes (SHA-256)
06fab21dc276e3ab9b5d0a1532398979fd377b080c86d74f2c53a04603a43b1d— Assaac.exe / SKuyzYcDD.exe (Ledger/Trezor Phishing-Binary)f171c383e21243ac85b5ee69821d16f10e8d718089a5c090c41efeaa42e81fca— c_x64.node (Browser-Anmeldeinformationsdieb, Windows x64)9df62cefd87784c7ee1ca8b4e6fc49737a90492fa6c23901e3b7981b18c6c988— f_ex86.node (Browser-Anmeldeinformationsdieb, Windows x86)43253a888417dfab034f781527e08fb58e929096cb4ef69456c3e13550cb4e9e— data (Chrome App-Bound Encryption Umgehung)4a60afa085fe5a847aef164578537bc33b9b58954143381e0c65c6354e4501e3— index_ia32.node (HVNC-Modul, Windows x86)de81eacd045a88598f16680ce01bf99837b1d8170c7fc38a18747ef10e930776— index_x64.node (HVNC-Modul, Windows x64)fdba5be3da2467e642bd8710f971e6b266b30ac15f5f413982fd719d7e0bffd9— w.node (Chrome-Erweiterungs-Zwangsinstallationsprogramm, Windows x64)ee3e4dd5c1e073b8805f4107ccc7bc7e6e3c209fe13ea04ff3f2173c8dbe74a6— m (Chrome-Erweiterungs-Zwangsinstallationsprogramm, macOS Universal Binary)
Dateinamen
~/init.json/%USERPROFILE%\init.json— Rate-Limiting-Zeitstempel; enthält UUID, Version, Datum%TEMP%\hJxPxpHP\— Stufe 2 Verzeichnis für die Bereitstellung von Anmeldeinformationen%TEMP%\EUXFUxzOVe\— Stage 3 Staging-Verzeichnis für Browser-Zugangsdaten%TEMP%\SKuyzYcDD.exe— Hinterlegte Ledger-/Trezor-Phishing-Binary%APPDATA%\QtCvyfVWKH\index.js— Stage 3 Haupt-RAT-Skript%LOCALAPPDATA%\QtCvyfVWKH\AghzgY.ps1— Stage 3 PowerShell-Persistenz-Launcher%APPDATA%\_node_x86\node\node.exe— Still heruntergeladene Node.js v22.9.0 x86 Runtime%APPDATA%\_node_x64\node\node.exe— Still heruntergeladene Node.js v22.9.0 x64 Runtime%APPDATA%\_node_x64\webrtc\wrtc-win32-x64\index.js— SOCKS-Proxy-Modul%LOCALAPPDATA%\Google\Chrome\jucku\— Schadhaftes Chrome-Erweiterungsverzeichnis (Windows)/Library/Application Support/Google/Chrome/myextension/— Schadhaftes Chrome-Erweiterungsverzeichnis (macOS)
Registry
HKCU\Software\Microsoft\Windows\CurrentVersion\Run\UpdateApp— Stage 3 RAT-PersistenzHKCU\Software\Microsoft\Windows\CurrentVersion\Run\UpdateLedger→%TEMP%\SKuyzYcDD.exe— Persistenz der Ledger-Phishing-Binary
Geplante Aufgaben
UpdateApp— Führt ausAghzgY.ps1(Stage 3) beim Systemstart mit höchsten Berechtigungen
WMI
SELECT * FROM __InstanceCreationEvent WITHIN 2 WHERE TargetInstance ISA 'Win32_PnPEntity'— Erkennungstrigger für USB-Hardware-Wallet (Ledger-Phishing-Binary)
Browser-Erweiterung
- Anzeigename: Google Docs Offline (Version 1.95.1)
- Verzeichnisname der Erweiterung (Windows): jucku
- Verzeichnisname der Erweiterung (macOS): myextension
Prozessnamen
Assaac— Interner Prozessname der Ledger/Trezor-Phishing-Binärdatei

