The Jerusalem PostUS military has lost 81 aircraft in Iran war according to Congressional reportRTP DesportoI Liga. Académico de Viseu-EstorilPunchTrump says Ukraine needs new president, blames Zelenskyy for diesel pricesESPN DeportesNo extrañan a Raphinha: Barcelona golea al Getafe y sigue con paso perfectoESPNFollow live: USWNT, Spain go head-to-head in friendlyBBC SportWatch Sportscene highlights of Saturday's Premiership actionZDF heuteAktuelle Pressemitteilungen des ZDFBBC MundoTrump dice que "es hora de que Ucrania tenga un nuevo presidente", tras las críticas de Zelensky al acuerdo sobre el diésel entre EE.UU. y RusiaNOSTot zeker zondagavond geen treinen tussen Rotterdam en Delft na brandstichtingColliderNetflix's 'East of Eden' Adaptation Is Even Better When It Goes Beyond the Book7sur7Evenepoel: “J’ai du mal à retrouver ma meilleure forme depuis le Tour de France”Rai NewsTrump: “Kiev trovi un nuovo leader che faccia un accordo”. Strage a Zaporizhzhia: 20 morti
The Daily Newsstand · Free, Always
Saturday, October 10, 2026

DarkSword «P7»: утёкшая iOS-цепочка уровня госзаказчика теперь крадёт данные криптокошельков

Translate

Одно посещение веб-страницы с iPhone на iOS 18.4–18.7 — и через несколько секунд в SpringBoard работает имплант, который расшифровывает связку ключей прямо на устройстве, находит seed-фразы и keystore криптокошельков и отправляет их на сервер. Ещё год назад так выглядела операция, доступная единицам заказчиков. По нашей оценке, сегодня эта цепочка работает внутри сервиса доставки эксплойтов с партнёрскими «каналами», а приманками служат сайты китайских онлайн-казино.

8 октября iVerify описала криминальный вариант эксплойт-цепочки DarkSword, который назвала «P7». Мы разобрали его по открытым данным и нашли то, чего в публикации нет: третью сборку P7 с новой приманкой и новым командным сервером, побайтовое сравнение импланта с оригинальным GHOSTBLADE и кластер доставки «qqtime», работающий как минимум с июля 2026 года. Заодно пришлось исправить ошибку атрибуции, которая кочевала по ранним публикациям о мартовской кампании TA446.

## Что такое DarkSword и как он утёк

DarkSword — полная эксплойт-цепочка для iOS, написанная на JavaScript. В марте 2026 года Google Threat Intelligence Group (GTIG) описала её в отчёте «The Proliferation of DarkSword». Цепочка использует шесть уязвимостей, три из которых на момент использования были zero-day:

CVE

Компонент

Роль в цепочке

CVE-2025-31277, CVE-2025-43529

JavaScriptCore

RCE в браузере (iOS ниже и выше 18.6)

CVE-2026-20700

dyld

Обход PAC

CVE-2025-14174

ANGLE

Из WebContent в GPU-процесс

CVE-2025-43510

XNU

Из GPU-процесса в mediaplaybackd

CVE-2025-43520

XNU VFS (гонка)

Повышение привилегий до ядра

Apple закрыла их в iOS 18.7.2, 18.7.3, 26.1, 26.2 и 26.3.

До утечки у GTIG было три известных пользователя цепочки: UNC6748 (Саудовская Аравия, ноябрь 2025, бэкдор GHOSTKNIFE), PARS Defense, которую GTIG характеризует как турецкого поставщика средств коммерческой слежки (бэкдор GHOSTSABER) и UNC6353 — предположительно российская шпионская группа, которая атаковала украинские сайты по схеме watering hole сначала с Coruna, а с декабря 2025 года с DarkSword и имплантом-сборщиком данных GHOSTBLADE. По оценке GTIG, GHOSTBLADE, вероятно, написали сами разработчики DarkSword. Кто они — публично не установлено.

22 марта 2026 года полная сборка (кит UNC6353 вместе с GHOSTBLADE) оказалась в открытом доступе. Через несколько дней её уже переиспользовали другие: в том числе российская группа TA446 / Star Blizzard против гражданского общества. К сентябрю iVerify насчитала около 17 000 доменов со вторым поколением DarkSword и Coruna и ввела термин «DarkCoruna» для развёртываний, совмещающих обе цепочки: Coruna закрывает iOS 13–17.2.1, DarkSword — 18.x.

