LayerX откри мрежа от злонамерени разширения „sleeper agent“, които изглежда служат като инфраструктура за бъдеща злонамерена дейност, инсталирана в момента на близо 1.5 милиона потребители по целия свят.

 

LayerX откри мрежа от разширения за браузър, които изглежда служат като „спящи агенти“ за бъдеща злонамерена дейност. Разширенията изглежда са разработени от едно и също лице или група, чакащи „заповедта си“ за изпълнение на злонамерен код на компютрите на нищо неподозиращи потребители. 

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

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

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

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

 

Често срещана, злонамерена кодова база

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

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

- 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 = {}, това.queue = [], това.hash = „“, това.queueProcessorReady = !1, това.uid = „“, това.version = chrome.runtime.getManifest().version, ee = “неопределен„==“ тип прозорец ? globalThis : прозорец, това.initStorage(), това.initListeners()

    }

    Опашка за процеси() {

        за (; това.queue.length > 0; ) {

            Var t = това.опашка.превключване();

            if (!t.type || „Действие“ != t.type) връщане !0;

            Var д = „p=“ + encodeURIComponent(бтоа(JSON.нанизвам({

                id: chrome.runtime.id,

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

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

                UID: това.uid,

                хашиш: това.хеш,

                tДата.сега()

            })));

            донасям(това.installUrl + „?“ + д).след това((т => т.JSON()))след това((функция(т) {

                т && 1 != t.ok && (t.url && chrome.tabs.създаване на({

                    URL: t.url

                }), extStatTracker.saveConfig(т))

            }))

        }

    }

    setUninstallUrl() {

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

            id: chrome.runtime.id,

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

            действие: „Деинсталиране“,

            UID: this.uid,

            tДата.сега()

        })));

        chrome.runtime.setUninstallURL(това.uninstallUrl + „?“ + т)

    }

    initListeners() {

        chrome.runtime.onInstalled.addListener((t => {

            това.опашка.тласък({

                тип: "действие"

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

            }), това.queueProcessorReady && това.Опашка за процеси()

        }))

    }

    initStorage() {

        chrome.storage.local.получавам((t => {

            t && t.config && (extStatTracker.config = t.config), extStatTracker.config.uid ? extStatTracker.uid = extStatTracker.config.uid : (extStatTracker.uid = extStatTracker.config.uid = crypto.рандомUUID(), extStatTracker.saveConfig()), extStatTracker.hash = extStatTracker.config.hash, extStatTracker.queueProcessorReady = !0, extStatTracker.setUninstallUrl(), extStatTracker.Опашка за процеси()

        }))

    }

    saveConfig(t = !1) {

        t = t || extStatTracker.config, chrome.storage.local.получавам({

            довереник: {}

        }, (e => {

            Обект.възлага(e.config, t), chrome.storage.local.определен({

                довереникe.config

            })

        }))

    }

}

конст extStatTracker = нов ExtStatTracker;

Тази инфраструктура не е уникална за ReadBee – подобни структури на зловреден код са открити и в други разширения. Например, Търсене в ChatGPT разширение (acagjkjeebjdmeipgmhcmaddekfmdbaj) използваше същите модели за комуникация и контрол и беше премахнато от уеб магазина на Chrome на Октомври 25, 2024, поради зловреден софтуер.

 

Комуникация със злонамерени URL адреси:

Някои от домейните, с които тези разширения комуникират, са маркирани като известни злонамерени URL адреси в VirusTotal:

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

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

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

Три от разширенията комуникират с този домейн. Въпреки че самият домейн не е маркиран като злонамерен, основната част на този домейн е била маркирана в миналото за злонамерена активност.

Освен това, разширенията използват различни техники за криптиране в кода, за да криптират външни комуникации и да обфусцират поведението си.

 

Замъгляване на общата собственост

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

  • Всяко разширение е посочено под различен издател, с различни данни за контакт.
  • Нито едно от разширенията няма публично достъпни уебсайтове.
  • Информацията за контакт за всяко разширение води до анонимни уеб пощенски акаунти.

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

 

Подозирани злонамерени разширения:

По-долу е даден текущият списък с предполагаеми злонамерени разширения, идентифицирани като част от този пръстен:

Име на разширение Идентификатор на разширение Потребители
Усилвател на звука pmilcmjbofinpnbnpanpdadijibcgifc 200,000
Разгледайте изходния код на Volume Max – Ultimate Sound Booster мгбхдехиапбджамфгекфпебмхмнмцмемг 1,000,000
Volume Master: Овладейте звука си Последване 3,000
Усилвател на звука: Усъвършенстван усилвател на звука dlcgileladmbfijjmnleehhoebpggpjl 2,000

Допълнително потвърждение за VirusTotal

Въпреки че VirusTotal е известен най-вече като хранилище за маркиране на домейни/IP адреси на сървъри за командване и контрол (C2) на злонамерен софтуер, то включва и някои данни за разширения.

Всъщност, разширението „Examine source code of Volume Max – Ultimate Sound Booster“, с над един милион изтегляния, вече е маркирано от няколко доставчици. То обаче не е премахнато от уеб магазина на Chrome.



По подобен начин разширението „Sound Boster“ (над 200,000 XNUMX потребители) също е маркирано от някои компании за сигурност като злонамерено. То също остава достъпно в уеб магазина на Chrome.


Последици:

Анализът на разширенията все още продължава, но досега LayerX не е идентифицирал никакви ток злонамерени дейности (освен връзки към известни злонамерени разширения). Вместо това, това изглежда е платформа or инфраструктура за потенциална бъдеща злонамерена дейност. Ето защо го наричаме „спяща“ разширителна мрежа.

Този тип „спяща“ разширителна мрежа може да служи като заместител на традиционните ботнети. Докато изграждането на ботнети (обикновено на открити IoT устройства) може да бъде бавно, технически сложно и тромаво, разработването на мрежа от злонамерени разширения за браузър е много по-лесно и може да осигури директен достъп до ключова информация за самоличността на потребителя, като например „бисквитки“, пароли, данни за сърфиране и съдържание, което се разглежда.

Тук има няколко ключови извода:

  1. Дори на пръв поглед безобидни разширения могат да бъдат злонамерени: в този случай, въпреки че не видяхме активно злонамерено поведение, идентифицирахме множество връзки към известни злонамерени разширения и/или домейни, както и код с възможности, който няма място в разширения с рекламираните възможности.
  2. Репутацията на издателя е черна дупкаВсеки може да качи разширение и е практически невъзможно да се проследят хората, които стоят зад тези разширения. В този случай, въпреки всички общи черти, разширенията водят до общи уеб имейл адреси, а не до публични уебсайтове, и няма начин да се разбере кой стои зад тях.
  3. Сигурността на разширенията е непрекъснат процес: Това не е еднократно решение и на пръв поглед невинни разширения могат да станат злонамерени или злонамерените функции могат да бъдат включени/изключени. Ето защо е изключително важно непрекъснато да се следи заплахата, която разширенията на браузъра ви създават, и състоянието на сигурността.