iOS 16: извлечение файловой системы и связки ключей через эксплойт загрузчика

22 сентября, 2022, Oleg Afonin
Рубрика: «Новости индустрии», «Новость Элкомсофт», «Разное»
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

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

Совместимые устройства

Метод извлечения данных, использующий эксплойт загрузчика, основан на известном эксплойте checkm8. Этот эксплойт доступен для огромного числа устройств (в iOS Forensic Toolkit 8.0 поддерживается 76 различных моделей), но далеко не каждое из них поддерживает iOS 16. Ниже перечислены все устройства, для которых применим эксплойт checkm8 и которые могут работать под управлением 16-й версии iOS, iPadOS или tvOS:

  • iPhone 8, iPhone 8 Plus, iPhone X
  • iPad 5/6/7
  • iPad Pro (1 и 2 поколений)
  • Apple TV HD (4 поколения ) и Apple TV 4K (1 поколения)

В то же время метод не сработает на iPhone 8, iPhone 8 Plus или iPhone X с iOS 16, на которых хотя бы единожды с момента настройки устанавливался код блокировки экрана. Если в iOS 15 для извлечения через checkm8 было достаточно удалить код блокировки, после чего эксплойт успешно устанавливался, то в iOS 16 разработчики Apple усилили защиту SEP, что исключило даже такой обходной путь. Соответственно, метод применим только для таких iPhone 8, iPhone 8 Plus или iPhone X, на которых никогда с момента настройки не устанавливался код блокировки экрана. Таких устройств за пределами лабораторий исключительно мало, а на руках у преступников, вероятно, нет совсем; соответственно, «неисправимую» уязвимость загрузчика разработчикам Apple удалось перевести из практической угрозы в теоретические. Впрочем, мы не исключаем появление в будущем эксплойта SEP, подобно тому, который появился для устройств предыдущего поколения.

Что потребуется для работы

Само устройство (из числа совместимых). Напоминаем: не является совместимым устройство линейки iPhone 8, iPhone 8 Plus или iPhone X с установленным в данный момент или когда-либо в прошлом кодом блокировки экрана, даже если его удалось предварительно удалить. Для работы с совместимыми моделями iPad удаление кода блокировки экрана не требуется, а на приставках Apple TV код блокировки невозможно установить физически, что заметно упрощает работу.

В первую очередь, вам нужен компьютер Mac. На момент выхода iOS Forensic Toolkit 8.0 мы реализовали поддержку checkm8 только в редакции для Mac. Сборка для Windows существует, но пока не поддерживает эксплойт загрузчика, поддержка которого появится чуть позже в редакциях для Windows и новой редакции для Linux.

iOS Forensic Toolkit поддерживает как классические компьютеры Mac под управлением macOS High Sierra, так и более новые модели. Мы рекомендуем использовать системы на основе чипов Apple Silicon (M1 и M2) с macOS Big Sur или Monterey. iOS Forensic Toolkit может быть запущен на macOS 13 Venture, но мы не проводили тестирования на совместимость.

Обратите внимание: macOS в виртуальной машине или установленная на «хакинтош» не поддерживается.

Кабель USB-A — Lightning. Нам прекрасно известно, что во многих современных компьютерах Apple порты USB-A часто отсутствуют как класс, но использовать кабель с разъёмом USB-C на одном конце и Lightning на другом не получится. Вместо этого воспользуйтесь обычным кабелем USB-A — Lightning, подключив его через хаб, в котором будет как минимум два порта USB-A (второй порт понадобится для подключения лицензионного ключа iOS Forensic Toolkit).

Установка iOS Forensic Toolkit

Мы предоставляем две версии дистрибутива, предназначенные для разных платформ:

  • Для macOS High Sierra, Mojave и Catalina (архитектура Intel)
  • Для macOS Big Sur и Monterey (архитектура Intel либо Apple Silicon)

Обязательно используйте дистрибутив, совместимый с вашей системой.

Для установки смонтируйте файл .dmg и скопируйте папку EIFT8 (или EIFT8L для старых систем) в удобное место на диске компьютера (например, на рабочий стол).

После этого запустите терминал и снимите флажок карантина:

xattr -r -d com.apple.quarantine <путь к папке EIFT>

Теперь смените рабочую директорию командой cd, перейдя в папку с установленным iOS Forensic Toolkit. Запустите программу:

./EIFT_cmd <options>

Ввод устройства в DFU

Перевод устройства в режим DFU, вероятно, один из самых нетривиальных шагов в процессе извлечения данных. Ввод в DFU можно осуществить только вручную; для этого потребуется нажимать и кнопки на устройстве в правильной последовательности, удерживая их с соблюдением точных таймингов. Шаги по вводу в DFU у разных устройств отличаются между собой; более того, режимов DFU существует как минимум два, и ввод в неверный режим приведёт к ошибкам либо в момент установки эксплойта, либо позднее, в процессе монтирования раздела данных. Имеют значение даже такие мелочи, как используемый кабель (USB-A — Lightning, но не USB-C — Lightning) и используемый для подключения к портам Type-C переходник или хаб.