Что iVerify назвала P7

В посте «Sleep, Beacon, Steal, Repeat» от 8 октября iVerify описывает P7 по заражённому устройству клиента. Имплант живёт в SpringBoard, каждые 15 секунд по HTTP/1.0 стучится на /beacon, принимает команду sleep, отправляет данные на /result, /a, /event, /u, /nb, /p и /war, использует жёстко заданную строку User-Agent для iOS 18.5 и фиксированный разделитель multipart, а связку ключей разбирает в JSON прямо на устройстве. Префикс p7_ в коде агента дал варианту имя.

iVerify опубликовала хеши десяти компонентов P7. На момент нашего анализа на VirusTotal были только два из них, а сам агент — нигде.

Как мы работали: только пассивные источники

Принципиальное ограничение этого расследования: мы не обращались ни к одному хосту атакующих. Всё получено из того, что уже лежит в открытом доступе:

  • urlscan.io — публичные сканы страниц-приманок. urlscan хранит тела ответов, и их можно достать по хешу. Восстановленные файлы мы сверяли с хешами независимого краулера там, где они были.

  • tria.ge — публичная песочница; 3 октября туда кто-то загрузил архив с полным китом DarkSword.

  • MWDB CERT Polska — образец GHOSTBLADE, опубликованный GTIG, и сентябрьский кит DarkSword из фида MalwareBazaar как эталоны для сравнения.

  • VirusTotal, Hybrid Analysis, AlienVault OTX, Validin — только метаданные: даты первого появления, пассивный DNS, данные WHOIS и нечёткие хеши. Никаких файлов мы никуда не загружали.

Код анализировался статически, офлайн, без исполнения JavaScript в каком-либо рантайме на базе WebKit или JavaScriptCore.

Находка 1: третья сборка P7

Архив test.zip (SHA-256 ef9263b1…, 437 КБ), загруженный в tria.ge 3 октября 2026 года, содержит полное развёртывание DarkSword с файлами от 29 сентября.

Файл

Размер

Назначение

index.html

51 385 Б

Приманка: китайское онлайн-казино «通博娱乐 – www.iospc8[.]com», ссылки на ub555[.]net / ub11[.]org (бренд «казино-браузера»)

jmp.html

2 215 Б

Стартовая страница: пять скрытых iframe с интервалом 1,5 с, блокировки в sessionStorage (rce_locked, uid), автоперезапуск через 45 с

0kio7x2igj0bp79owd.html

836 Б

Сторож: перезагружает страницу, если эксплойт завис

rce_loader.js

7 318 Б

Выбор стадии в стиле утёкшего кита, но с включённой телеметрией (SERVER_LOG = true, /log.html) и редиректом на /406.html для неподходящих устройств

rce_module.js

173 079 Б

RCE-модуль CVE-2025-31277, SHA-256 92c7d246… — не менялся со сборок UNC6353, TA446 и утёкшего оригинала

rce_worker_18.4.js / 18.6.js

45 КБ / 520 КБ

Воркеры для iOS 18.4–18.5 и 18.6–18.7

sbx0_main_18.4.js / sbx1_main.js

400 КБ / 310 КБ

Выход из песочницы

pe_main.js

793 879 Б

Эксплойт ядра + бандл импланта. На 15 КБ больше утёкшего оригинала — здесь и живёт P7

Домен приманки iospc8[.]com зарегистрирован 23 сентября 2026 года (GoDaddy, DNS Cloudflare) — за шесть дней до сборки кита. По регистрационным и DNS-данным, командный сервер www.y21t8bcya6q9b7155a[.]cc зарегистрирован 25 мая 2026 года через Gname.com, страной регистранта указан Китай; домен работает за Cloudflare, а до переезда за CDN кратковременно разрешался в адрес Alibaba Cloud в Гонконге. Провайдеры здесь упомянуты только как элементы инфраструктуры. Ни одного из этих доменов нет в индикаторах iVerify.

Шапка агента откровенна: «C2 Agent Payload – persistent loop in SpringBoard. Communicates with command.py via HTTP … replaced by server.py at load time». Судя по этому комментарию, серверная часть — Python-приложение, которое при выдаче подставляет URL командного сервера в имплант. Ещё интереснее константа C2_CHANNEL_CODE: она уходит полем source в каждой регистрации, heartbeat и инвентаризации. Код канала — это то, чем партнёрские программы считают трафик. Его наличие означает, что кит обслуживает нескольких распространителей, а не одного конечного пользователя. Тот же механизм мы потом нашли в цепочке доставки.

