В процессе мониторинга собственной корпоративной Wi-Fi сети с помощью SIEM-системы KUMA, эксперты «Лаборатории Касперского» обнаружили подозрительную активность нескольких iOS-устройств.
Поскольку из-за закрытости операционной системы невозможно провести её полноценное исследование на предмет заражения на самом устройстве, был проведён анализ их резервных копий с помощью Mobile Verification Toolkit’s mvt-ios. В результате, были обнаружены следы компрометации устройств ранее неизвестной вредоносной программой.
Мы назвали эту вредоносную кампанию «Операция Триангуляция» (Operation Triangulation). Всю имеющуюся о ней информацию мы будем постепенно собирать на тематической странице. Также мы призываем всех присоединиться к исследованию и выделили для контактов специальный адрес: triangulation[at]kaspersky.com.
Анализ последовательностей событий заражённых устройств позволил нам выделить события, специфичные для момента компрометации.
Дальнейшее исследование позволило восстановить следующую картину заражения:
Анализ вредоносной платформы продолжается. Уже известно, что она выполняется с привилегиями суперпользователя, реализует набор команд для сбора информации о пользователе и системе, а также позволяет исполнять произвольный код в виде плагинов, переданных с сервера управления.
Для того, чтобы создать резервную копию с помощью idevicebackup2, необходимо выполнить следующую команду:
idevicebackup2 backup --full $backup_directory
В процессе создания копии на устройстве понадобится несколько раз ввести pin-код, а само копирование может занять несколько часов — в зависимости от количества пользовательских данных.
pip install mvt
Более подробная инструкция по установке доступна в официальной документации к утилите.
Для дальнейшей работы с ней, нужно выполнить следующую команду для расшифровки данных:
mvt-ios decrypt-backup -d $decrypted_backup_directory $backup_directory
Обработка резервной копии с помощью MVT
mvt-ios check-backup -o $mvt_output_directory $decrypted_backup_directory
После выполнения данной команды MVT, в папке, указанной в качестве «mvt_output_directory» появится несколько файлов формата JSON и CSV. Описанная в данном блоге методология подразумевает анализ содержимого файла timeline.csv.
Последовательность можно восстановить из журналов netflow, совмещённых с данными запросов DNS/TLS, или из записи сетевого трафика:

Сетевая активность во время эксплуатации, дамп Wireshark
Вложение iMessage, содержащее эксплойт, зашифровано и загружается по протоколу HTTPS, единственной косвенной характеристикой является его размер — около 242 Кб.

