В течение многих лет с момента появления в составе iOS Forensic Toolkit агента-экстрактора для низкоуровневого доступа к данным мы публиковали материалы о том, как правильно установить агент на устройство и что делать, если возникли проблемы. Со временем наш продукт эволюционировал; постепенно менялось и окружение. Мы старались реагировать, публикуя всё новые и новые статьи. В результате самые старые статьи частично бесполезны, а в обилии обновлений легко запутаться. Сегодня мы решили собрать и актуализировать всю доступную информацию в одном большом материале.
Агент-экстрактор, или агент извлечения данных – компактное приложение, разработанное нашей компанией для устройств под управлением iOS и iPadOS, которое играет ключевую роль в процессе низкоуровневого доступа к данным. В этом приложении мы собрали все известные нам эксплойты, позволяющие совершить «побег из песочницы» и получить доступ к корню файловой системы и ключам шифрования, необходимым для расшифровки связки ключей. После загрузки на совместимое устройство iOS или iPadOS происходит следующее.
Напомним, что посредством низкоуровневого доступа можно извлечь намного больше данных, чем другими способами (такими, как расширенное логическое извлечение).
Обратите внимание: перед использованием агента-экстрактора убедитесь, что установленная на устройстве версия iOS/iPadOS совместима с агентом. Не делайте необоснованных предположений! Многие старые версии iOS не поддерживаются агентом в силу того, что для устройств, способных работать под их управлением, доступен другой метод извлечения – через эксплойт загрузчика.
Обратите внимание: в случаях, когда устройство совместимо и с агентом-экстрактором, и с извлечением через эксплойт загрузчика checkm8, извлечение через checkm8 является предпочтительным в силу его более высокой надёжности и криминалистической чистоты.
Перед началом работы убедитесь в выполнении следующих требований:
Перед тем, как приступить к установке агента, убедитесь, что устройство имеет достаточный уровень заряда и корректные настройки даты и времени.
Для установки агента необходимо указать учётные данные от 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 ID для подписи приложения агента, перед запуском агента может понадобиться верифицировать цифровую подпись приложения. Для этого устройству необходимо связаться с сертифицирующим сервером Apple, для чего, в свою очередь, устройству потребуется доступ в интернет. Выход в интернет несёт сопутствующие риски, которые желательно уменьшить, использовав аппаратный или программный файрволл.
Вы можете использовать любую собственную учётную запись, но она должна быть создана на устройстве Apple. Если не уверены – лучше заведите новую. Учтите, что есть ограничение: на каждом устройстве Apple можно создавать не более трёх учётных записей в год.
Бывали случаи, когда подписать агент не удавалось, хотя все остальные условия соблюдены. Создание новой учётной записи на устройстве Apple решало проблему. Предполагаем, что причина ошибки была в том, что старая учётная запись была создана на Windows.
Внимание: этот раздел относится к ситуации, когда для запуска агента требуется подтвердить цифровую подпись. При использовании учётных записей разработчика проверка не нужна; в таком случае пропустите этот раздел.
Офлайн-установка с учётными записями разработчика поддерживается во всех редакциях iOS Forensic Toolkit для Windows, macOS и Linux. Установка при помощи обычных учётных записей также поддерживается во всех редакциях. Основные ограничения и особенности перечислены ниже:
После установки (и перезагрузки устройства!) приложение агента можно запустить.
Если не следовать описанной выше инструкции, вы можете столкнуться с такими симптомами: агент запускается, эксплойт применяется успешно, связка ключей — извлекается, а на этапе извлечения файловой системы возникает ошибка.
Также напомним, что в последних версиях инструментария в качестве параметра после команды keychain/tar в опции «-o» указывается не имя файла, а путь к папке; имена файлов присваиваются автоматически на основе UDID устройства и текущих даты и времени.
Наконец, нужно упомянуть, что образ файловой системы и связку ключей можно загружать для последующего анализа в сторонние криминалистические пакеты.
Пользователи iOS Forensic Toolkit регулярно сталкиваются с проблемами при установке и использовании агента-экстрактора, необходимого для низкоуровневого извлечения образа файловой системы устройств под управлением iOS. Мы накопили достаточную статистику обращений в службу поддержки, классифицировали проблемы и публикуем готовые решения.
Несмотря на то, что агент-экстрактор — технически сложный продукт, использующий недокументированные особенности и уязвимости для повышения уровня привилегий в мобильных ОС Apple, речь пойдёт не об используемых эксплойтах и поддерживаемых или не поддерживаемых версий 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 соединений или прокси.
В отличие от извлечения посредством checkm8, для которого нужен кабель USB-A — Lightning, извлечение посредством агента-экстрактора может работать быстрее и надёжнее при использовании сертифицированного кабеля USB-C — Lightning.
В этом разделе собраны решения типичных проблем, возникающих в процессе установки и использования агента-экстрактора.
Причин возникновения этой ошибки может быть несколько:
Алгоритм решения этой проблемы совпадает с ранее описанным:
В первом случае рекомендуем использовать внешний носитель. В то же время убедитесь, что внешний носитель отформатирован в файловой системе, отличной от FAT32 — в последней невозможно создание файлов размером более 4ГБ, а образ файловой системы практически любого устройства превышает этот размер.
Агент-экстрактор должен быть запущен и работать в активном режиме
Часто встречающаяся ошибка — попытка извлечения данных из устройства, на котором установлено, но не запущено приложение агента-экстрактора. Другая ошибка — попытка извлечения при работе агента-экстрактора в фоновом режиме.
Решение: агент-эсктрастор должен быть запущен в качестве активного приложения.
Первое, что следует сделать при работе с целевым устройством — активировать режим «в полёте». Однако этого недостаточно: после активации режима «в полёте» необходимо также проверить состояние переключателей Bluetooth и Wi-Fi, которые также необходимо отключить. Это связано с тем, что iOS запоминает положение этих переключателей с момента предыдущей активации «полётного» режима. Если пользователь использовал Wi-Fi или Bluetooth, то эти сети не будут деактивированы даже при включении авиарежима.
Одна из самых распространённых причин этой ошибки — недостаточная или слишком длинная пауза после загрузки или перезагрузки устройства.
Эксплойты, применяемы в агенте, чувствительны ко времени. Для некоторых версий версий iOS желательно после любой перезагрузки подождать не более 10 секунд прежде чем запустить агента и начать извлечение. В то же время для iOS 16 рекомендуется подождать около минуты, чтобы все низкоуровневые процессы успели стабилизироваться. Точно указать время ожидания для каждой версии iOS трудно, поэтому в случае возникновения проблем с эксплойтом имеет смысл пробовать как короткие, так и более длинные паузы.
Обратите внимание, что слишком долгие паузы также могут привести к неработоспособности эксплойтов. Если устройство проработало несколько дней, большинство эксплойтов не установится. В этом случае перегрузите устройство и повторите попытку. В отдельных случаях может потребоваться до 5 попыток, перемежающихся перезагрузками.
Решение: перегрузить устройство и подождать от 10 секунд до 1 минуты.
Если не помогает ни одно из описанных выше решений, рекомендуем воспользоваться описанным ниже алгоритмом, который позволяет определить точку возникновения проблемы.
Внимание: для отработки описанных ниже шагов используйте тестовое, а не исследуемое (целевое) устройство!
Отметим, что после удаления агента-экстрактора в системных журналах устройства остаются записи со следами его использования. В то же время в этих записях не содержится информации о том, какой именно Apple ID использовался для подписания агента.
Elcomsoft iOS Forensic Toolkit – специализированный инструмент для проведения криминалистического анализа устройств, работающих под управлением Apple iOS. Для анализа доступна вся пользовательская и системная информация, а также зашифрованные данные из системного хранилища (связка ключей).