Находка 2: что P7 на самом деле меняет

Помодульное сравнение с GHOSTBLADE

pe_main.js — webpack-бандл. Помимо эксплойт-библиотеки в нём строками зашиты четыре полезные нагрузки: loader.js, c2_agent.js, keychain_copier.js и MigFilterBypassThread.js. Мы извлекли их и сравнили с соответствующими модулями образца GHOSTBLADE, опубликованного GTIG (SHA-256 2e5a56be…).

Модуль

GHOSTBLADE

P7, сборка 3

Вердикт

loader.js

10 096 Б

10 096 Б

Побайтово идентичен. «P7 loader» из публичных списков хешей — это оригинальный загрузчик GHOSTBLADE; отсюда ноль детектов на VirusTotal

MigFilterBypassThread.js

3 797 строк

3 797 строк

Код идентичен, отличается только форматирование закрывающих скобок в конце

keychain_copier.js

350 строк

360 строк

Версия GHOSTBLADE плюс WAL/SHM-файлы keychain-2.db и база Apple Notes

file_downloader.js → c2_agent.js

3 740 строк, одноразовый эксфил на sqwas.shapelie[.]com с X-Device-UUID

4 756 строк

Переписан. Общий только класс-хелпер Native (2,5 % совпадающих строк). Сборщики Telegram, WhatsApp, iCloud, Wi-Fi и SMS убраны

wifi_password_dump.js, wifi_password_securityd.js, icloud_dumper.js

есть

нет

Удалены — а вместе с ними все строки YARA-правила GTIG G_Datamine_GHOSTBLADE_1

Иначе говоря, авторы P7 не трогали самую сложную часть DarkSword — библиотеку удалённых вызовов TaskRop и обход MIG-фильтра — и заменили бизнес-логику. Это значит, что «новый» имплант большей частью состоит из байтов утёкшего.

Командный агент

c2_agent.js внедряется в SpringBoard и работает до перезагрузки. Он регистрирует устройство (/a), затем в цикле раз в 15 секунд отправляет beacon {uuid, device_info, status: "idle"}, выполняет полученную команду и отправляет результат на /result с идентификаторами команды и задачи. Транспорт — HTTP/1.0 через CFStream с kCFStreamSSLValidatesCertificateChain = false, то есть принимается любой сертификат.

Обработчики: basic_info, disk_scan, ios_app_data, wallet_extract, wallet_scan, memo_scan, photo_scan, photos, apps, download, upload, file_upload, exec, eval, execute_command, sleep, exit. Один только execute_command реализует около пятидесяти shell-подобных подкоманд (ls, cat, find, grep, ps, netstat, ifconfig, hexdump, memdump, httpspy и другие) — интерактивный доступ к устройству без настоящего шелла.

Нацеленность на кошельки прямая. Агент находит контейнеры приложений по bundle ID для imToken, TokenPocket, Trust Wallet, Bitget / BitKeep, Phantom, Solflare, Uniswap, Tonhub, Bitpie и TronLink, читает базы React Native AsyncStorage, а для imToken расшифровывает Ethereum keystore v3 прямо на устройстве (PBKDF2, AES-CTR, HMAC-SHA256 реализованы на JavaScript) паролем, найденным в расшифрованной связке ключей. Результат вместе с дампом keychain уходит на /war.

«P7 Phase 2»: AppleKeyStore как оракул

По-настоящему новая инженерия — не в агенте, а в самом pe_main.js, в блоке, который авторы подписали «P7 Phase 2: V4 Local SQLite + Remote AKS Oracle Pipeline».

После эксплойта ядра pe_main.js внедряет keychain_copier.js в configd (тот копирует keychain-2.db и keybag’и в /tmp), а loader.js и c2_agent.js — в SpringBoard. Дальше:

  1. «будит» securityd тремя вызовами SecItemCopyMatching;

  2. поднимает канал удалённых вызовов в securityd;

  3. из контекста securityd открывает IOKit-сервис AppleKeyStore;

  4. использует aks_unwrap как оракул, чтобы развернуть ключи классов для элементов из локальной копии базы keychain;

  5. пишет расшифрованные элементы в /private/var/tmp/keychain_c2_dump.json, затем четырёхбайтный маркер .done, который агент опрашивает до 180 секунд, прежде чем собрать пакет кошельков.

