Cybersecurity-onderzoekers hebben een nieuwe evolutie van de GlassWorm-campagne gemarkeerd die een meerfasig raamwerk levert dat in staat is tot uitgebreide gegevensdiefstal en het installeren van een trojan voor externe toegang (RAT), die een informatiestelende Google Chrome-extensie inzet die zich voordoet als een offline versie van Google Docs.
“Het registreert toetsaanslagen, dumpt cookies en sessietokens, maakt schermafbeeldingen en neemt opdrachten over van een C2-server die verborgen is in een Solana blockchain-memo”, zei Aikido-beveiligingsonderzoeker Ilyas Makari in een vorige week gepubliceerd rapport.
GlassWorm is de naam die is toegewezen aan een aanhoudende campagne die aanvankelijk voet aan de grond krijgt via frauduleuze pakketten die zijn gepubliceerd op npm, PyPI, GitHub en de Open VSX-marktplaats. Bovendien is het bekend dat de operators de accounts van projectbeheerders compromitteren om vergiftigde updates te pushen.
De aanvallen zijn voorzichtig genoeg om te voorkomen dat systemen met een Russische landinstelling worden geïnfecteerd en gebruiken Solana-transacties als een dead drop-resolver om de command-and-control (C2)-server (“45.32.150(.)251”) op te halen en besturingssysteemspecifieke payloads te downloaden.
De fase twee-payload is een raamwerk voor gegevensdiefstal met het verzamelen van inloggegevens, exfiltratie van cryptocurrency-portemonnees en mogelijkheden voor systeemprofilering. De verzamelde gegevens worden gecomprimeerd in een ZIP-archief en geëxfiltreerd naar een externe server (“217.69.3(.)152/wall”). Het bevat ook functionaliteit voor het ophalen en lanceren van de laatste lading.
Zodra de gegevens zijn verzonden, omvat de aanvalsketen het ophalen van twee extra componenten: een .NET binair bestand dat is ontworpen om hardware wallet phishing uit te voeren en een op Websocket gebaseerde JavaScript RAT om webbrowsergegevens over te hevelen en willekeurige code uit te voeren. De RAT-payload wordt opgehaald uit “45.32.150(.)251” door een openbare Google Agenda-evenement-URL te gebruiken als dead drop-resolver.
Het binaire bestand .NET maakt gebruik van de Windows Management Instrumentation (WMI)-infrastructuur om USB-apparaatverbindingen te detecteren en geeft een phishing-venster weer wanneer een Ledger- of Trezor-hardwareportemonnee is aangesloten.
“De Ledger-gebruikersinterface geeft een nepconfiguratiefout weer en presenteert 24 genummerde invoervelden voor herstelzinnen”, merkte Makari op. “De Trezor-gebruikersinterface geeft een vals bericht weer: ‘Firmware-validatie mislukt, initiëren noodherstart’ met dezelfde invoerindeling van 24 woorden. Beide vensters bevatten een ‘RESTORE WALLET’-knop.”
De malware doodt niet alleen alle echte Ledger Live-processen die op de Windows-host draaien, maar geeft ook het phishing-venster opnieuw weer als het slachtoffer het sluit. Het uiteindelijke doel van de aanval is om de herstelzin van de portemonnee te onderscheppen en deze naar het IP-adres “45.150.34(.)158” te verzenden.
De RAT daarentegen gebruikt een Distributed Hash Table (DHT) om de C2-gegevens op te halen. Als het mechanisme geen waarde retourneert, schakelt de malware over naar de op Solana gebaseerde dead drop. De RAT brengt vervolgens communicatie tot stand met de server om verschillende opdrachten uit te voeren op het gecompromitteerde systeem –
- start_hvnc / stop_hvnc, om een Hidden Virtual Network Computing (HVNC)-module te implementeren voor externe bureaubladtoegang.
- start_socks / stop_socks, om een WebRTC-module te starten en deze uit te voeren als een SOCKS-proxy.
- reget_log, om gegevens te stelen van webbrowsers, zoals Google Chrome, Microsoft Edge, Brave, Opera, Opera GX, Vivaldi en Mozilla Firefox. Het onderdeel is uitgerust om de app-bound encryptie (ABE)-beveiligingen van Chrome te omzeilen.
- get_system_info, om systeeminformatie te verzenden.
- commando, om door de aanvaller geleverd JavaScript uit te voeren via eval().
De RAT installeert ook geforceerd een Google Chrome-extensie genaamd Google Docs Offline op Windows- en macOS-systemen, die vervolgens verbinding maakt met een C2-server en opdrachten ontvangt van de operator, waardoor cookies, localStorage, de volledige Document Object Model (DOM)-boom van het actieve tabblad, bladwijzers, schermafbeeldingen, toetsaanslagen, klembordinhoud, maximaal 5.000 browsergeschiedenisitems en de lijst met geïnstalleerde extensies kunnen worden verzameld.
“De extensie voert ook gerichte sessiebewaking uit. Het haalt de gecontroleerde siteregels uit /api/get-url-for-watch en wordt geleverd met Bybit (.bybit.com) vooraf geconfigureerd als doel, waarbij wordt gekeken naar de secure-token en deviceid-cookies”, aldus Aikido. “Bij detectie vuurt het een auth-gedetecteerde webhook af naar /api/webhook/auth-detected die het cookiemateriaal en de metagegevens van de pagina bevat. De C2 kan ook omleidingsregels leveren die actieve tabbladen naar door de aanvaller gecontroleerde URL’s dwingen.”
De ontdekking valt samen met een nieuwe verschuiving in de GlassWorm-tactiek, waarbij de aanvallers npm-pakketten publiceren die de WaterCrawl Model Context Protocol (MCP)-server nabootsen (“@iflow-mcp/watercrawl-watercrawl-mcp) om kwaadaardige payloads te verspreiden.
“Dit is GlassWorm’s eerste bevestigde stap in het MCP-ecosysteem”, zei Koi-beveiligingsonderzoeker Lotan Sery. “En gezien hoe snel de door AI ondersteunde ontwikkeling groeit – en hoeveel vertrouwen MCP-servers krijgen door het ontwerp – zal dit niet de laatste zijn.”
Ontwikkelaars wordt geadviseerd voorzichtig te zijn als het gaat om het installeren van Open VSX-extensies, npm-pakketten en MCP-servers. Het wordt ook aanbevolen om de namen van uitgevers en de pakketgeschiedenis te verifiëren en te voorkomen dat u blindelings op downloadaantallen vertrouwt. Het Poolse cyberbeveiligingsbedrijf AFINE heeft een open-source Python-tool gepubliceerd, Glassworm-hunter genaamd, om ontwikkelaarssystemen te scannen op payloads die verband houden met de campagne.
“Glaswormjager doet tijdens het scannen geen netwerkverzoeken”, aldus onderzoekers Paweł Woyke en Sławomir Zakrzewski. “Geen telemetrie. Geen phone-home. Geen automatische updatecontroles. Het leest alleen lokale bestanden. Glassworm-hunter update is het enige commando dat het netwerk raakt. Het haalt de nieuwste IoC-database op van onze GitHub en slaat deze lokaal op.”