Een browserextensie die belooft advertenties te blokkeren, een video te downloaden of een pagina te vertalen, oogt onschuldig. Toch bleken 119 van zulke extensies in de officiele add-on-store van Microsoft Edge jarenlang inloggegevens, tweestapscodes en sessiecookies te stelen. Microsoft heeft ze verwijderd en meer dan 90 bijbehorende ontwikkelaarsaccounts geschorst. Samen waren de extensies tot 2,6 miljoen keer geinstalleerd. Voor elke organisatie die Edge op de werkplek toelaat, is dit een directe aanleiding om de geinstalleerde extensies na te lopen.
Wat Microsoft aantrof
De campagne, die Microsoft zelf StegoAd noemt naar de combinatie van steganografie en adware, draaide volgens het eigen onderzoek sinds minstens 2021. Een enkele dadergroep zette 119 extensies in de winkel, verspreid over ruim 90 ontwikkelaarsaccounts en gekoppeld aan meer dan tien command-and-control-domeinen die elkaar automatisch konden vervangen. De extensies deden zich voor als alledaagse hulpmiddelen: adblockers, een vpn, een vertaaltool of een video-downloader, met namen als Ads Block Ultimate.
Het sluwe zit in de manier waarop de kwaadaardige code verstopt werd. In plaats van zichtbare scripts gebruikten de makers steganografie: ze verborgen de schadelijke payload in afbeeldingen en lettertypebestanden. Eerst plakten ze JavaScript achter de eindmarkering van PNG-bestanden, later verschoven ze naar WebP-afbeeldingen en zelfs naar WOFF2-fonts, waarbij de tekens van de code in de glyphs van het lettertype zaten. De extensie haalde dat beeld of font op, pelde er via lagen van Base64- en XOR-bewerkingen de echte instructies uit en voerde die pas daarna uit. Een gewone scan van de extensiecode zag niets verdachts.

Wat de extensies precies buitmaakten
De payload was geen eenvoudige adware. Hij opende een achterdeur waarmee de aanvaller op afstand willekeurige JavaScript in de browser kon draaien, en die toegang werd op meerdere manieren te gelde gemaakt. Bij het inloggen op een Google-account onderschepte de extensie zowel de inloggegevens als de tweestapscode. Ze verzamelde sessiecookies, waarmee een aanvaller een actieve sessie kan overnemen zonder ooit een wachtwoord of tweede factor te hoeven invoeren. En ze oogstte beheerdersgegevens van WordPress-sites, met voorrang voor de drukst bezochte sites.
Daarnaast draaide er klassieke advertentiefraude doorheen: geinjecteerde advertenties en gekaapte affiliate-commissies bij grote webwinkels. Dat de operatie twee jaar lang grotendeels onopgemerkt bleef, zegt iets over hoe lastig dit type misbruik te detecteren is.
Waarom 2,6 miljoen geen 2,6 miljoen slachtoffers zijn
Het getal van 2,6 miljoen is het maximale aantal installaties, niet het aantal daadwerkelijk getroffen gebruikers. De extensies waren namelijk slapers. Na installatie wachtten ze drie tot vijf dagen voordat ze ook maar iets kwaadaardigs deden, zodat ze door de eerste controles glipten. Stond de ontwikkelaarsconsole (DevTools) open, dan hielden ze zich onbeperkt koest. De uitvoering verliep deels op kans, en de servers gaven onderzoekers die de payload probeerden op te halen simpelweg een leeg antwoord terug.
Die ingebouwde voorzichtigheid betekent dat lang niet elke installatie ook echt buitgemaakte data opleverde. Geruststellend is het niet: juist omdat de code zich gedeisd hield, kon de campagne zo lang doordraaien, en weet je als organisatie niet zomaar of een medewerker in de actieve periode is geraakt.
Wat dit betekent voor jouw bedrijf
Browserextensies zijn een onderschat stuk van je aanvalsoppervlak. Ze worden door medewerkers vaak zonder nadenken geinstalleerd, draaien met verregaande rechten binnen de browser en vallen buiten het zicht van veel beheertooling. Een handige adblocker of vertaaltool die stiekem de Google Workspace-login en de bijbehorende tweestapscode meeleest, geeft een aanvaller toegang tot mail, agenda en documenten van het hele bedrijf. En omdat StegoAd ook sessiecookies stal, kan zo'n aanvaller je multifactor-beveiliging volledig omzeilen: met een gekaapte sessie hoeft hij niet meer langs het inlogscherm.
De diefstal van WordPress-beheerdersgegevens raakt bovendien een groot deel van het Nederlandse MKB, waar talloze bedrijfssites op WordPress draaien. Een gekaapte beheeraccount betekent in de praktijk dat een vreemde je website kan herschrijven, malware aan bezoekers kan serveren of je in een volgende aanvalsketen kan gebruiken.
Dit is geen op zichzelf staand incident. Eerder deze maand liet een kwaadaardige Edge-extensie zien hoe een nep-IT-melding via de Native Messaging-functie ransomware een bedrijfsnetwerk in kon trekken, en in Operatie Endgame werden 24 miljoen via infostealers gestolen inloggegevens teruggevonden. De rode draad is steeds dezelfde: gestolen inloggegevens en sessies zijn de grondstof van moderne aanvallen, en de browser is een van de plekken waar ze het makkelijkst weglekken.
Wat je nu moet doen
Loop de geinstalleerde extensies na via edge://extensions en verwijder alles wat je niet herkent of niet meer gebruikt, en vergelijk dat met de lijst van indicatoren die Microsoft heeft gepubliceerd. Stond er een verdachte extensie op een werkplek, behandel die machine dan als mogelijk gecompromitteerd: reset de wachtwoorden van de belangrijke accounts en log actieve sessies uit, want gestolen cookies blijven anders bruikbaar. Microsoft adviseert daarbij om tweestapsverificatie aan te zetten op belangrijke accounts en, waar het kan, over te stappen op hardware-sleutels volgens de FIDO2-standaard, omdat die niet te onderscheppen zijn met de truc die StegoAd gebruikte.
Structureler dwing je in een organisatie af welke extensies zijn toegestaan. Via het groepsbeleid voor Edge kun je een allowlist instellen, zodat medewerkers alleen goedgekeurde extensies kunnen toevoegen en de rest standaard geblokkeerd is. Dat is dezelfde basishygiene die ook in een bredere beveiligingscheck van vijf lagen die je zonder eigen securityafdeling zelf kunt nalopen thuishoort.
De les van StegoAd is ongemakkelijk: dat iets in een officiele winkel staat, betekent niet dat het veilig is. Vertrouwen op de poortwachter alleen is geen beleid. Wie zelf bepaalt wat er in de browser van zijn mensen mag draaien, haalt een van de stilste lekken in zijn organisatie dicht.
Veelgestelde vragen
Grip op je werkplek
Een veilige werkplek is geen los product maar een ontwerpkeuze. Ik denk met je mee, richt je tools en beleid zo in dat lekken als deze geen kans krijgen, en automatiseer het beheer ervan, self-hosted waar dat kan.
Dit artikel is geproduceerd samen met het Agent Team. Meer over de redactie.
