Агент-экстрактор: самая подробная инструкция (2025)

2 июля, 2025, Oleg Afonin
Рубрика: «Полезные советы», «Программное обеспечение»
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

В течение многих лет с момента появления в составе iOS Forensic Toolkit агента-экстрактора для низкоуровневого доступа к данным мы публиковали материалы о том, как правильно установить агент на устройство и что делать, если возникли проблемы. Со временем наш продукт эволюционировал; постепенно менялось и окружение. Мы старались реагировать, публикуя всё новые и новые статьи. В результате самые старые статьи частично бесполезны, а в обилии обновлений легко запутаться. Сегодня мы решили собрать и актуализировать всю доступную информацию в одном большом материале.

Что такое агент-экстрактор

Агент-экстрактор, или агент извлечения данных – компактное приложение, разработанное нашей компанией для устройств под управлением iOS и iPadOS, которое играет ключевую роль в процессе низкоуровневого доступа к данным. В этом приложении мы собрали все известные нам эксплойты, позволяющие совершить «побег из песочницы» и получить доступ к корню файловой системы и ключам шифрования, необходимым для расшифровки связки ключей. После загрузки на совместимое устройство iOS или iPadOS происходит следующее.

  • После запуска агента-экстрактора приложение применяет цепочку эксплойтов для повышения уровня привилегий. Если всё прошло успешно, приложению становится доступен корень файловой системы; получается доступ к ключам шифрования.
  • Устанавливается канал связи между устройством и компьютером, на котором запущен инструментарий iOS Forensic Toolkit.
  • Теперь iOS Forensic Toolkit, запущенный на компьютере, получает полный доступ к файловой системе и возможность расшифровать связку ключей. Происходит процесс извлечения данных.

Напомним, что посредством низкоуровневого доступа можно извлечь намного больше данных, чем другими способами (такими, как расширенное логическое извлечение).

Обратите внимание: перед использованием агента-экстрактора убедитесь, что установленная на устройстве версия iOS/iPadOS совместима с агентом. Не делайте необоснованных предположений! Многие старые версии iOS не поддерживаются агентом в силу того, что для устройств, способных работать под их управлением, доступен другой метод извлечения – через эксплойт загрузчика.

Обратите внимание: в случаях, когда устройство совместимо и с агентом-экстрактором, и с извлечением через эксплойт загрузчика checkm8, извлечение через checkm8 является предпочтительным в силу его более высокой надёжности и криминалистической чистоты.

Подготовка компьютера и общие требования

Перед началом работы убедитесь в выполнении следующих требований:

  • Дата и время на компьютере, выход в интернет: убедитесь, что дата и время на вашем компьютере соответствуют актуальным. Кроме того, убедитесь, что компьютер имеет выход в интернет.
  • Важное требование к учётным записям Apple ID: любую учётную запись Apple ID, которая будет использоваться для подписи агента, необходимо хотя бы раз использовать на устройстве Apple (т. е. хотя бы раз осуществить логин в облако Apple с устройства Apple). Кроме того, к учётной записи, которую будут использовать для подписания агента, на момент установки агента обязательно должно быть привязано доверенное устройство – только телефонного номера для получения SMS недостаточно.
  • Обычные учётные записи Apple: обычные (не зарегистрированные в программе Apple для разработчиков) учётные записи Apple ID можно использовать для подписи агента на всех платформах, однако для защиты от нежелательных сетевых подключений усиленно рекомендуем использовать подключение через файрволл.
  • Привязка до установки агента: убедитесь, что доверенные отношения (привязка устройства к компьютеру) установлены до установки агента.
  • Кабель USB-C: рекомендуем использовать кабель с коннектором USB Type-C. Тип кабеля не особо критичен в процессе установки и подписи агента, но важен для последующего извлечения.

Подготовка устройства

Перед тем, как приступить к установке агента, убедитесь, что устройство имеет достаточный уровень заряда и корректные настройки даты и времени.

  • Проверьте дату и время на телефоне
    • Дата и время на телефоне должны совпадать с актуальными. Если это не так, измените дату и время вручную в настройках устройства. Это необходимо для корректной установки агента и проверки цифровой подписи.

