Вторая бета-версия iOS Forensic Toolkit 8.0, ставшая первой публично доступной сборкой крупного обновления, предлагает новый режим извлечения данных, работающий через эксплойт загрузчика. Новый режим анализа гарантирует криминалистическую чистоту извлечения, повторяемый и верифицируемый результат. В этой статье приводятся инструкции по использованию нового режима.
Извлечение через эксплойт загрузчика доступно исключительно в версии iOS Forensic Toolkit для Mac. Виртуальные машины с macOS и компьютеры «хакинтош» не поддерживаются. Поддерживаются компьютеры с процессорами Intel и Apple Silicon. iOS Forensic Toolkit протестирован на macOS следующих версий: 10.13 High Sierra, 10.14 Mojave, 10.15 Catalina, 11 Big Sur, 12 Monterey.
Уязвимость, которую эксплуатирует checkm8, существует во множестве устройств Apple вплоть до линейки iPhone 8/8 Plus/X. В нашей реализации из всего списка устройств поддерживаются следующие модели:
EIFT 8.0b2 поддерживает iOS iOS 8.0 — 15.1 (только официальные сборки).
Процедура установки продукта изменилась. Для того, чтобы установить iOS Forensic Toolkit 8.0 beta 2, используйте следующие шаги:
xattr -r -d com.apple.quarantine <path to folder>
Для разных версий macOS поставляются разные образы DMG:
В новой версии инструментария был полностью переработан пользовательский интерфейс. В силу некоторых причин мы отказались от использования консольного меню, с которым пользователи программы знакомы по предыдущим версиям. Актуальная бета-версия использует интерфейс командной строки.
Поддерживаемые команды:
Основное окно
Воздержитесь от использования следующих команд (за исключением случаев, описанных в инструкции):
Информация об устройстве
Логическое извлечение
Извлечение посредством агента-экстрактора
Извлечение через джейлбрейк
Работа с Ramdisk (в процессе извлечения через эксплойт загрузчика)
Дополнительные команды: ssh, scp
С технической точки зрения, извлечение через эксплойт загрузчика было наиболее сложным в реализации. Этот способ извлечения требует от эксперта некоторых специальных навыков и предварительной тренировки по переводу устройства в режим DFU. Неправильная последовательность перевода в DFU перезагрузит устройство в iOS, нарушив криминалистическую чистоту извлечения.
Попрактикуйтесь в переводе устройства в режим DFU. Используйте для этого другое устройство (не то, которое нужно анализировать).
Последовательность шагов по извлечению через эксплойт загрузчика для 64-разрядных устройств iPhone 5s/6/6s/SE:
В этом разделе приводится подробная расшифровка перечисленных выше команд. Для перевода в режим DFU используйте шаги из статьи Перевод iPhone в режим DFU. Рекомендуемый способ:
Внимание: для подключения к компьютеру используйте провод USB-A! При подключении к порту Type-C, используйте переходник с Type-C на USB-A, далее провод USB-A. Не используйте хабы или кабели Type-C — Lightning!
В отличие от джейлбрейка checkra1n, наш метод не требует перевода устройства в режим Recovery перед вводом в DFU.
На следующем шаге выполните команду:
./EIFT_cmd boot
Команда запускает эксплойт. Определяется версия iOS, установленная на устройстве, и предоставляется ссылка для скачивания. При наличии нескольких потенциальных совпадений будет выведено несколько ссылок для скачивания; рекомендуем использовать последнюю ссылку из списка. Загрузите файл по ссылке и перетащите файл ipsw в окно консоли.
Наше решение не использует операционную систему, установленную на iPhone. Вместо этого в ОЗУ устройства загружается модифицированная версия оригинальной прошивки Apple. Этот процесс требует копию оригинального образа прошивки Apple, соответствующей версии iOS устройства и номеру сборки.
Во многих случаях версия iOS будет автоматически определена EIFT на первом этапе эксплойта на основе версии iBoot и информации об аппаратном обеспечении устройства. Однако в некоторых случаях версия iBoot может соответствовать нескольким сборкам iOS. Если использовать неправильный образ прошивки, то EIFT сможет обнаружить и отобразить правильный номер сборки на следующем этапе. После этого у вас будет возможность либо повторить эксплойт с другой версией прошивки, либо продолжить с текущим образом (что сработает примерно в 99% случаев).
Если эксплойт успешно загрузит прошивку, вы увидите следующую информацию:
На экране iPhone появится следующая информация:
./EIFT_cmd ramdisk loadnfcd
Эта команда опциональна, и в большинстве случаев вы можете разблокировать пользовательский раздел (см. следующий пункт) и без неё. Однако, иногда возникает ошибка, и придётся вернуться к этой команде; в любом случае, её всегда безопасно запускать.
./EIFT_cmd ramdisk unlockdata -s
Команда разблокирует раздел данных и монтирует его в режиме «только для чтения».
При вводе неправильного кода блокировки экрана отобразится сообщение об ошибке. Ввод правильного пароля разблокирует раздел данных, и вы сможете продолжить извлечение.
Если пароль неизвестен, нажмите ENTER. В этом случае будет будет возможно ограниченное извлечение в режиме BFU.
После 5 или 6 неправильных попыток ввода пароля iPhone будет заблокирован последовательно на 1, 5, 15 и 60 минут. Необходимо дождаться истечения срока действия блока. После 10 неудачных попыток разблокировки, независимо от времени ожидания, система стирает метаданные шифрования, делая последующие попытки извлечения бесполезными.
./EIFT_cmd ramdisk keychain -o {filename}
Извлекает и расшифровывает связку ключей. Если путь не указан, файл будет будет сохранён в текущую папку. Для некоторых версий iOS существуют ограничения:
./EIFT_cmd ramdisk tar -o {filename}
Извлекает образ файловой системы с автоматическим подсчётом и сохранением контрольной суммы (посредством хэш-функции). Значение контрольной суммы сохраняется в той же папке, что и основной файл.
./EIFT_cmd ssh halt
Выключение iPhone. ВАЖНО: обязательно используйте эту команду после работы! Из режима DFU невозможно выключить iPhone с помощью кнопок. Если вы попытаетесь нажать и удерживать кнопку питания, iPhone перезагрузится в штатную ОС, что нарушит криминалистическую чистоту извлечения.
Elcomsoft iOS Forensic Toolkit – специализированный инструмент для проведения криминалистического анализа устройств, работающих под управлением Apple iOS. Для анализа доступна вся пользовательская и системная информация, а также зашифрованные данные из системного хранилища (связка ключей).