Зашифрованное вложение iMessage, дамп Wireshark
addatamarket[.]net
backuprabbit[.]com
businessvideonews[.]com
cloudsponcer[.]com
datamarketplace[.]net
mobilegamerstats[.]com
snoweeanalytics[.]com
tagclick-cdn[.]com
topographyupdates[.]com
unlimitedteacup[.]com
virtuallaughing[.]com
web-trackers[.]com
growthtransport[.]com
anstv[.]net
ans7tv[.]net
Источник
Поскольку из-за закрытости операционной системы невозможно провести её полноценное исследование на предмет заражения на самом устройстве, был проведён анализ их резервных копий с помощью Mobile Verification Toolkit’s mvt-ios. В результате, были обнаружены следы компрометации устройств ранее неизвестной вредоносной программой.
Мы назвали эту вредоносную кампанию «Операция Триангуляция» (Operation Triangulation). Всю имеющуюся о ней информацию мы будем постепенно собирать на тематической странице. Также мы призываем всех присоединиться к исследованию и выделили для контактов специальный адрес: triangulation[at]kaspersky.com.
Что известно на данный момент
Резервная копия iTunes содержит часть файловой системы устройства, включая данные пользователя и служебные базы данных. Используя временные метки файлов, папок, и некоторых записей баз данных, можно восстановить примерную последовательность событий, происходящих на устройстве. Утилита mvt-ios сохраняет эту последовательность в файл «timeline.csv», напоминающий по формату super-timeline, который часто используют для исследования файловых систем обычных компьютеров.Анализ последовательностей событий заражённых устройств позволил нам выделить события, специфичные для момента компрометации.
Дальнейшее исследование позволило восстановить следующую картину заражения:
- Заражаемое iOS-устройство получает сообщение iMessage со специальным вложением, содержащим эксплойт
- Без какого-либо взаимодействия с пользователем, эксплойт из сообщения вызывает выполнение вредоносного кода
- Указанный код соединяется с сервером управления и приводит к последовательной загрузке нескольких «ступеней» вредоносной программы, включая дополнительные эксплойты для повышения привилегий
- После успешной отработки всех вредоносных компонентов, загружается конечная вредоносная нагрузка – полноценная APT-платформа
- Сообщение и вложение с эксплойтом удаляются в процессе заражения
Анализ вредоносной платформы продолжается. Уже известно, что она выполняется с привилегиями суперпользователя, реализует набор команд для сбора информации о пользователе и системе, а также позволяет исполнять произвольный код в виде плагинов, переданных с сервера управления.
Метод обнаружения
Несмотря на то, что вредоносная платформа содержит код, разработанный специально для сокрытия возможных следов заражения, в системе остаётся достаточно информации, позволяющей однозначно идентифицировать скомпрометированные устройства. Более того, если при настройке нового устройства пользовательские данные были перенесены путём миграции с предыдущего телефона, резервная копия нового устройства сохранит следы компрометации обоих устройств, с точными временными метками всех событий.Подготовка к исследованию
Для исследования потенциально заражённых устройств необходимо создать их резервные копии с помощью iTunes или утилиты с открытым исходным кодом idevicebackup2 (часть библиотеки libimobiledevice). Указанную утилиту можно собрать из исходных кодов на MacOS/Linux, или установить из готовых пакетов в большинстве популярных Linux-дистрибутивов.Для того, чтобы создать резервную копию с помощью idevicebackup2, необходимо выполнить следующую команду:
idevicebackup2 backup --full $backup_directory
В процессе создания копии на устройстве понадобится несколько раз ввести pin-код, а само копирование может занять несколько часов — в зависимости от количества пользовательских данных.
Установка MVT
После получения резервной копии необходимо установить Mobile Verification Toolkit. Для этого необходимо установить Python 3, и выполнить следующую команду:pip install mvt
Более подробная инструкция по установке доступна в официальной документации к утилите.
Если необходимо: расшифровка резервной копии
В случае, если владелец ранее задал пароль в iTunes/idevicebackup2, резервная копия устройства будет зашифрована.Для дальнейшей работы с ней, нужно выполнить следующую команду для расшифровки данных:
mvt-ios decrypt-backup -d $decrypted_backup_directory $backup_directory
Обработка резервной копии с помощью MVT
mvt-ios check-backup -o $mvt_output_directory $decrypted_backup_directory
После выполнения данной команды MVT, в папке, указанной в качестве «mvt_output_directory» появится несколько файлов формата JSON и CSV. Описанная в данном блоге методология подразумевает анализ содержимого файла timeline.csv.
Поиск индикаторов компрометации в timeline.csv
- Единственным однозначным индикатором компрометации, который мы обнаружили, является наличие в timeline.csv строчек с упоминанием сетевой активности процесса «BackupAgent». Это устаревшее приложение, не используемое при работе современных версий ОС. Однако не следует путать его с приложением «BackupAgent2», которое не указывает на компрометацию и регулярно используется в легитимных целях. Чаще всего, упоминание BackupAgent предваряется строками с упоминанием процесса «IMTransferAgent», который отвечает за скачивание вложений (в данном случае, с эксплойтом), а также информацией об изменениях в директории «Library/SMS/Attachments». Само вредоносное вложение удаляется после срабатывания эксплойта, оставляя после себя только временные метки изменения директорий, где оно было расположено.:
2022-09-13 10:04:11.890351Z Datausage IMTransferAgent/com.apple.datausage.messages (Bundle ID: com.apple.datausage.messages, ID: 127) WIFI IN: 0.0, WIFI OUT: 0.0 - WWAN IN: 76281896.0, WWAN OUT: 100956502.0
2022-09-13 10:04:54.000000Z Manifest Library/SMS/Attachments/65/05 - MediaDomain
2022-09-13 10:05:14.744570Z Datausage BackupAgent (Bundle ID: , ID: 710) WIFI IN: 0.0, WIFI OUT: 0.0 - WWAN IN: 734459.0, WWAN OUT: 287912.0 - Также, существуют менее надёжные индикаторы компрометации. В случае, если несколько таких индикаторов обнаружены во временной последовательности в пределах нескольких минут, они указывают на успешную компрометацию:
- Изменение одного или нескольких файлов: com.apple.ImageIO.plist, com.apple.locationd.StatusBarIconManager.plist, com.apple.imservice.ids.FaceTime.plist
- Информация о сетевой активности процессов com.apple.WebKit.WebContent, powerd/com.apple.datausage.diagnostics, lockdownd/com.apple.datausage.security
- Например:2021-10-30 16:35:24.923368Z Datausage IMTransferAgent/com.apple.MobileSMS (Bundle ID: com.apple.MobileSMS, ID: 945) WIFI IN: 0.0, WIFI OUT: 0.0 - WWAN IN: 31933.0, WWAN OUT: 104150.02021-10-30 16:35:24.928030Z Datausage IMTransferAgent/com.apple.MobileSMS (Bundle ID: com.apple.MobileSMS, ID: 945)2021-10-30 16:35:24.935920Z Datausage IMTransferAgent/com.apple.datausage.messages (Bundle ID: com.apple.datausage.messages, ID: 946) WIFI IN: 0.0, WIFI OUT: 0.0 - WWAN IN: 47743.0, WWAN OUT: 6502.02021-10-30 16:35:24.937976Z Datausage IMTransferAgent/com.apple.datausage.messages (Bundle ID: com.apple.datausage.messages, ID: 946)2021-10-30 16:36:51.000000Z Manifest Library/Preferences/com.apple.locationd.StatusBarIconManager.plist - HomeDomain2021-10-30 16:36:51.000000Z Manifest Library/Preferences/com.apple.ImageIO.plist - RootDomain
2022-09-11 19:52:56.000000Z Manifest Library/SMS/Attachments/98 - MediaDomain
2022-09-11 19:52:56.000000Z Manifest Library/SMS/Attachments/98/08 - MediaDomain
2022-09-11 19:53:10.000000Z Manifest Library/SMS/Attachments/98/08 - MediaDomain
2022-09-11 19:54:51.698609Z OSAnalyticsADDaily com.apple.WebKit.WebContent WIFI IN: 77234150.0, WIFI OUT: 747603971.0 - WWAN IN: 55385088.0, WWAN OUT: 425312575.0
2022-09-11 19:54:51.702269Z Datausage com.apple.WebKit.WebContent (Bundle ID: , ID: 1125)
2022-09-11 19:54:53.000000Z Manifest Library/Preferences/com.apple.locationd.StatusBarIconManager.plist - HomeDomain
2022-06-26 18:21:36.000000Z Manifest Library/SMS/Attachments/ad/13 - MediaDomain
2022-06-26 18:21:36.000000Z Manifest Library/SMS/Attachments/ad - MediaDomain
2022-06-26 18:21:50.000000Z Manifest Library/SMS/Attachments/ad/13 - MediaDomain
2022-06-26 18:22:03.412817Z OSAnalyticsADDaily com.apple.WebKit.WebContent WIFI IN: 19488889.0, WIFI OUT: 406382282.0 - WWAN IN: 66954930.0, WWAN OUT: 1521212526.0
2022-06-26 18:22:16.000000Z Manifest Library/Preferences/com.apple.ImageIO.plist - RootDomain
2022-06-26 18:22:16.000000Z Manifest Library/Preferences/com.apple.locationd.StatusBarIconManager.plist - HomeDomain
2022-03-21 21:37:55.000000Z Manifest Library/SMS/Attachments/fc - MediaDomain
2022-03-21 21:37:55.000000Z Manifest Library/SMS/Attachments/fc/12 - MediaDomain
2022-03-21 21:38:08.000000Z Manifest Library/SMS/Attachments/fc/12 - MediaDomain
2022-03-21 21:38:23.901243Z OSAnalyticsADDaily com.apple.WebKit.WebContent WIFI IN: 551604.0, WIFI OUT: 6054253.0 - WWAN IN: 0.0, WWAN OUT: 0.0
2022-03-21 21:38:24.000000Z Manifest Library/Preferences/com.apple.locationd.StatusBarIconManager.plist - HomeDomain - Косвенным индикатором компрометации является также невозможность установки обновлений на устройство. Некоторые компоненты вредоносной платформы специальным образом изменяют файл настроек com.apple.softwareupdateservicesd.plist, что приводит к ошибке обновления «Software Update Failed. An error ocurred downloading iOS».
Обнаружение в сетевом трафике
На сетевом уровне атаку на устройство можно отследить по последовательности обращений к нескольким HTTPS серверам.Последовательность можно восстановить из журналов netflow, совмещённых с данными запросов DNS/TLS, или из записи сетевого трафика:
- Обращение к легитимным серверам, отвечающим за сервис iMessage service, обычно это доменные имена *.ess.apple.com
- Загрузка вложения iMessage attachment — соединение и входящий трафик с поддоменов .icloud-content.com, content.icloud.com
- Множественные соединения с серверами управления вредоносной платформы. Как правило, при каждой попытке заражения используется пара доменов (известные имена приведены в конце блога). Обычно данное взаимодействие характеризуется значительными объёмами исходящего трафика от устройства.

Сетевая активность во время эксплуатации, дамп Wireshark
Вложение iMessage, содержащее эксплойт, зашифровано и загружается по протоколу HTTPS, единственной косвенной характеристикой является его размер — около 242 Кб.

Зашифрованное вложение iMessage, дамп Wireshark
Сервера управления
В результате анализа компрометированных устройств нам удалось определить домены, использованные для заражения и последующего управления вредоносными компонентами. Данный список можно использовать для ретроспективного поиска информации о заражениях в журналах DNS, или для определения устройств с активным заражением:addatamarket[.]net
backuprabbit[.]com
businessvideonews[.]com
cloudsponcer[.]com
datamarketplace[.]net
mobilegamerstats[.]com
snoweeanalytics[.]com
tagclick-cdn[.]com
topographyupdates[.]com
unlimitedteacup[.]com
virtuallaughing[.]com
web-trackers[.]com
growthtransport[.]com
anstv[.]net
ans7tv[.]net
Источник