Установка агента на устройство

Для установки агента необходимо указать учётные данные от Apple ID, который будет использоваться для цифровой подписи файла IPA. Указанный Apple ID может не совпадать (и не должен совпадать) с Apple ID, к которому привязано устройство. Для подписи можно использовать как обычный (в том числе одноразовый) Apple ID, так и учётную запись, зарегистрированную в программе Apple для разработчиков (рекомендуется).

Для проверки, установлены доверенные отношения или нет:

EIFT_cmd normal info

Запись Paired: YES/NO отобразит доверенный статус устройства.

Команда установки агента:

EIFT_cmd agent install
  • Установите агент-экстрактор (не запускайте его)
    • установите приложение агента на устройство; на данном этапе не запускайте его.
  • Перезагрузите телефон
    • Осуществите штатную перезагрузку телефона (штатное отключение и перезагрузка).

Для чего нужна перезагрузка: если вы установите и запустите приложение агента-экстрактора, не перезагрузив предварительно телефон, то в случае возникновения ситуации kernel panic и спонтанной перезагрузки устройства могут возникнуть повреждения файловой системы, после чего операционная система откатит файловую систему в «чистое» состояние. В результате отката могут пропасть записи сопряжения телефона и/или повредиться уже установленное приложение агента-экстрактора, что, в свою очередь, потребует его переустановки.

Офлайн-установка с учётной записью разработчика

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

Начиная с версии iOS Forensic Toolkit 8.70 применяется новый способ установки, позволяющий установить агент-экстрактор на устройство в режиме офлайн с использованием учётной записи Apple ID, зарегистрированной в программе Apple для разработчиков. Больше не имеет значения, была ли учётная запись зарегистрирована до или после 6 июня 2021. Иными словами:

  • Работают все учётные записи, зарегистрированные в программе Apple для разработчиков.
  • Больше не требуется подключение устройства к интернету ни на этапе загрузки, ни при первом запуске.
  • Извлечение данных стало безопасным и автономным.
  • Если у вас есть учётная запись разработчика, для установки агента использование файрвола не требуется независимо от даты регистрации аккаунта.

Обратите внимание: при использовании корпоративных учётных записей разработчика нужно предоставить дополнительные разрешения, как показано на изображении ниже:

Мы рекомендуем по возможности использовать учётные записи, зарегистрированные в программе Apple для разработчиков. Использование таких учётных записей позволяет заметно упростить установку агента-экстрактора и сделать весь процесс более безопасным. Вы по-прежнему можете использовать и обычные учётные записи, однако для них мы усиленно рекомендуем использовать файрволл (об этом – в последующих разделах).

Обычная учётная запись Apple ID: требуется файрволл

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

Вы можете использовать любую собственную учётную запись, но она должна быть создана на устройстве Apple. Если не уверены – лучше заведите новую. Учтите, что есть ограничение: на каждом устройстве Apple можно создавать не более трёх учётных записей в год.

Бывали случаи, когда подписать агент не удавалось, хотя все остальные условия соблюдены. Создание новой учётной записи на устройстве Apple решало проблему. Предполагаем, что причина ошибки была в том, что старая учётная запись была создана на Windows.

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

  • Подключите устройство к программному или аппаратному файрволлу
  • Проверьте цифровую подпись приложения агента
    • Откройте настройки и перейдите в пункт «Настройки -> Основные -> VPN и управление устройством.»
    • Проверьте цифровую подпись агента. Не запускайте приложение агента-экстрактора; на этом шаге проверяется подпись приложения.
  • Перезапустите телефон (второй раз)
    • Снова перезапустите телефон штатным образом.
  • Запустите приложение агента на телефоне
    • Коснитесь иконки установленного на телефон приложения агента-экстрактора, чтобы запустить его. Если появится запрос на включение режима разработчика, см. следующие шаги.
  • Включите режим разработчика (если он будет запрошен)
    • Перейдите «Настройки -> Конфиденциальность и безопасность -> Режим разработчика.»
    • Включите режим разработчика (может потребоваться очередная перезагрузка телефона).
  • Убедитесь, что режим разработчика активирован (если он был запрошен):
    • После перезагрузки, снова перейдите в настройки режима разработчика и убедитесь, что этот режим активирован.

