Direct naar de inhoud
Software Supply Chain Security

KREMLIN banking malware: Chrome en Edge gegijzeld

KREMLIN banking malware

Onderzoekers hebben een tot nu toe onbekende Braziliaanse campagne in kaart gebracht rond KREMLIN banking malware. Deze kwaadaardige operatie gebruikt een keten van scripts en installers om slachtoffers niet alleen te infecteren, maar vooral ook hun browsers te gijzelen: Google Chrome en Microsoft Edge worden ingezet om credentials, sessietokens en andere gevoelige gegevens te verzamelen.

De activiteit wordt gevolgd onder de naam REF9334 en loopt volgens de onderzoekers al sinds mei 2025. Een opvallend onderdeel is de manier waarop de infrastructuur van de aanvaller wordt “verstopt” en dynamisch wordt bijgewerkt met behulp van blockchain-technologie.

Wat is de KREMLIN banking malware precies?

De KREMLIN banking malware werkt als een “ecosysteem” van meerdere lagen. Het start met een JavaScript-bestand dat vermomd is als iets onschuldigs: bijvoorbeeld een bankingdocument, een factuur of een bedrijfsdocument. Het slachtoffer moet het bestand doorgaans handmatig uitvoeren, waarna de infectieketen wordt opgepakt.

Daarna volgen meerdere stappen: loaders die pas verdergaan wanneer ze een sandbox of virtuele machine proberen te detecteren, een installatiestap in native code (C++), en uiteindelijk het installeren van een kwaadaardige browserextensie voor Chromium-gebaseerde browsers.

Hoe komt de aanval op het toestel terecht?

De campagne gebruikt lokteksten die verschillende Braziliaanse banken imiteren. Volgens de onderzoekers gaat het om tientallen varianten die telkens proberen de gebruiker te laten geloven dat er sprake is van een relevant document of verzoek.

De eerste fase draait rond een JavaScript-loader. Die controleert vooraf of het systeem zich mogelijk in een gecontroleerde omgeving bevindt. Als dat zo lijkt, stopt de keten. Wanneer de omgeving “veilig” lijkt, downloadt en installeert de loader verdere componenten.

De tweede fase: persistence en het ophalen van instructies

In de tweede fase worden vier doelen nagestreefd:

  • Het opzetten van via een geplande taak (scheduled task).
  • Het ophalen van downloadlocaties via een Ethereum smart contract.
  • Het downloaden van de benodigde binaries vanaf die dynamische locaties.
  • Het starten van de volgende fase.

Opvallend is dat de aanval voor de distributie van onderdelen gebruikmaakt van URL’s die via het blockchain-mechanisme worden “doorgeschakeld”. Dit maakt het voor defenders lastiger om één vaste plek te blokkeren, omdat endpoints en opslaglocaties kunnen worden geüpdatet.

De browserextensie: het echte werk gebeurt in Chrome en Edge

Het einddoel van de KREMLIN banking malware is het installeren van een kwaadaardige extensie. De extensie kan vervolgens met uitgebreide bevoegdheden data uit browsers halen en naar het command-and-control (C2) adres sturen.

De onderzoekers noemen als C2 een endpoint op het domein luizestrelhashapr[.]online:443. Vanuit daar wordt communicatie opgezet via WebSocket en daarnaast worden er periodiek HTTP-requests gedaan naar paden die worden vermomd als CSS-opvragingen.

Na installatie richt de extensie zich op gegevens per profiel. Ze vraagt om toegang tot onder andere tabs, cookies, opslag en de webRequest API. Daarna wordt ook een unieke identificatie voor het slachtoffer aangemaakt en opgeslagen in browserstorage, zodat de aanvaller de uitwisseling kan koppelen aan “de juiste” browsercontext.

Wat doet de extensie allemaal?

De extensie ondersteunt meerdere commando’s. In grote lijnen komt het neer op screenshots, het uitlezen van pagina-inhoud, het exfiltreren van sessie-gerelateerde data en het onderscheppen van webverkeer. Concreet noemen de onderzoekers onder meer:

  • Screenshots van de actieve of geselecteerde tab (en vervolgens uploaden van gecomprimeerde beelden).
  • Inventarisatie van tabs en domeinen en het bepalen van actieve status.
  • Onttrekken van cookies en opslagitems zoals sessionStorage en localStorage.
  • Proberen geschiedenisitems te verzamelen over een periode van ongeveer 15 dagen (met kans op mislukking door ontbrekende permissies in het manifest).
  • Het ophalen van volledige HTML-bron van de actieve pagina.
  • Het downloaden van HTML-bestanden die door de aanvaller worden aangestuurd.
  • Configuratie verversen en targeting-instellingen opvragen.

Naast WebSocket koppelt de extensie commando’s aan specifieke CSS-achtige paden. Die paden sturen bijvoorbeeld opdrachten om cookies en storage te uploaden, tabmetadata te versturen, screenshots te verzamelen, volledige HTML te exporteren, of regels te downloaden voor interceptie en omleiding.

Phantom Extension: hoe de extensie Secure Preferences omzeilt

Om de browserextensie te kunnen installeren zonder dat beschermingsmechanismen ingrijpen, gebruikt de installatie een techniek die bekend is in securityresearch: Phantom Extension en varianten zoals GhostChrome-X.

Het kernidee is dat de installatie de Secure Preferences-bescherming omzeilt door configuratiebestanden aan te passen, developer mode in te schakelen en vervolgens metadata in een JSON-object te forceren. Daarmee wordt de kwaadaardige extensie geregistreerd zonder dat de verwachte beveiligingscheck automatisch een alarm geeft.