GHOSTBLADE лишь копировал файлы связки ключей на сервер. P7 расшифровывает её на устройстве, поэтому эксфильтрация может быть маленькой, точечной и сразу пригодной к использованию. Это и есть «разбор keychain в JSON на устройстве» из поста iVerify.

У этой фазы свой журнал — /private/var/tmp/p7_debug.log, который пишется через буферизованную обёртку над fopen/fwrite; ветка кошельков в агенте пишет /private/var/tmp/c2_wallet_debug.log. Утверждение iVerify, что в P7 убрано отладочное логирование, относится только к HTTP- и syslog-логам. Файловое логирование оставлено намеренно — и это надёжный форензик-артефакт.

Находка 3: кластер доставки «qqtime»

Живая цепочка из архива urlscan

Сайт cryptonewstrack[.]com, оформленный как криптоновостной ресурс, публично сканировался на urlscan.io 17 июля, 5 и 15 сентября 2026 года. Сентябрьские сканы захватили всю цепочку доставки P7, кроме финальной стадии, которая отдаётся только user agent с iOS 18. Мы достали тела ответов из хранилища urlscan; SHA-1 восстановленного group.html совпал с хешем тела, независимо записанным краулером Validin 19 сентября.

Цепочка:

  1. Страница грузит hxxps://oss.gotoiphone[.]com/alicdn/a5a62a47e2914d88ab7b34b2ebea8b25.js (2 660 Б) из Alibaba Object Storage.

  2. Скрипт создаёт скрытый iframe 1×1 на hxxps://cdn.gotoiphone[.]com/group.html и каждые пять секунд отправляет публичный IP посетителя, версию ОС и URL страницы на hxxps://goo[.]wang/alicdn/a5a62a47…/visit. goo[.]wang резолвится в тот же адрес Alibaba Cloud, что и js.gotoiphone[.]com — командный сервер P7 из отчёта iVerify. Телеметрия посетителей и C2 живут на одном хосте.

  3. group.html (с комментариями на китайском) грузит loader.js для всех посетителей, а если в user agent есть «18» — ещё и rce_loader.js, точку входа DarkSword. Страница перезагружается каждые 120 секунд.

  4. loader.js (47 605 Б) — не DarkSword. Это обфусцированный загрузчик Coruna: таблица модулей с ключами SHA-1, модули догружаются по имени вида SHA-256(соль + имя), соль cecd08aa6ff548c2, пороги версии iOS 13.0 и 16.0, коды результата 1000/1001/1003.

Значит, cdn.gotoiphone[.]com — это DarkCoruna: Coruna для iOS 13–17.2.1 и DarkSword для 18.x с одного iframe. В посте iVerify про P7 половина с Coruna не упоминается.

Тот же загрузчик с июля

Загрузчик Coruna достаточно характерен, чтобы использовать его признаки для поиска связанной инфраструктуры. Поиск в urlscan по заголовку страницы, имени файла и соли дал ту же сборку — те же имена функций, таблица модулей, соль и константы — ещё на пяти хостах:

Впервые замечен

Хост / путь

Что там

2026-07-16

iphone.apiforx[.]work/qqtime/qqtime.html; 1x8gmjbdq3tepgr[.]icu/

Загрузчик 34ef644f….js, отчёт на 1x8gmjbdq3tepgr[.]icu/api

2026-07-17

cryptonewstrack[.]com/qqtime/34ef644f….js

Загрузчик лежит прямо на сайте-приманке, отчёт на ipsadminuser[.]shop/api

2026-07-31

1.aivestorix[.]com/qqtime/qqtime.html

Тот же файл, что на cryptonewstrack

2026-08-04

billowing-truth-804c.pages[.]dev/1df7afe3…/foxtimes + routers.js

Первое появление ветки DarkSword

2026-09-05 → 2026-10-03

cdn.gotoiphone[.]com

group.html → Coruna + rce_loader.js; с 28 сентября индекс снова называется «qqtime» и ссылается на routers.js

Имя проекта у оператора видно невооружённым глазом: «qqtime» в путях и <title>; одно развёртывание называется «foxtimes».