Ограничения и особенности

Офлайн-установка с учётными записями разработчика поддерживается во всех редакциях iOS Forensic Toolkit для Windows, macOS и Linux. Установка при помощи обычных учётных записей также поддерживается во всех редакциях. Основные ограничения и особенности перечислены ниже:

  1. Обычные учётные записи: для бесплатных учётных записей срок действия сертификата составляет 7 дней. Если последующее извлечение данных проводится спустя более чем 7 дней после первоначальной установки агента, агент-экстрактор нужно будет переустановить. Сертификаты, сгенерированные учётными записями разработчика, действительны в течение года.
  2. Обычные учётные записи: регистрировать можно не более 3 устройств в неделю.
  3. Учётные записи разработчиков: количество устройств, которые можно подписать с помощью одной учётной записи разработчика, ограничено 100 устройствами каждого типа в год (100 iPhone и 100 iPad). При большем количестве устройств потребуется регистрация дополнительных учётных записей.
  4. Учётные записи разработчиков: после регистрации в программе первых 10 устройств добавление каждого дополнительного устройства происходит после задержки (порядка суток).
  5. Учётные записи разработчиков: инструментарий будет запрашивать тип учётной записи (обычная или учётная запись разработчика); важно ответить правильно, иначе подпись не сработает.

Использование агента

После установки (и перезагрузки устройства!) приложение агента можно запустить.

  • Запустите приложение агента
    • Запустите агента, коснувшись его иконки на телефоне.
  • Отключите устройство от файрволла (если он использовался) и подключите к компьютеру
    • Если вы использовали аппаратный файрволл, отключите от него телефон и подключите к компьютеру.
  • Запустите EIFT и следуйте инструкциям из руководства по эксплуатации
    • На компьютере запустите iOS Forensic Toolkit. Дальнейшие шаги описаны в руководстве по эксплуатации к инструментарию.

Заметки и рекомендации

  • Влияние спонтанных перезагрузок на целостность файловой системы 
    • Нештатные перезагрузки (ошибка device panic) могут привести к повреждениям файловой системы. Чтобы восстановить её целостность, операционная система может откатить файловую систему к предыдущему состоянию.
  • Влияние отката файловой системы на работу агента-экстрактора
    • Результатом отката файловой системы может стать неработоспособность агента и/или исчезновение ранее установленной привязки к компьютеру. Избежать этой ситуации помогут промежуточные штатные перезагрузки устройства.
  • Переустановка агента
    • Если ситуация с откатом файловой системы всё же возникла, вам может потребоваться заново привязать устройство к компьютеру и/или переустановить агента.

Дополнительные наблюдения

Если не следовать описанной выше инструкции, вы можете столкнуться с такими симптомами: агент запускается, эксплойт применяется успешно, связка ключей — извлекается, а на этапе извлечения файловой системы возникает ошибка.

Также напомним, что в последних версиях инструментария в качестве параметра после команды keychain/tar в опции «-o» указывается не имя файла, а путь к папке; имена файлов присваиваются автоматически на основе UDID устройства и текущих даты и времени.

Наконец, нужно упомянуть, что образ файловой системы и связку ключей можно загружать для последующего анализа в сторонние криминалистические пакеты.

Решение проблем

Пользователи iOS Forensic Toolkit регулярно сталкиваются с проблемами при установке и использовании агента-экстрактора, необходимого для низкоуровневого извлечения образа файловой системы устройств под управлением iOS. Мы накопили достаточную статистику обращений в службу поддержки, классифицировали проблемы и публикуем готовые решения.

О какого рода проблемах идёт речь?

