В январе 2025 года исследователи впервые описали согласованную группу вредоносных расширений для браузера, назвав её Phoenix Invicta. Спустя 16 месяцев специалисты компании 7AI провели новый анализ и выяснили, что кластер не только жив, но и значительно вырос. Речь идёт о десятках расширений, которые маскируются под безобидные утилиты - пипетку для подбора цвета, блокировщик рекламы или регулятор громкости. На деле каждое такое расширение превращает браузер пользователя в инструмент для рекламного мошенничества и, что гораздо опаснее, предоставляет оператору бэкдор для выполнения произвольного JavaScript-кода на любом сайте, который посещает жертва.
Описание
В ходе расследования эксперты 7AI обнаружили 22 подтверждённых расширения, более 60 активных или зарезервированных доменов, а также три образца исходного кода, которые ранее не были доступны. Если работа Паланта была основана на реверс-инжиниринге механизма обхода политики безопасности контента (CSP) - встроенной защиты браузера от внедрения скриптов, - то новое исследование идёт дальше и описывает полный жизненный цикл атаки.
Архитектура кластера построена на четырёх компонентах. Первый: расширение запрашивает доступ ко всем сайтам. Второй: используя механизм declarativeNetRequest, оно удаляет из ответов серверов заголовки CSP и X-Frame-Options - те самые, что блокируют внедрение чужого кода. Третий: фоновый процесс каждые пять-шесть часов опрашивает конфигурационный сервер и получает команды. Четвёртый: в контексте открытой страницы создаётся тег script, который загружает и исполняет JavaScript с командно-контрольного сервера (C2). Все четыре шага по отдельности могут выглядеть легитимно - например, пипетке действительно нужно читать пиксели с любой страницы. Вместе они образуют удалённую платформу для выполнения кода, которую Manifest V3 (последняя версия архитектуры расширений Chrome) как раз и призван предотвратить.
Особое внимание в отчёте уделено механизму двустороннего обмена с C2. Когда пользователь заходит на сайт, расширение отправляет на сервер statsdata[.]online запрос, в URL которого зашифрованы имя хоста, уникальный идентификатор установки, идентификатор расширения и метка страны. Сервер отвечает JavaScript-кодом, который исполняется в контексте текущей страницы. Эксперты подчёркивают: этот канал не ограничен рекламными манипуляциями. Технически оператор может внедрить любой код - от кражи учётных данных до перехвата сессий на банковских и корпоративных порталах.
Самое тревожное открытие касается корпоративных систем защиты. Большинство прокси-серверов и шлюзов безопасности принимают решение о блокировке на основе анализа ответа от удалённого хоста. К тому моменту, как ответ проанализирован, запрос с похищенными данными уже ушёл. Если блокировка предотвращает показ рекламы, она никак не защищает от утечки сведений о посещённых сайтах и их заголовках. Заголовки страниц (параметр t в URL) часто содержат названия проектов, номера задач, имена сотрудников и внутренние IP-адреса.
Производственная нагрузка (payload) тоже претерпела серьёзные изменения. Вместо старого скрипта redirect_checker.js, который Палант не мог получить в исходном виде, сейчас используется сборка m3011.js, написанная на Webpack и достигающая 135 килобайт. Это не просто обновление - это полная переработка. В скрипте есть модули для работы с Google, Bing и Yahoo, вычисляемое CSS-клонирование, которое считывает стили с реальной страницы поисковой выдачи (SERP) и применяет их к вставленным рекламным блокам, а также серверная кастомизация для каждой жертвы. Каждое заражённое устройство получает уникальный экземпляр кода, поэтому поиск по хешам или фиксированным строкам бесполезен.
Отдельно отмечена смена рекламного партнёра: в новых версиях доход генерируется через программу Yahoo Search Partner, хотя старый канал Google AdSense для более ранних расширений всё ещё работает. Кроме того, операторы кластера используют заражённые браузеры как распределённую разведывательную сеть: при включённом флаге расширение отправляет на сервер datvault[.]cloud информацию о новых рекламных элементах, которые не умеет обрабатывать. Так разработчики узнают об изменениях в оформлении поисковиков и адаптируют свои скрипты.
Один из вариантов нагрузки содержит функцию, которая считывает реальное имя и адрес электронной почты пользователя, вошедшего в аккаунт Google, и отправляет их на сервер. Это означает, что анонимные ранее данные о посещениях теперь могут быть привязаны к конкретным личностям. Для специалистов по информационной безопасности, чей корпоративный аккаунт Google синхронизирован с браузером, такая утечка особенно опасна.
Исследователи также зафиксировали резервные домены, которые пока не активны, но уже указывают на инфраструктуру кластера. Среди них customcursors.online (темы курсоров), datalocked.online (инструменты конфиденциальности) и websiteconf.online (общие настройки). Это говорит о том, что операторы планируют расширять ассортимент "полезных" расширений.
Phoenix Invicta - не разовая кампания, а постоянно развивающаяся платформа с дорожной картой, версиями релизов и командой разработчиков, которые следят за изменениями в инфраструктуре поисковых систем и реагируют на блокировки. Игнорировать эту угрозу больше нельзя.
Индикаторы компрометации
IPv4
- 3.168.122.80
- 44.230.5.79
- 45.55.78.246
- 45.79.167.180
- 5.149.249.216
- 5.149.249.218
- 5.149.249.219
- 5.149.255.43
- 98.142.252.135
- 98.142.252.185
- 98.83.184.133
Domains
- 1-click-cp.com
- 8melo.fun
- adblock-ads-and-yt.pro
- ahacdn.me
- aj2472.online
- astato.online
- astralink.click
- beacon.itonsearch.com
- beacon.seccint.com
- best-browser-extensions.com
- capture-it.online
- cdn.itonsearch.com
- customcursors.online
- dailyview.site
- datalocked.online
- datvault.cloud
- domain-error.com
- doublestat.info
- doubleview.online
- easy-dark-mode.online
- everyview.info
- fivestat.com
- font-expert.pro
- gadstat.com
- gulkayak.com
- hjk-9l.cloud
- idp-cf.com
- itonsearch.com
- locodata.site
- lottingem.com
- manuals-viewer.info
- marsdata.online
- megaboost.site
- nocodata.online
- onclckbnr.com
- rdr-performance-p.seccint.com
- rumorpix.com
- screencapx.co
- searchresultslist.online
- seccint.com
- secdomcheck.online
- se-p-static-content.seccint.com
- sevendata.fun
- shurkul.online
- singleview.site
- skipadsplus.online
- skip-n-watch.info
- sns-p-search-event-tracker-us-east-1-k8s.seccint.com
- somavar.com
- speechit.pro
- statsdata.online
- super-sound-booster.info
- topodat.info
- triplestat.online
- u.itonsearch.com
- video-downloader-plus.info
- websiteconf.online
- www1.softy.org
- youtube-ads-skip.site
Extension IDs
- acbcnnccgmpbkoeblinmoadogmmgodoo
- aplhgigkopkholapijailboandapfaim
- bkknccgnmpcnhppklomdjkphccmpblga
- coebfgijooginjcfgmmgiibomdcjnomi
- ekafoahfmdgaeefeeneiijbehnbocbij
- emnhnjiiloghpnekjifmoimflkdmjhgp
- fmpgmcidlaojgncjlhjkhfbjchafcfoe
- gogbiohkminacikoppmljeolgccpmlop
- gpibachbddnihfkbjcfggbejjgjdijeb
- ibbkokjdcfjakihkpihlffljabiepdag
- ieihbaicbgpebhkfebnfkdhkpdemljfb
- ihfedmikeegmkebekpjflhnlmfbafbfe
- jbdegnmcajkhjemebonejojlgkgcddhc
- jckoejjnaljgkmgblmbodoegoefofhee
- jlpchojjamcikhgmedobmfodcefjmccn
- lkalpedlpidbenfnnldoboegepndcddk
- mkoegjeakpnbjklhimnimkgokbifeaoh
- mmjhombiehngfpipefodkebphfnblphe
- nbljjljaoanknannhlonmaknhckcoldi
- nonajfcfdpeheinkafjiefpdhfalffof
- ocbfgbpocngolfigkhfehckgeihdhgll
- ojkoofedgcdebdnajjeodlooojdphnlj
- pjlheckmodimboibhpdcgkpkbpjfhooe
- pnhkolkelkfnfphohbdnboedhejlfbho
Analytics IDs
- AP1005596
- G-1N25739S3C
- G-HK0EKZZ6C4
- p7nyo0r2og
- p7o34ees4b
- UA-186408652-29
YARA
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | rule CRXfiltrate_FakeHeader_CSP_Stripping { meta: author = "7AI Security Engineering" description = "CRXfiltrate themed fake-header CSP-stripping rule fingerprint" reference = "MyColorPick and the CRXfiltrate Network - Section 3" date_published = "2026-05-13" confidence = "high; zero false positives in the 265-extension hunt corpus scanned; false-positive rate against broader CWS unmeasured" strings: // Real CSP-stripping target (must be present) $real_csp = "content-security-policy" nocase // Themed fake-header padding: any one in combination with the // real CSP-stripping rule is a strong signal $f_adblock_1 = "ad-block-enabled" nocase $f_adblock_2 = "ad-replacement-active" nocase $f_adblock_3 = "ad-script-blocking" nocase $f_dark_1 = "color-scheme-preference" nocase $f_dark_2 = "x-dark-mode-enabled" nocase $f_dark_3 = "theme-security-policy" nocase $f_manuals_1 = "guide-title" nocase $f_manuals_2 = "instruction-author" nocase $f_manuals_3 = "tutorial-published" nocase $f_snip_1 = "watermark-overlay-injection" nocase $f_snip_2 = "x-image-branding-control" nocase $f_snip_3 = "visual-watermark-protection" nocase $f_snip_4 = "x-frame-stamp-overlay" nocase $f_recit_1 = "x-webcam-protection-policy" nocase $f_recit_2 = "x-microphone-access-control" nocase $f_recit_3 = "x-screen-recording-block" nocase $f_recit_4 = "x-media-stream-restrictions" nocase condition: $real_csp and any of ($f_*) } |
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | rule CRXfiltrate_Gen2_Payload_Code_Fingerprint { meta: author = "7AI Security Engineering" description = "CRXfiltrate Generation 2 production payload (m3011.js / g105.js)" reference = "MyColorPick and the CRXfiltrate Network - Section 6" date_published = "2026-05-13" confidence = "high for any of typo, msgmark, iframe_id, init_guard; contextual for bev" strings: // Intentional double-typo: 'Don' (not Done), 'Succsess' (not Success). MVA-era m3011.js only. $typo = "resizeDonSuccsess" // Cross-frame postMessage envelope marker: random keyboard mash. g105.js (NVA v0302) only. $msgmark = "cdsafaewrwq" // Telemetry-sent guard flag. MVA-era m3011.js only. $bev = "bev_reported" // Hidden Yahoo Search iframe id. Version-durable in m3011.js (MVA v0910 and NVA v3003). $iframe_id = "privatelayer" // Double-init prevention flag. Version-durable in m3011.js (MVA v0910 and NVA v3003). $init_guard = "hasD1Already" condition: any of them } |