routers.js (883 Б) читается без деобфускации. Он разбирает версию iOS из user agent и при версии 18.4 и выше грузит ds_rce_loader.js (DarkSword), иначе — загрузчик Coruna с параметром ?channelcode=1df7afe33d3bf512f124136cf405f57a. Значение channelcode совпадает с именем каталога развёртывания: каждый распространитель получает свой путь. Это тот же механизм, что C2_CHANNEL_CODE в агенте третьей сборки P7.

Домен gotoiphone[.]com спал с 2020 года и был перерегистрирован 28 июля 2026 года через Dominet (HK) с DNS Alibaba; поддомен доставки переехал на Alibaba OSS 5 сентября. Ни один из этих хостов — как и cryptonewstrack[.]com, ipsadminuser[.]shop и goo[.]wang — не входит в списки индикаторов iVerify и GTIG, и ни одного из восстановленных файлов нет на VirusTotal.

Установить, был ли cryptonewstrack[.]com взломан или контролировался оператором, не удалось. В рамках этого расследования его следует рассматривать как сайт-приманку, а не как подтверждённый C2, и не блокировать как инфраструктуру управления.

Общая серверная часть?

Корневая страница mzpo30[.]cam — второго хоста доставки P7 по iVerify — отдаёт 49-байтную заглушку <p>.</p> с Server: openresty, Cache-Control: no-cache, no-store и Access-Control-Allow-Origin: * за CloudFront. Корень nuih22[.]cc — DarkSword-хоста, на который в приложении iVerify указывают 14 разных приманок, — отдаёт идентичное тело и заголовки за Cloudflare, и оба используют путь /assets/js/group.html. 49-байтная заглушка — слабый отпечаток, поэтому общий оператор или общий серверный шаблон кита мы оцениваем лишь как вероятный, со средней уверенностью.

Почему блокировка по хешам не работает

Из 185 хешей в приложении iVerify к DarkSword на VirusTotal есть только 38 (21 %); на MalwareBazaar — ни одного по тегу, на Hybrid Analysis — ни одного. Шесть из 38 найденных имеют ноль детектов. Кит пересобирается под каждый хост, публичные хеш-листы отстают на месяцы. Неизменным с марта остался только rce_module.js.

Картина по экосистеме это подтверждает. В приложении iVerify 229 пар «приманка — бэкенд»; имена — pinyin-салат вокруг китайских брендов, казино-домены cgwin*, крипта и фейковые «iOS-сервисы». 94 приманки (41 %) грузят кит с одного хоста, cf.r5dz2dz88wuideu[.]xyz, ещё 14 — с nuih22[.]cc. Около половины «17 000 доменов» — одноразовые сайты-приманки для одного-двух общих серверов доставки. Это платформа, а не толпа.

Обнаружение следует строить по артефактам, сетевому поведению и строкам кода — ниже.

Атрибуция

Со средней уверенностью мы оцениваем, что P7 и кластер qqtime — работа китайскоязычной финансово мотивированной группы, которая держит сервис доставки эксплойтов для нескольких распространителей. Основания: приманки казино и крипты для китайскоязычной аудитории; функциональность импланта сосредоточена на краже seed-фраз и связки ключей; коды каналов и в загрузчике, и в импланте; телеметрия посетителей, характерная для брокеров трафика; китайские комментарии в страницах доставки; одноразовые домены, зарегистрированные через Gname и GoDaddy и использующие сервисы Cloudflare, CloudFront и Alibaba; признаков причастности этих компаний к операции нет.

Признаков участия государства в P7 мы не видим. Тезис «вредонос под iOS редок, значит, за ним государство» после утечек Coruna и DarkSword больше не работает: полные iOS-цепочки стали товаром, и iVerify фиксирует следы заражения на 5 % устройств, оставшихся на уязвимых версиях. Инструментом государственного уровня здесь является только сама эксплойт-цепочка — до утечки ею пользовались три заказчика шпионского профиля. Её исходный разработчик публично не установлен. P7 построен поверх утечки, поэтому связь его авторов с разработчиками DarkSword этим анализом не подтверждается и не опровергается.

Поправка к ранним публикациям о кампании TA446

В ряде мартовских публикаций о кампании TA446 static.cdncounter[.]net и sqwas.shapelie[.]com описывались как «исходная инфраструктура DarkSword (UNC6748)». По данным GTIG это инфраструктура UNC6353: sqwas.shapelie[.]com — сервер эксфильтрации GHOSTBLADE. UNC6748 — другой кластер (Саудовская Аравия, GHOSTKNIFE). TA446 переиспользовал утёкший кит UNC6353 вместе с его сервером эксфильтрации как есть; это две разные группы, связь между ними — через утечку, а не операционная. Кроме того, GHOSTBLADE — обозначение GTIG, а не Proofpoint, как иногда указывалось.