Несмотря на то, что агент-экстрактор — технически сложный продукт, использующий недокументированные особенности и уязвимости для повышения уровня привилегий в мобильных ОС Apple, речь пойдёт не об используемых эксплойтах и поддерживаемых или не поддерживаемых версий iOS. Сегодня мы поговорим о том, что делать в случаях, когда эксперту не удаётся установить агент или агент не работает несмотря на то, что на устройстве установлена поддерживаемая версия ОС.

Большая часть возникающих проблем удаётся решить, ответив на следующие вопросы:

  1. Корректно ли подготовлены устройства?
  2. Удаётся ли запустить установку агента?
  3. Удаётся ли запустить скрипт файрволла?
  4. Если возникают ошибки при запуске скрипта файрволла, то какие?
  5. Корректно ли настроен internet sharing?
  6. Какой перечень действий совершает пользователь, и на каком именно этапе происходит сбой?

Процедурные ошибки

Типичны две основные ошибки:

  1. Попытка установки и запуска агента без использования файрволла (программного или аппаратного), что подвергает данные на устройстве опасности удалённого уничтожения или блокировки устройства.
  2. Извлечение только образа файловой системы без извлечения связки ключей.
    • Решение: всегда проводите извлечение связки ключей с её последующим анализом. Рекомендуем делать это перед извлечением образа файловой системы, т.к. извлечение связки ключей, в отличие от полного образа устройства, происходит практически моментально.

Ошибки при подготовке устройства

Перед тем, как приступить к установке агента на устройство, критически важно сделать следующие проверки:

Проверить версию iOS

Агент-экстрактор поддерживает широкий, но не бесконечный ряд версий iOS. Перед началом работы убедитесь, что агент-экстрактор установленной на вашем компьютере версии iOS Forensic Toolkit поддерживает версию iOS, установленную на целевом устройстве.

Важно: мы постоянно работаем над расширением списка версий iOS, поддерживаемых агентом-экстрактором. Если установленная на устройстве версия iOS не поддерживается имеющейся в вашем распоряжении версией агента-экстрактора, возможно, вам потребуется установить обновление iOS Forensic Toolkit.

Проверить дату и время на целевом устройстве

Недостаточно проверить только текущее время; обязательно убедитесь, что не только время, но и день/месяц/год соответствуют текущему значению. Почему это важно: операционная система устройства должна корректно верифицировать сертификат цифровой подписи, который будет передан с сервера Apple; верификация включает проверку срока действия сертификата. Если время/дата не совпадают, то проверка не будет пройдена.

Решение: установить корректные дату и время в настройках устройства.

Убедитесь в корректном сопряжении устройства с компьютером

Чтобы убедиться, что сопряжение устройства с компьютером корректно установлено, последовательно выполните команды:

EIFT_cmd normal unpair
EIFT_cmd normal pair

Внимание: не забудьте отключить раздачу интернета после подписи агента!

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

Убедитесь, что на устройстве запрашивается сопряжение, а не доступ к медиа

Обратите внимание: в некоторых случаях на экране устройства может появиться не запрос на сопряжение с компьютером, а запрос на доступ к медиа. Это может происходить в случаях, когда или не установлено приложение Apple Devices или iTunes (Windows), или это приложение установлено, но ни разу не запускалось.

Решение – установить приложение Apple Devices из магазина приложений Windows и обязательно запустить его (после чего выйти из приложения) перед тем, как подключать устройство к компьютеру.

Не используйте VPN или прокси-сервер в процессе подписи агента

В процессе цифровой подписи агента-экстрактора на компьютере не должно быть активных VPN соединений или прокси.

Используйте кабели USB Type-C — Lightning

В отличие от извлечения посредством checkm8, для которого нужен кабель USB-A — Lightning, извлечение посредством агента-экстрактора может работать быстрее и надёжнее при использовании сертифицированного кабеля USB-C — Lightning.

Ошибки с установкой агента или использованием EIFT

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

При попытке запустить EIFT на компьютере возникают ошибки «недостаточно прав доступа»