Мы много писали о режиме DFU. Рекомендуем начать со статей Ввод в DFU: iPhone 8, 8 Plus и iPhone X и iPhone X, режим DFU и checkm8. Для Apple TV 4K есть отдельные инструкции checkm8 для iPad, iPod Touch и Apple TV, а в случае возникновения проблем рекомендуем статью Аппаратный способ перевода iPhone в режим DFU: когда не работают кнопки.

Рекомендуем запустить iOS Forensic Toolkit с командой boot и параметром -w (программа запускается в режиме ожидания):

./EIFT_cmd boot -w

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

Использование iOS Forensic Toolkit

Если вы проделали всё без ошибок, то эксплойт загрузчика будет применён автоматически, как только iOS Forensic Toolkit обнаружит устройство в режиме DFU. Программа определит установленную на устройстве версию iOS или набор версий iOS, если точное определение невозможно.

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

iOS Forensic Toolkit проделает необходимые для работы шаги и загрузит модифицированный ramdisk. При успешном применении эксплойта на экране устройства появится надпись Exploited.

Для извлечения данных проделайте следующие шаги:

./EIFT_cmd ramdisk unlockdata -s

Эта команда разблокирует раздел данных. Обратите внимание: использовать команду ./EIFT_cmd ramsisk loadnfcd в iOS 16 не нужно. Её необходимо использовать только при работе с iOS 15 и более старыми версиями.

В случае, если на устройстве установлен код блокировки экрана, программа попросит его ввести. Напомним, что в случае с iPhone 8/8 Plus/iPhone X код блокировки экрана, если он когда-либо был установлен, заблокирует возможность извлечения данных через checkm8. В случае с планшетами iPad такой проблемы не возникает. Если код блокировки пуст или неизвестен, нажмите ENTER. При неизвестном коде блокировки можно провести ограниченное извлечение в «холодном» режиме; количество информации в этом режиме ограничено.

Внимание: число попыток ограничено во избежание перманентной блокировки устройства. Всего есть 10 попыток, но iOS Forensic Toolkit заблокирует дальнейший ввод уже после 7-й неудачной попытки.

./EIFT_cmd ramdisk keychain -o <путь к файлу связки ключей>

В первую очередь извлеките связку ключей, в которой содержится много полезных данных — Связка ключей iOS: не только пароли.

./EIFT_cmd ramdisk tar -o <путь к файлу образа файловой системы>

По умолчанию извлекается только раздел данных. Такой подход позволяет сэкономить время на извлечении и последующем анализе. Извлекать системный раздел имеет смысл в случаях, когда на устройстве уже был установлен джейлбрейк либо при наличии подозрений на шпионское ПО (например, Pegasus spyware).

iOS Forensic Toolkit сохранит образ файловой системы в архиве с расширением .tar. Проанализировать его содержимое можно, к примеру, бесплатной программой с открытым исходным кодом iLEAPP. Существуют и коммерческие решения, в число которых входят решения Cellebrite UFED, Magnet AXIOM, MSAB XRY и Oxygen Forensic Detective. Некоторые из этих программ могут не поддерживать файловую систему iOS 16, но мы не сомневаемся, что такая поддержка в них появится в ближайшее время. Сейчас же можно использовать iLEAPP (которая, помимо прочего, ещё и бесплатна).

Возможные ошибки

В первое время у вас наверняка возникнут проблемы с переводом устройств в режим DFU. Это совершенно нормально; рекомендуем предварительно потренироваться на тестовых устройствах, соблюдая все инструкции и рекомендации по поводу подключения.

Иногда применить эксплойт не удаётся из-за того, что устройство находится в «неправильном» режиме DFU. В этом случае повторите попытку, точно следуя инструкциям из нашей статьи.

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

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

~/Elcomsoft/EIFT/logs

Если этого будет недостаточно, по запросу предоставляется отладочная сборка iOS Forensic Toolkit с максимально подробным журналированием.

TL;DR

Подведём итоги. После установки iOS Forensic Toolkit используйте следующие шаги:

Запустите терминал и перейдите в папку с установленным EIFT

./EIFT_cmd -w

Переведите устройство в режим DFU

./EIFT_cmd ramdisk unlockdata -s
./EIFT_cmd ramdisk keychain -o <path to keychain file>
./EIFT_cmd ramdisk tar -o <path to file system image>

Заключение

Несмотря на ограничения, наша реализация извлечения на основе эксплойта загрузчика (checkm8) по-прежнему остается лучшим и наиболее надежным методом доступа к данным поддерживаемых устройств. К сожалению, её практическая применимость для моделей iPhone 8, 8 Plus и iPhone X стремится к нулю — по крайней мере, до тех пор, пока не обнаружена уязвимость в SEP. Вероятно, в будущем станут доступны и другие способы низкоуровневого анализа iOS 16, использующие возможные уязвимости в самой операционной системе iOS. Впрочем, пока этого не произошло, а количество нововведений в области безопасности в iOS 16 достаточно велико.


  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

REFERENCES:

Elcomsoft iOS Forensic Toolkit

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

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

НАШИ НОВОСТИ