Детектирование

Артефакты на устройстве

Пути живут до перезагрузки или очистки и видны в sysdiagnose или образе файловой системы:

Путь

Кто пишет

Содержимое

/private/var/tmp/keychain_c2_dump.json (.tmp, .done)

pe_main.js, Phase 2

Расшифрованные элементы keychain в JSON; маркер готовности

/private/var/tmp/p7_debug.log

pe_main.js, Phase 2

Журнал конвейера расшифровки

/private/var/tmp/c2_wallet_debug.log

c2_agent.js

Трасса упаковки кошельков («[WALLET-HQ]»)

/private/var/tmp/imtoken_keychain.json

c2_agent.js

Результат извлечения keystore imToken

/private/var/tmp/_hq_notestore (-wal, -shm); /private/var/tmp/notes.sqlite*

c2_agent.js; keychain_copier.js

Копии базы Apple Notes

/private/var/tmp/keychain-2.db*, persona.kb, usersession.kb, System.keybag, Backup.keybag

keychain_copier.js

База keychain и keybag’и (наследие GHOSTBLADE)

/var/mobile/Library/Caches/ios_disk_scan.txt; /var/mobile/ios_disk_scan.txt

c2_agent.js

Вывод disk_scan (выгружается частями, затем удаляется)

В браузере после атаки остаются ключи localStorage, по которым видно, какое развёртывание посетило устройство: lab_device_uuid, __ds_inflight_worker, __ds_skip_workers (сборка gotoiphone) и _x_pe_done, _x_try, _x_ok (сборка mzpo30).

Сеть

  • HTTP/1.0 POST с iPhone на /beacon каждые 15 секунд, а также на /a, /event, /u, /nb, /p, /war того же хоста; multipart boundary ------HqBound; JSON-поля lhu, source (32-символьный hex — код канала), channel_code.

  • TLS-сессии из кода в контексте SpringBoard без проверки цепочки сертификатов к свежим доменам .cc / .cam / .lol за Cloudflare.

  • На стороне веба: скрытые iframe на */group.html, скрипты rce_loader.js, ds_rce_loader.js, routers.js, запросы на */api с параметром channelcode, периодические POST с visitorIp / deviceVersion / sourceUrl.

Домены ротируются еженедельно, а протокол за три сборки не изменился — оповещения стоит настраивать по шаблону поведения, а не по спискам доменов.

YARA

Правило GTIG G_Hunting_DarkSwordExploitChain_ImplantLib_FilePaths_1 срабатывает на бандл pe_main.js P7 (webpack-пути в нём сохранились), но не на извлечённый агент. G_Datamine_GHOSTBLADE_1 на P7 не срабатывает вообще. Мы подготовили два черновых правила для поиска угроз (проверены на одной сборке P7, ноль ложных срабатываний на GHOSTBLADE, сентябрьском ките и страницах доставки; перед блокирующим режимом — перепроверить на других сборках):

  • P7_DarkSword_C2Agent_Strings — строки p7_ (более 20 вхождений), ------HqBound, /beacon, /war, /nb, keychain_c2_dump, p7_debug.log, c2_wallet_debug.log, _hq_notestore, ios_disk_scan.txt, wallet_scan, memo_scan, execute_command, disk_scan, iPhone OS 18_5 like Mac OS X.

  • P7_DarkSword_LocalStorage_Markers (страницы доставки) — lab_device_uuid, __ds_inflight_worker, __ds_skip_workers, _x_pe_done, cecd08aa6ff548c2, obChTK, ds_rce_loader.js, 34ef644ff217a50beadde64dc8e23a7d.

Полный текст правил приведён в машиночитаемом приложении к этому материалу.

Индикаторы компрометации (выборка)

Помеченные «iVerify» повторены из публикации вендора для полноты.

Тип

Значение

Роль

Домен

www.y21t8bcya6q9b7155a[.]cc

C2 P7, сборка 3

Домен

iospc8[.]com

Приманка P7, сборка 3 (казино)

Домен

agdx53[.]cc

C2 P7 (iVerify)

Домен

js.gotoiphone[.]com