Причин возникновения этой ошибки может быть несколько:

  • не выполнена команда xattr, как это описано в документации
    • Решение:
    • зайти в терминал
    • перейти в папку со скриптом установленного файрволла
    • выполнить команду (точка в конце обязательна): sudo xattr -d com.apple.quarantine .
  • исполняемый код находится на рабочем столе
    • Решение: перенести EIFT в другое место, например, в локальный applications
  • не выданы права полного доступа shell к диску
    • Решение: выдать права доступа следующим образом:
      Выбрать System Preferences->Security & Privacy->Full Disk Access
      Кликнуть на иконку «замок», чтобы разблокировать возможность изменений
      Нажать ‘+’
      Нажать комбинацию кнопок ‘cmd + Shift + .’ для отображения скрытых файлов
      Выбрать путь /bin/sh

При попытке запустить скрипт файрволла возникают ошибки «не найдено» или «не хватает прав»

Алгоритм решения этой проблемы совпадает с ранее описанным:

  • не выполнена команда xattr, как это описано в документации
    • Решение:
      • зайти в терминал
      • перейти в папку со скриптом установленного файрволла
      • выполнить команду (точка в конце обязательна): sudo xattr -d com.apple.quarantine .
  • исполняемый код находится на рабочем столе
    • Решение: перенести EIFT в другое место, например, в локальный applications
  • не выданы права полного доступа shell к диску
    • Решение: выдать права доступа следующим образом:
      • Выбрать System Preferences->Security & Privacy->Full Disk Access
      • Кликнуть на иконку «замок», чтобы разблокировать возможность изменений
      • Нажать ‘+’
      • Нажать комбинацию кнопок ‘cmd + Shift + .’ для отображения скрытых файлов
      • Выбрать путь /bin/sh

Не удаётся настроить раздачу (sharing) интернета

  • ошибка настройки раздачи интернета для USB устройств
    • Как правило, проблема в неверно выбранном источнике интернета (см. скриншот)
  • иногда в списке присутствует более одного iPhone/iPad
    • Искать необходимое соединение требуется заранее, опытным путём на тестовом (не целевом!) устройстве

Файрволл запустился, тесты проходят, но установить агент на целевом устройстве не удаётся

  • На устройстве присутствует MDM профиль, который запрещает установку сторонних приложений
    • Решение: проведите оценку рисков и сделайте выбор между двумя возможными решениями: либо удалить профиль MDM, что чревато потерей данных, либо использовать другой метод извлечения

Файрволл запустился, тесты проходят, но на целевом устройстве не срабатывает подпись агента

  • Некорректно установлены время/дата на устройстве
    • Решение: проверить и при необходимости изменить дату на текущую; начать всю процедуру заново, включая установку агента

Недостаточно места на целевом диске либо внешний носитель отформатирован в FAT32

В первом случае рекомендуем использовать внешний носитель. В то же время убедитесь, что внешний носитель отформатирован в файловой системе, отличной от FAT32 — в последней невозможно создание файлов размером более 4ГБ, а образ файловой системы практически любого устройства превышает этот размер.

Попытка извлечения, агент не запущен либо работает в фоновом режиме

Агент-экстрактор должен быть запущен и работать в активном режиме

Часто встречающаяся ошибка — попытка извлечения данных из устройства, на котором установлено, но не запущено приложение агента-экстрактора. Другая ошибка — попытка извлечения при работе агента-экстрактора в фоновом режиме.

Решение: агент-эсктрастор должен быть запущен в качестве активного приложения.

Не отключены все беспроводные сети

Первое, что следует сделать при работе с целевым устройством — активировать режим «в полёте». Однако этого недостаточно: после активации режима «в полёте» необходимо также проверить состояние переключателей Bluetooth и Wi-Fi, которые также необходимо отключить. Это связано с тем, что iOS запоминает положение этих переключателей с момента предыдущей активации «полётного» режима. Если пользователь использовал Wi-Fi или Bluetooth, то эти сети не будут деактивированы даже при включении авиарежима.

