KREMLIN Banking Malware kaapt Chrome en Edge om inloggegevens en sessietokens te stelen

Cybersecurity-onderzoekers hebben licht geworpen op een voorheen ongedocumenteerde Braziliaanse malware-operatie voor banken die een toolkit levert genaamd KREMLIN.

Elastic Security Labs volgt de activiteit onder de naam REF9334. De bedreigingsacteur is actief sinds minstens mei 2025 en heeft kunstaas gebruikt die zich voordoet als een tiental Braziliaanse banken en een kwaadaardige browserextensie installeert op Google Chrome en Microsoft Edge.

“Het malware-ecosysteem van KREMLIN maakt gebruik van meerfasige JavaScript-laders, aangepaste C++-installatieprogramma’s en kwaadaardige browserextensies om inloggegevens, sessietokens en gevoelige gegevens te stelen”, aldus beveiligingsonderzoekers Cyril François en Andrew Pease in een technisch rapport gedeeld met The Hacker News.

“Schadelijke browserextensies omzeilen de Chromium-integriteitsmechanismen door Secure Preferences te manipuleren en de vereiste HMAC’s en app-gebonden gecodeerde hashes opnieuw te genereren.”

Een bepalend aspect van de operatie is het gebruik van blockchain om de door de dreigingsactor gecontroleerde infrastructuur te verbergen, waarbij gebruik wordt gemaakt van slimme contracten van Ethereum als dead drop-resolvers om command-and-control (C2)-eindpunten en payload-hostinglocaties dynamisch bij te werken, zodat deze niet kunnen worden verstoord.

Het startpunt van het KREMLIN is een JavaScript-bestand dat zich voordoet als een bank-, factuur- of bedrijfsdocument en handmatig door het slachtoffer wordt uitgevoerd. Daarbij leidt het tot de uitvoering van een meertrapslader die alleen doorgaat als deze niet in een sandbox of virtuele machine draait, waarbij extra payloads worden gedownload en geïnstalleerd voordat de volgende fase wordt gestart.

De tweede fase is ontworpen om vier taken uit te voeren: persistentie tot stand brengen via een geplande taak, downloadlocaties ophalen uit een Ethereum smart contract, de benodigde binaire bestanden downloaden van die locaties en de derde fase uitvoeren. De payload-URL’s hosten de volgende programma’s:

  • Een schadelijke payload van het browserextensie-installatieprogramma
  • .NET PE-injector
  • “SentinelMemoryScanner.exe”, een legitiem binair bestand geassocieerd met SentinelOne dat wordt gebruikt voor sideloading van DLL

Concreet misbruikt het C++-installatieprogramma het SentinelOne-binaire bestand om de niet-ondertekende hoofdpayload, die zich voordoet als “SentinelAgentCore.dll”, te sideloaden. Eenmaal gelanceerd, voert de DLL soortgelijke sandbox- en virtuele machine-ontduikingscontroles uit als de JavaScript-lader door de lijst met actieve processen te scannen en de hardware-eigenschappen van de machine te controleren, zoals het aantal CPU’s en RAM-capaciteit.

Als een van de actieve processen overeenkomt met een naam in de hardgecodeerde lijst en als het systeem niet over 2 CPU’s beschikt of meer dan 3 GB RAM heeft, beëindigt de malware de uitvoering ervan. KREMLIN neemt ook contact op met hetzelfde slimme contract van Ethereum om twee domeinen op te halen – volmira(.)site en zaviro(.)online – en vraagt ​​de eerste om de versie van de browserextensie (“1.0.0”) en ID (“ndpbidppejfanjbhfgjlohfanbfbklff”) te verkrijgen. De extensie heet “AVSync System Inc.”

“Voordat het archief wordt gedownload, controleert de malware of de extensie al is geïnstalleerd en vergelijkt hij, als dat zo is, de geïnstalleerde versie met de versie die door de server wordt gerapporteerd”, aldus de onderzoekers. “Het downloadt de extensie alleen als er geen lokale installatie wordt gevonden, of als de versies verschillen. Vervolgens downloadt het de Chrome-extensie als een ZIP-archief.”

Om de extensie in Chromium-gebaseerde browsers te installeren, wordt gebruik gemaakt van een publiekelijk gedocumenteerde techniek om de integriteit te omzeilen, genaamd Phantom Extension en GhostChrome-X, zonder het beveiligingsmechanisme van Secure Preferences te activeren. Het idee is om het Secure Preferences-bestand aan te passen, de ontwikkelaarsmodus van Chrome in te schakelen en het JSON-object “protection.macs” bij te werken met vervalste metadata om de kwaadaardige Chrome-extensie te registreren.