C2 P7 (iVerify)

Домен

cdn.gotoiphone[.]com

Доставка DarkCoruna (iVerify)

Домен

mzpo30[.]cam

Доставка P7 (iVerify)

Домен

oss.gotoiphone[.]com

Хост инжектора

Домен

goo[.]wang

Телеметрия посетителей

Домен

ipsadminuser[.]shop, 1x8gmjbdq3tepgr[.]icu

Приём отчётов загрузчика Coruna

Домен

iphone.apiforx[.]work, 1.aivestorix[.]com

Хосты загрузчика Coruna (qqtime)

Домен

billowing-truth-804c.pages[.]dev

Роутер DarkCoruna («foxtimes»)

URL

hxxps://www.y21t8bcya6q9b7155a[.]cc/war

Эксфильтрация keychain и кошельков

URL

hxxps://oss.gotoiphone[.]com/alicdn/a5a62a47e2914d88ab7b34b2ebea8b25.js

Инжектор

URL

hxxps://goo[.]wang/alicdn/a5a62a47e2914d88ab7b34b2ebea8b25/visit

Телеметрия

IP

47[.]237[.]185[.]24

Alibaba Cloud: gotoiphone[.]com, js.gotoiphone[.]com, goo[.]wang (контекст)

SHA-256

ef9263b1a74e80d55331763335847017efba9018401b037c66729b265c255bb7

test.zip, кит сборки 3

SHA-256

57c3997642882815e02bcc50b60a63292dc3f5ed0337f2dd0c9c93b34a423a08

pe_main.js, сборка 3

SHA-256

38975537d2c66815484a1adb01b681bffa96168cd6e9474e24815ad4a4796127

c2_agent.js, сборка 3

SHA-256

d554f534fad7822cbde9ca7d9f6efe8a7e0f5786ccee60f8db6dad340a2a6f80

loader.js = загрузчик GHOSTBLADE

SHA-256

20c49dd361181210fade5de43e1c8c4c59485b4f565007b4ca3552b71c7683be

Загрузчик Coruna, cdn.gotoiphone

SHA-256

2eb359647852ae87e4a4de7adc741abb2889896bf9bda476c647fb075ffb967e

routers.js, pages[.]dev

Строка

f94ed1edc290119993125d85c1106796

Код канала P7, сборка 3

Строка

1df7afe33d3bf512f124136cf405f57a

channelcode qqtime (pages[.]dev)

Строка

cecd08aa6ff548c2

Соль загрузчика Coruna во всех сборках qqtime

Адрес 47[.]79[.]48[.]200 — общий эндпоинт Alibaba OSS, через него работают десятки посторонних доменов. Его блокировать нельзя; cryptonewstrack[.]com — приманка неустановленного статуса, не C2.

Выводы и рекомендации

  1. Обновляйтесь. Как минимум до iOS 18.7.3, а в ветке iOS 26 — до 26.3 или новее: именно 26.3 закрывает последнюю из шести уязвимостей. Устройства на iOS 13–17.2.1 уязвимы для Coruna-половины страницы DarkCoruna, устройства на iOS 18.4–18.7.2 — для DarkSword-половины.

  2. Lockdown Mode для пользователей с высоким риском: он закрывает точки входа в JavaScriptCore, которые используют обе цепочки.

  3. Хантинг на управляемых устройствах по путям из таблицы артефактов и ключам localStorage. Достаточно sysdiagnose.

  4. В сети оповещать по шаблону HTTP/1.0 beacon и boundary ------HqBound, а не на списки доменов.

  5. Хеш-фиды по этому семейству — низкой ценности: каждое развёртывание приносит уникальные файлы эксплойта.

  6. Владельцам криптокошельков на iPhone: если устройство заходило на подобные страницы, считайте скомпрометированными все seed-фразы и keystore в imToken, TokenPocket, Trust Wallet, Bitget, Phantom, Solflare, Uniswap, Tonhub, Bitpie и TronLink. Переводите средства с чистого устройства.

Главный вывод шире P7: цепочка, которая полгода назад была инструментом трёх заказчиков шпионского профиля, теперь — модуль партнёрской программы с кодами каналов и казино-приманками. Логика «мы не цель для государства, нас это не касается» для iPhone больше не работает.

View the original on Хабр →

KioskNews shows a cleaned-up reading view extracted from the publisher’s page — the original always lives on their site, not ours.