Неудачная попытка эксплойта с ошибкой «All exploits failed»

Одна из самых распространённых причин этой ошибки — недостаточная или слишком длинная пауза после загрузки или перезагрузки устройства.

Эксплойты, применяемы в агенте, чувствительны ко времени. Для некоторых версий версий iOS желательно после любой перезагрузки подождать не более 10 секунд прежде чем запустить агента и начать извлечение. В то же время для iOS 16 рекомендуется подождать около минуты, чтобы все низкоуровневые процессы успели стабилизироваться. Точно указать время ожидания для каждой версии iOS трудно, поэтому в случае возникновения проблем с эксплойтом имеет смысл пробовать как короткие, так и более длинные паузы.

Обратите внимание, что слишком долгие паузы также могут привести к неработоспособности эксплойтов. Если устройство проработало несколько дней, большинство эксплойтов не установится. В этом случае перегрузите устройство и повторите попытку. В отдельных случаях может потребоваться до 5 попыток, перемежающихся перезагрузками.

Решение: перегрузить устройство и подождать от 10 секунд до 1 минуты.

Алгоритм определения точки возникновения проблемы

Если не помогает ни одно из описанных выше решений, рекомендуем воспользоваться описанным ниже алгоритмом, который позволяет определить точку возникновения проблемы.

Внимание: для отработки описанных ниже шагов используйте тестовое, а не исследуемое (целевое) устройство!

  1. Во-первых, добейтесь ситуации, в которой интернет при отключённых сетевых интерфейсах (WiFi/мобильный интернет) доступен на тестовом устройстве, которое подключено кабелем к компьютеру Mac (на этом шаге проверяется работоспособность раздачи интернета с компьютера). Если этого нет, см. ответы на тему «не работает раздача интернета».
  2. Попытайтесь подписать агент на тестовом устройстве без запуска скрипта файрволла. Если это удалось, то проблема в настройке файрволла; в этом случае см. следующий пункт. Если же подпись не сработала даже без файрволла, то понадобится создать новую учётную запись Apple ID. В идеале требуется добиться ситуации, когда весь процесс корректно работает на тестовом устройстве на данном этапе. Если подпись не срабатывает даже с новой учётной записью, обратитесь в нашу техподдержку: вероятно, мог измениться алгоритм/протокол цифровой подписи на стороне Apple; для обхода этого может потребоваться обновить версию EIFT.
  3. Если на предыдущем этапе удалось успешно подписать агент на тестовом устройстве, попытайтесь установить и подписать агент с запущенным скриптом файрволла. Если все прошло успешно, см. следующий пункт. В противном случае проблема с настройками файрволла. Иногда может потребоваться перезагрузить тестовое устройство, отключив его от компьютера, но не выключая скрипта файрволла, после чего попробовать пройти подпись заново. Если перезагрузка не помогла, обратитесь в нашу техподдержку.
  4. Если все шаги прошли успешно на тестовом устройстве, а на целевом устройстве подпись с запущенным скриптом файрволла не проходит, проделайте следующие шаги:
    • Отключите устройство от кабеля и подключите заново, после чего повторите попытку подписи (скрипт файрволла должен быть запущен!)
    • Отключите и перезагрузите целевое устройство, затем подключите его снова (скрипт файрволла должен быть запущен!)

После удаления агента

Отметим, что после удаления агента-экстрактора в системных журналах устройства остаются записи со следами его использования. В то же время в этих записях не содержится информации о том, какой именно Apple ID использовался для подписания агента.


  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

REFERENCES:

Elcomsoft iOS Forensic Toolkit

Elcomsoft iOS Forensic Toolkit – специализированный инструмент для проведения криминалистического анализа устройств, работающих под управлением Apple iOS. Для анализа доступна вся пользовательская и системная информация, а также зашифрованные данные из системного хранилища (связка ключей).

Официальная страница Elcomsoft iOS Forensic Toolkit »

НАШИ НОВОСТИ