В четвёртой бета-версии iOS Forensic Toolkit 8.0 появилась поддержка извлечения через эксплойт загрузчика для последнего поколения устройств, совместимых с эксплойтом checkm8. В список поддерживаемых устройств вошли модели iPhone 8, 8 Plus и iPhone X. Новый режим анализа гарантирует криминалистическую чистоту извлечения, повторяемый и верифицируемый результат. В этой статье приводятся инструкции по использованию нового режима.
Извлечение через эксплойт загрузчика доступно исключительно в версии 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, поддержка которой была добавлена в четвёртой бета-версии. Полный список устройств, поддержка которых была добавлена в iOS Forensic Toolkit 8.0 b4:
Полная матрица поддерживаемых устройств теперь выглядит следующим образом:
Процедура установки продукта изменилась. Для того, чтобы установить iOS Forensic Toolkit 8.0 beta 4, используйте следующие шаги:
xattr -r -d com.apple.quarantine <path to folder>
Для разных версий macOS поставляются разные образы DMG:
В новой версии инструментария был полностью переработан пользовательский интерфейс. В силу ряда причин мы отказались от использования консольного меню, с которым пользователи программы знакомы по предыдущим версиям. Актуальная бета-версия использует интерфейс командной строки.
Поддерживаемые команды:
Основное окно
Воздержитесь от использования следующих команд (за исключением случаев, описанных в инструкции):
Информация об устройстве
Логическое извлечение
Извлечение посредством агента-экстрактора
Извлечение через джейлбрейк
Работа с Ramdisk (в процессе извлечения через эксплойт загрузчика)
Tools (дополнительные инструменты)
С технической точки зрения, извлечение через эксплойт загрузчика было наиболее сложным в реализации. Этот способ извлечения требует от эксперта некоторых специальных навыков и предварительной тренировки по переводу устройства в режим DFU. Неправильная последовательность перевода в DFU перезагрузит устройство в iOS, нарушив криминалистическую чистоту извлечения.
Попрактикуйтесь в переводе устройства в режим DFU. Используйте для этого другое устройство (не то, которое нужно анализировать).
Последовательность шагов по извлечению через эксплойт загрузчика для 64-разрядных устройств iPhone 8, 8 Plus и iPhone X отличается от предыдущих поколений устройств.
В этом разделе приводится подробная расшифровка перечисленных выше команд. Для перевода в режим DFU используйте шаги из статьи iPhone X, DFU mode and checkm8. Обратите внимание: для поколения iPhone 8, 8 Plus и iPhone X требуется перевод в режим Recovery, из которого устройство затем переводится в режим DFU.
На следующем шаге выполните команду:
./EIFT_cmd boot
Команда запускает эксплойт. Определяется версия iOS, установленная на устройстве, и предоставляется ссылка для скачивания. При наличии нескольких потенциальных совпадений будет выведено несколько ссылок для скачивания; рекомендуем использовать последнюю ссылку из списка. Загрузите файл по ссылке и перетащите файл ipsw в окно консоли.
Наше решение не использует операционную систему, установленную на iPhone. Вместо этого в ОЗУ устройства загружается модифицированная версия оригинальной прошивки Apple. Этот процесс требует копию оригинального образа прошивки Apple, соответствующей версии iOS устройства и номеру сборки.
Во многих случаях версия iOS будет автоматически определена EIFT на первом этапе эксплойта на основе версии iBoot и информации об аппаратном обеспечении устройства. Однако в некоторых случаях версия iBoot может соответствовать нескольким сборкам iOS, а в iOS 14 и 15 — и вовсе не определяться. Если использовать неправильный образ прошивки, у вас будет возможность либо повторить эксплойт с другой версией прошивки, либо продолжить с текущим образом (что в большинстве случаев сработает).
Если эксплойт успешно загрузит прошивку, вы увидите следующую информацию:
На экране iPhone появится следующая информация:
./EIFT_cmd ramdisk loadnfcd
Эта команда опциональна, и в большинстве случаев вы можете разблокировать пользовательский раздел (см. следующий пункт) и без неё. Однако, иногда возникает ошибка, и придётся вернуться к этой команде; в любом случае, её всегда безопасно запускать.
./EIFT_cmd ramdisk unlockdata -s
Команда разблокирует раздел данных и монтирует его в режиме «только для чтения».
Если установлен пароль блокировки экрана, он будет запрошен:
При вводе неправильного кода блокировки экрана отобразится сообщение об ошибке. Ввод правильного пароля разблокирует раздел данных, и вы сможете продолжить извлечение. Если пароль неизвестен, просто нажмите ENTER. В этом случае будет будет возможно ограниченное извлечение в режиме BFU (несмотря на ошибку, что устройство не может быть разблокировано); при этом будет доступен только очень ограниченный набор данных.
./EIFT_cmd ramdisk keychain -o {filename}
Извлекает и расшифровывает связку ключей. Если путь не указан, файл будет будет сохранён в текущую папку.
./EIFT_cmd ramdisk tar -o {filename}
Извлекает образ файловой системы с автоматическим подсчётом и сохранением контрольной суммы (посредством хэш-функции). Значение контрольной суммы сохраняется в той же папке, что и основной файл.
./EIFT_cmd ssh halt
Выключение iPhone. ВАЖНО: обязательно используйте эту команду после работы! Из режима DFU невозможно выключить iPhone с помощью кнопок. Если вы попытаетесь нажать и удерживать кнопку питания, iPhone перезагрузится в штатную ОС, что нарушит криминалистическую чистоту извлечения.
Elcomsoft iOS Forensic Toolkit – специализированный инструмент для проведения криминалистического анализа устройств, работающих под управлением Apple iOS. Для анализа доступна вся пользовательская и системная информация, а также зашифрованные данные из системного хранилища (связка ключей).