De onderzoekers merken ook op dat een vergelijkbare aanpak eerder is toegepast in een campagne die gelinkt is aan APT31 en gebruikmaakte van een exploitkit die (inmiddels gepatchte) zero-days combineerde om een credential-stealende extensie te installeren.

Extra lagen: anti-sandbox, proceschecks en “network canary”

De KREMLIN banking malware probeert meerdere verdedigingslagen te doorbreken. Naast de vroege sandboxcontrole in de JavaScript-laag zit er ook anti-VM en anti-emulatie in latere onderdelen.

In de native installatiestap misbruikt de malware een legitiem SentinelOne-onderdeel voor DLL sideloading. Daarbij wordt een payload gestart die zichzelf “SentinelAgentCore.dll” kan aanroepen (naamgeving als camouflage). Ook die component voert controles uit op systeem- en proceskenmerken.

Wanneer stopt de malware?

Er zijn expliciete uitsluitingsvoorwaarden. Als de malware draait op een systeem dat procesnamen matcht uit een ingebouwde lijst, of als de hardwaregrenzen te “beperkt” lijken (zoals CPU/aantal cores en RAM-capaciteit), beëindigt de malware zijn activiteit. Het doel is om analyse in testomgevingen minder succesvol te maken.

Daarnaast gebruikt KREMLIN een network canary check. Daarbij wordt geprobeerd een pagina van een domein te downloaden dat niet “geregistreerd” hoort te zijn. Als de download tóch een geldig antwoord oplevert, interpreteert de malware dat als een gesimuleerde netwerkomgeving. In dat geval forceert de malware een crash, zodat de verdere keten niet draait.

Volgens Elastic Security Labs werden er 1.515 systemen gezien die probeerden in te checken op de network canary. Meer dan 98% daarvan werd geolocatieerd in Brazilië. Omdat de canary-check in die gevallen de verdedigingsmechanismen tijdelijk degradeert, zou het voor defenders juist extra tijd kunnen opleveren om besmette endpoints te identificeren en te verhelpen.

Blockchain als “dode brievenbus”: dynamische C2-updates

Een van de meest onderscheidende keuzes in de campagne is het gebruik van blockchain om de infrastructuur te verbergen. De aanvaller leunt op Ethereum smart contracts als een soort resolver: via slimme contractlogica worden command-and-control endpoints en payload-hostlocaties dynamisch aangepast.

Dat betekent dat een vaste URL of vaste downloadlocatie minder waarde heeft voor blokkades. Zodra de aanvaller besluit te wisselen, verschuiven de plaatsen waar de volgende componenten vandaan moeten komen. Voor defenders vraagt dit om meer holistische detectie dan alleen “domain blokkeren” op basis van één momentopname.

Waarom dit relevant is voor organisaties

De KREMLIN banking malware combineert social engineering met browserabuse, en dat maakt het gevaarlijk in omgevingen waar gebruikers toegang hebben tot webmail, internetbanken en webgebaseerde tools. Zodra de extensie draait, kan de aanvaller in de browsercontext werken: cookies en sessies zijn dan veel waardevoller dan “alleen” een gestolen wachtwoord.

Ook valt op dat de keten meebeweegt met updates en infrastructuurwijzigingen via smart contracts. Daardoor moeten organisaties niet alleen letten op bekende indicators, maar vooral ook op gedrag: ongebruikelijke extensies, ongeautoriseerde toegang tot tabdata en storingen of crashes die passen bij anti-analysis checks.

Als je wilt begrijpen hoe securityteams beter kunnen testen op echte aanvalsketens (in plaats van losse signalen), past dit artikel goed bij de aanpak: Attack chains testen: waarom losse checks niet werken.

Wat kun je nu doen? (praktische aandachtspunten)

Er zijn geen “magische” acties die elke variant uitsluiten, maar je kunt je blootstelling wel verkleinen.

  • Controleer browserextensies in Chrome en Edge: let op onverwachte installaties en extensies die om brede bevoegdheden vragen.
  • Monitor verdacht browsergedrag: ongebruikelijke verzoeken vanuit de browser, frequente polling naar vreemde paden of datatransfers die niet passen bij normale werkzaamheden.
  • Hanteer strakke endpoint- en browserhygiëne: beperk waar mogelijk installatie van extensies en zorg dat gebruikers geen bestanden uitvoeren die zich voordoen als “bankdocument”.
  • Werk je monitoring en alerts bij zodat je niet alleen op bekende IOC’s stuurt, maar ook op TTP’s (tactieken/technieken/procedures).

Daarnaast is het verstandig om breder te kijken naar het soort malware dat in deze campagne wordt genoemd. De onderzoekers geven aan dat er ook off-the-shelf trojans zijn gezien in dezelfde bredere activiteit. Voor meer context over het risico van malware in cloud- en browserketens kan ook dit artikel helpen: OAuth-tokenlek via Twitch-browserextensie: 31.000 getroffen.

Conclusie

De KREMLIN banking malware laat goed zien hoe moderne bankingcampagnes opereren: niet met één simpele payload, maar met een keten die gebruikers misleidt, anti-analyse checks inzet en uiteindelijk hun browser gebruikt als dataverzamelaar. Door Chrome/Edge-extensies te installeren en sessies, cookies en browserdata te exfiltreren, stijgt de impact van de aanval sterk.

Daarbij maakt blockchain-gebaseerde infrastructuur het lastiger om de operatie met één blokkade te stoppen. Voor organisaties betekent dit dat detectie en preventie niet mogen blijven hangen op losse indicatoren, maar moeten focussen op extensiegedrag, ongeautoriseerde browsertoegang en herleidbare aanvalspatronen.

Bron: https://thehackernews.com/2026/09/kremlin-banking-malware-hijacks-chrome.html