Den Namen StegoAd leitet Microsoft aus Steganografie und Adware ab. Gemeint ist das Verstecken ausführbaren Codes in Dateien, die unauffällig erscheinen. In frühen Varianten hing der Akteur JavaScript hinter die IEND-Markierung eines PNG-Symbols. Das Bild wurde weiterhin korrekt dargestellt, transportierte aber zugleich einen Schadcode, den statische Scanner nicht erkannten.
Später verlagerte sich die Technik nach Microsofts Analyse auf WebP-Bilder und anschließend auf WOFF2-Schriftdateien. Dort wurde Code in Glyphenbereichen verborgen, die wie asiatischer Text oder wie Metadaten einer Schrift wirkten. Microsoft bezeichnet Steganografie in diesem Umfang im Ökosystem von Browser-Erweiterungen als selten.
Einige besonders folgenreiche Varianten lieferten den Schadcode nicht einmal lokal mit. Stattdessen luden sie ein unauffälliges Bild von einem Command-and-Control-Server nach. Die Erweiterung entschlüsselte dessen Inhalt über mehrere Stufen aus Groß- und Kleinschreibungswechseln, Ziffernaustausch, Base64 und XOR und prüfte ihn vor der Ausführung gegen eine Signatur. Der C2-Server lieferte die echte Datei nur an Anfragen aus, die einen Fingerabdruck- und einen User-Agent-Test bestanden; direkte Prüfversuche, auch durch Forscher, erhielten laut Microsoft nur eine leere Köderantwort. Außerdem überwachten die Erweiterungen geöffnete Entwicklerwerkzeuge und verlängerten ihre Ruhephase, wenn sie Analysten bemerkten.
Sichtbar wurde die Kampagne vor allem durch Anzeigenbetrug. Die Erweiterungen injizierten Werbung, kaperten Affiliate-Provisionen bei Amazon, eBay und AliExpress und leiteten Suchanfragen um. Microsofts Analyse geborgener Nutzlasten zeigte darüber hinaus weitere Funktionen: eine Hintertür zur Remotecodeausführung, die beliebiges vom Server geliefertes JavaScript ausführen konnte, den Diebstahl von Google-Zugangsdaten und Zweitfaktor-Codes beim Anmelden, das Abgreifen von WordPress-Administratorzugängen sowie die massenhafte Exfiltration von Cookies zur Sitzungsübernahme.
Nach Angaben von Microsoft dienten zudem sieben Google-Analytics-Tracking-IDs offenbar als verdeckte Telemetrie. So habe der Betreiber nahezu in Echtzeit Übersichten über die laufende Kampagne über Googles eigene Infrastruktur erhalten. Die technische Infrastruktur umfasste laut Microsoft mehr als zehn C2-Domains mit automatischem Failover. Der Akteur leitete Verkehr über Cloudflare Workers und missbrauchte GitHub Pages zum Hosting von Beacons.
Microsoft beschreibt außerdem ein polymorphes Framework in rund 66 Erweiterungen unter mehr als 15 Namensvarianten. Die Operation wurde zudem von Manifest V2 auf V3 umgestellt, als der Akteur sich an Plattformänderungen anpasste. Das Unternehmen hat nach eigenen Angaben alle 119 Erweiterungen entfernt und mehr als 90 zugehörige Entwicklerkonten gesperrt. Die vollständige Liste der Erweiterungs-IDs steht im technischen Bericht von Microsoft.
Eine mögliche Verbindung zu bereits bekannten Kampagnen kommt von Koi Security. Deren Einschätzung zufolge exfiltriert die Zugangsdaten-Nutzlast an die Domain mitarchive.info, die Koi Security mit DarkSpectre verknüpft, einer chinesischen Operation, die das Unternehmen im Dezember mit den Erweiterungskampagnen ShadyPanda und GhostPoster in Verbindung gebracht hatte. Die Überschneidungen gehen laut Quelltext über die Domain hinaus: StegoAd versteckt Code im Symbol einer Erweiterung, dieselbe Methode, die GhostPoster Monate zuvor genutzt habe. Zudem tauchen identische Erweiterungsnamen auf, darunter Ads Block Ultimate. Microsoft nennt den Akteur nicht namentlich, erklärt aber, dass der Betreiber weiterhin aktiv sei.
