Аналитики Google Threat Intelligence Group (GTIG) опубликовали новые данные, свидетельствующие о том, что коммерческий вендор шпионского ПО Intellexa, несмотря на введенные ранее санкции США, не только продолжает активную деятельность, но и совершенствует свои методы. Компания, печально известная своим комплексом для наблюдения Predator, демонстрирует тревожную способность адаптироваться, обходить ограничения и оставаться одним из самых активных поставщиков цифрового оружия на глобальном рынке коммерческого слежения.
Описание
Согласно отчету, за последние несколько лет Intellexa утвердилась в качестве, возможно, самого продуктивного поставщика шпионского ПО в части эксплуатации уязвимостей нулевого дня (zero-day) в мобильных браузерах. Постоянные усилия исследователей безопасности и разработчиков платформ по поиску и устранению уязвимостей не останавливают компанию. Напротив, она неоднократно демонстрирует способность находить или разрабатывать новые эксплойты, оперативно подстраиваясь под действия защитников.
Конкретно, на долю Intellexa приходится значительная часть уязвимостей нулевого дня, обнаруженных Threat Analysis Group (TAG) Google с 2021 года. Например, из примерно 70 таких уязвимостей, задокументированных TAG, 15 уникальных связаны с деятельностью Intellexa. Речь идет об уязвимостях для удаленного выполнения кода (RCE), побега из песочницы (SBX) и повышения локальных привилегий (LPE) в продуктах Google, Apple и ARM. Все эти дыры были уже закрыты вендорами. При этом эксперты отмечают растущую тенденцию: Intellexa все чаще покупает отдельные компоненты цепочек эксплойтов у внешних entities (субъектов).
Ярким примером изощренности инструментов Intellexa стал полный цепочка эксплойтов для iOS, использованная в 2023 году против целей в Египте. Она была разработана для скрытной установки шпионского ПО Predator. Первая стадия использовала уязвимость CVE-2023-41993 в Safari. Интересно, что эксплойт применял фреймворк «JSKit», который, по мнению аналитиков Google, Intellexa приобрела на стороне. Этот же фреймворк ранее использовался другими вендорами слежки и государственными хакерами, например, из России в 2024 году.
Фреймворк JSKit отличается высокой степенью проработки. Он поддерживает широкий спектр версий iOS, модулен и включает различные техники обхода защиты (PAC bypass). Более того, он способен загружать и исполнять бинарные файлы Mach-O прямо из памяти устройства. Внутренние отладочные строки, такие как «exploit number 7», позволяют предположить, что поставщик обладает обширным портфелем iOS-эксплойтов.
Следующие стадии цепочки отвечали за побег из песочницы Safari и получение системных привилегий через уязвимости в ядре. Финальный захваченный модуль, отслеживаемый как PREYHUNTER, состоял из двух частей: «watcher» (наблюдатель) и «helper» (помощник). Модуль watcher выполнял функцию проверки окружения, ища признаки анализа, такие как включенный режим разработчика, наличие инструментов вроде Frida или антивирусов, и даже географическую локацию (например, США или Израиль). При обнаружении подозрительной активности процесс заражения прерывался.
Модуль helper, в свою очередь, предоставлял оператору базовые шпионские возможности: запись VoIP-разговоров, ведение кейлоггера (перехват нажатий клавиш) и тайное фотографирование с камеры. Аналитики полагают, что эти функции служат для верификации цели перед развертыванием полноценного тяжелого шпионского ПО.
Основным каналом доставки эксплойтов Intellexa по-прежнему остаются одноразовые ссылки в мессенджерах с шифрованием. Однако с начала 2025 года компания активно экспериментирует с новой тактикой - использованием malicious (вредоносной) рекламы на сторонних платформах. Через такие объявления происходит «отпечатывание» пользователей и перенаправление выбранных целей на серверы доставки эксплойтов. Партнеры Google по экосистеме уже идентифицировали и заблокировали счета подставных компаний, созданных Intellexa для проникновения в рекламные сети.
В ответ на масштабную угрозу Google предприняла беспрецедентный шаг, одновременно отправив предупреждения о государственно-поддерживаемых атаках всем известным целевым аккаунтам, атакованным клиентами Intellexa с 2023 года. Речь идет о нескольких сотнях аккаунтов в разных странах, включая Пакистан, Казахстан, Анголу, Египет, Узбекистан, Саудовскую Аравию и Таджикистан. Эта мера призвана повысить осведомленность потенциальных жертв.
Компания также добавила все выявленные связанные домены и сайты в систему Safe Browsing для защиты пользователей. Эксперты настоятельно рекомендуют частным пользователям и организациям оперативно устанавливать все обновления безопасности, чтобы минимизировать риски. Google продолжит работу по обнаружению, анализу и предотвращению эксплуатации уязвимостей нулевого дня, оперативно сообщая о находках вендорам. Данное исследование публикуется в рамках политики раскрытия информации и в контексте участия Google в международных инициативах, таких как Pall Mall Process, направленных на выработку норм, ограничивающих вред от индустрии шпионского ПО.
Индикаторы компрометации
SHA256
- 85d8f504cadb55851a393a13a026f1833ed6db32cb07882415e029e709ae0750
- e3314bcd085bd547d9b977351ab72a8b83093c47a73eb5502db4b98e0db42cac
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 | rule G_Hunting_PREYHUNTER_IOSStrings_1 { meta: author = "Google Threat Intelligence Group (GTIG)" strings: $ = "/Users/gitlab_ci_2/builds/jb" $ = "/roe/ios1" $ = "-production/libs/Exploit" ascii wide $ = "/private/var/tmp/l/voip_%lu_%u_PART.m4a" ascii wide $ = "/private/var/tmp/etherium.txt" ascii wide $ = "/private/var/tmp/kusama.txt" ascii wide $ = "_gadget_pacia" ascii wide $ = "ZN6Helper4Voip10setupHooksEvE3$_3" ascii wide $ = "Hook 1 triggered! location:" ascii wide $ = "KernelReaderI11CorelliumRWE" ascii wide $ = "NSTaskROP20WithoutDeveloperMode" ascii wide $ = "UMHookerI14RemoteTaskPort" ascii wide $ = "com.elanbenami.EnneaApp" ascii wide $ = "callFunc: building PAC cache for" ascii wide $ = "select tset FROM tsettings WHERE INSTR(tset, ?)" ascii wide $ = "select * from tsettings WHERE length(sha256) > ?" ascii wide $ = "isTrojanThreadERK" ascii wide $ = "getpid from victim returned:" ascii wide $ = "victim task kaddr:" ascii wide condition: 1 of them } |