Microsoft heeft een langlopende kwaadaardige extensieoperatie in de Edge Add-ons-winkel stopgezet, waarbij de payloads in gewone afbeeldings- en lettertypebestanden werden verborgen en enkele dagen na de installatie wakker werd om inloggegevens te stelen en advertentiefraude uit te voeren.
Het bedrijf noemt het StegoAd, een mengelmoes van steganografie en adware, en koppelt 119 extensies aan één enkele bedreigingsacteur die naar eigen zeggen al sinds 2021 actief is.
De extensies waren van het soort dat mensen zonder nadenken installeren: adblockers, VPN’s, vertalers, videodownloaders. Ze deden allemaal hun werk en kregen recensies. De kwaadaardige code bleef inactief totdat de extensie een stapel ontwijkingscontroles had opgelost, en zo bleef hij jarenlang in de winkel staan.
Gecombineerd hadden de 119 extensies een installatiebasis van maar liefst 2,6 miljoen gebruikers. Microsoft is duidelijk dat dit een plafond is en geen slachtoffertelling.
Een vertraging van meerdere dagen, validatie aan de serverzijde en een uitvoeringspoort van 10% op sommige varianten zorgden ervoor dat de payload bij veel installaties nooit werd geactiveerd. Hoeveel mensen daadwerkelijk zijn gecompromitteerd, is niet bekend.
Code verborgen in afbeeldingen en lettertypen
De truc die de campagne een naam geeft, is steganografie: uitvoerbare code in bestanden stoppen die er volkomen normaal uitzien. De vroegste varianten voegden JavaScript toe na de IEND-markering van een PNG-pictogram, zodat de afbeelding overal goed werd weergegeven en een lading bevatte die statische scanners nooit markeerden.
Naarmate de detectie vorderde, ging de acteur over op WebP-afbeeldingen en vervolgens op WOFF2-lettertypebestanden, waarbij code werd verborgen in glyph-bereiken die als Aziatische tekst of metagegevens van lettertypen werden gelezen. Microsoft noemt steganografie op deze schaal zeldzaam in het ecosysteem van browserextensies.
Bij sommige varianten met een hoge impact werd de lading niet eens lokaal verzonden. Ze haalden een normaal uitziend beeld op van een command-and-control-server. De extensie decodeerde het via lagen van case swaps, digit swaps, Base64 en XOR, en controleerde het vervolgens aan de hand van een handtekening voordat het werd uitgevoerd.
De C2-server leverde het echte bestand alleen aan verzoeken die een vingerafdruk en een User-Agent-controle doorstonden; iedereen die het rechtstreeks onderzocht, inclusief onderzoekers, kreeg een lege lokreactie.

Extensies keken ook naar open DevTools en verlengden hun rustperiode als ze een analist zagen kijken.
Advertentiefraude bovenaan, diefstal van inloggegevens onderaan
De zichtbare schade was advertentiefraude: geïnjecteerde advertenties, gekaapte commissies van partners op Amazon, eBay en AliExpress, en omgeleide zoekopdrachten, waarbij allemaal geld werd afgeroomd terwijl het browsen werd verslechterd.
Uit de analyse van Microsoft van opgehaalde payloads kwam nog veel meer naar voren. De payloads omvatten een achterdeur voor het uitvoeren van code op afstand, waarop willekeurig JavaScript werd uitgevoerd dat vanaf de server werd gepusht. Ze stalen ook Google-inloggegevens en tweedefactorcodes bij het inloggen, verzamelden WordPress-beheerdersaanmeldingen en exfiltreerden bulksgewijs cookies om sessies te kapen.

Microsoft zegt dat zeven Google Analytics-tracking-ID’s lijken te hebben gediend als geheime telemetrie, waardoor de operator bijna realtime dashboards over de campagne kreeg via de eigen infrastructuur van Google.
Het sanitair sloot aan bij de ambitie. Microsoft telt ruim tien C2-domeinen met automatische failover. De acteur stuurde verkeer via Cloudflare Workers en misbruikte GitHub-pagina’s om beacons te hosten.
Een polymorf raamwerk omvatte grofweg 66 extensies onder meer dan 15 naamgevingsvarianten, en de operatie migreerde van Manifest V2 naar V3 naarmate de acteur zich aanpaste aan platformveranderingen.
Wat te doen
Microsoft zegt dat het alle 119 extensies heeft verwijderd en de ruim 90 ontwikkelaarsaccounts die erachter zitten, heeft opgeschort. De volledige lijst met extensie-ID’s vindt u in het technische rapport van het bedrijf.
Open edge://extensions en vergelijk uw geïnstalleerde add-ons met die lijst. Als er iets overeenkomt, of als Edge er automatisch een heeft verwijderd, behandel de browser dan als blootgesteld. Wijzig wachtwoorden voor Google-, WordPress-, bank- en andere gevoelige accounts.
Controleer recente aanmeldingsactiviteiten en schakel sterke tweefactorauthenticatie in. Hardwarebeveiligingssleutels zijn bestand tegen dit soort diefstal van inloggegevens op een manier die sms-codes niet bieden. Microsoft heeft indicatoren van compromissen gepubliceerd voor gebruik in Chrome, Firefox en andere Chromium-browsers.
StegoAd lijkt minder op een nieuwe campagne dan op een nieuw gezicht op een bekend gezicht. De inloggegevens exfiltreren naar mitarchive.info, een domein dat Koi Security banden heeft met DarkSpectre, de Chinese operatie die het in december koppelde aan de ShadyPanda- en GhostPoster-extensiecampagnes.
De verbinding gaat verder dan het domein. StegoAd verbergt code in het eigen pictogram van een extensie, dezelfde methode die GhostPoster maanden eerder gebruikte. De twee delen zelfs extensienamen, zoals Ads Block Ultimate.
Microsoft heeft de acteur niet genoemd, maar de overlap is duidelijk. De operator is nog steeds actief, zegt Microsoft.