Het is vermeldenswaard dat dezelfde aanpak ook werd gevolgd door de aan China gelinkte APT31-acteur in een campagne van eind augustus 2026, waarbij gebruik werd gemaakt van de BlueMoon-exploitkit, bestaande uit de nu gepatchte Chrome en Windows zero-days, om een ​​inloggegevens stelende browserextensie met de codenaam GemStone te installeren.

Zodra de extensie is geïnstalleerd, begint KREMLIN met het verzamelen en exfiltreren van browsergegevens voor elk profiel naar de C2-server (“luizestrelhashapr(.)online:443”), maar niet voordat uitgebreide toegang tot browsertabbladen, cookies, opslag en de webRequest API is aangevraagd. Het genereert ook een unieke slachtofferidentificatie die in de browseropslag wordt opgeslagen en wordt opgenomen in de C2-communicatie.

De extensie ondersteunt de volgende opdrachten na het tot stand brengen van een WebSocket-kanaal met de C2-server:

  • Maak schermafbeeldingen van het geselecteerde of actieve tabblad en upload een gecomprimeerde afbeelding
  • Inventariseer tabbladen, domeinen en actieve status en upload de lijst
  • Steel cookies, sessionStorage en localStorage van het geselecteerde of actieve tabblad
  • Verzamel maximaal 1000 geschiedenisvermeldingen van de afgelopen 15 dagen (resulteert waarschijnlijk in een mislukking omdat het extensiemanifest niet over de geschiedenistoestemming beschikt)
  • Extraheer en upload de volledige HTML-bron van de geselecteerde of actieve pagina
  • Download door aanvallers bestuurde HTML
  • Configuratie vernieuwen

Naast WebSocket controleert de extensie periodiek een “/google_api/”-eindpunt via verzoeken die zich voordoen als het ophalen van CSS-bestanden. Elk van deze paden is toegewezen aan een specifiek commando –

  • 108766d0.css, om cookies en opslag te uploaden
  • 41f7b187.css, om tabblad-ID’s, domeinen en actieve tabbladstatus te uploaden
  • b83fa72d.css, om gecomprimeerde browsergeschiedenis van de afgelopen 15 dagen te uploaden
  • 0f51ad2f.css, om een ​​gecomprimeerde JPEG-screenshot te uploaden, samen met de pagina-URL en client-ID
  • e4cce14e.css, om gecomprimeerde HTML van de volledige pagina te uploaden, samen met de pagina-URL en client-ID
  • 6c0c92f6.css, om het onderschepte verzoek te uploaden
  • 81d47cb6.css, om de targetingconfiguratie op te halen die een lijst met domeinen en HTTP-onderscheppingsregels bevat
  • a98cb43d.css, om omleidingsregels op te halen die bestemmings-URL’s bevatten

Er wordt geschat dat de actoren achter het KREMLIN al sinds mei 2025 actief zijn, waaronder het installeren van kwaadaardige browserextensies en het verspreiden van kant-en-klare Trojaanse paarden zoals Pulsar RAT en Remcos RAT. De overgang naar Ethereum slimme contracten zou hebben plaatsgevonden op 19 mei 2026. In totaal is de groep sinds 16 juni 2025 toegeschreven aan zeven verschillende campagnes.

Als onderdeel van het anti-sandbox-mechanisme voert de malware een netwerkkanariecontrole uit door te proberen een pagina te downloaden van een niet-geregistreerd domein. Anders gezegd: als het een geldig antwoord ontvangt, duidt dit waarschijnlijk op een sandbox die netwerkconnectiviteit simuleert. In een dergelijk scenario crasht de malware opzettelijk.

Elastic zei dat het het netwerkkanariedomein registreerde en 1.515 geïnfecteerde systemen identificeerde die probeerden in te checken op het netwerkkanariedomein. Meer dan 98% van de systemen is geolokaliseerd in Brazilië.

“Dus hoewel deze systemen nog steeds zijn geïnfecteerd met het laatste onderdeel van KREMLIN, heeft dit de verdedigingsmechanismen van de campagne tijdelijk gedegradeerd en gemanipuleerd en zou het verdedigers extra tijd kunnen geven om geïnfecteerde eindpunten te identificeren en te herstellen”, aldus Elastic.

Thijs Van der Does