Бета-тестирование iOS Forensic Toolkit 8.0 завершено: восьмая версия инструментария представлена официально! В новом релизе появилась поддержка криминалистически чистого извлечения данных из нескольких десятков моделей Apple с использованием эксплойта загрузчика checkm8 и добавлена поддержка командной строки.
checkm8 — эксплойт уязвимости, три года назад обнаруженной в ряде моделей iPhone и других устройств Apple. Эксплойт позволяет получить полный доступ к содержимому устройства и исполнять произвольный код почти независимо от того, какая версия iOS установлена на устройстве. Уязвимость присутствует в нескольких десятках устройств; ей подвержены как смартфоны iPhone, так и многие поколения планшетов iPad, приставки Apple TV, часы Apple Watch и устройства iPod Touch. Сегодня checkm8 пользуется заслуженной популярностью у мобильных криминалистов. Существует множество решений, основанных на этом эксплойте, но ни одно из них не является совершенным, что сподвигло нас к разработке собственной реализации.
Новый метод извлечения основан на использовании эксплойта checkm8, который использует уязвимость в загрузчике ряда моделей Apple. При точном следовании инструкциям его использование не оставляет следов и позволяет добиться верифицируемых и полностью повторяемых результатов. Для использования метода с iOS Forensic Toolkit необходимо перевести смартфон в режим DFU, применить эксплойт и загрузить модифицированный код, созданный на лету на основе скачанного с сайта Apple образа прошивки. Все операции автоматизированы и осуществляются посредством командной строки в iOS Forensic Toolkit 8.0.
Сейчас восьмая версия инструментария доступна только для компьютеров с macOS, но версии для Linux и Windows уже на подходе. Поддерживаются компьютеры с macOS, собранные как на чипах Intel x86, так и на Apple Silicon (процессоры поколений M1 и M2).
В нашей реализации эксплойта поддерживается 76 моделей iPhone, iPod Touch, iPad, Apple Watch и Apple TV, работающих под управлением ряда версий iOS вплоть до iOS 15.7 с ограниченной поддержкой iOS 16. Поддерживаются следующие поколения процессоров:
S5L8930, S5L8940, S5L8942, S5L8945, S5L8947, S5L8950, S5L8955, S5L8960, S5L8965, T7000, T7001, S8000, S8001, S8003, T8004, T8010, T8011, T8015
Вот полный список поддерживаемых устройств:
После выхода эксплойта checkm8 разработчики Apple попытались хотя бы частично поправить ситуацию, усилив защиту SEP в линейках iPhone 7, 7 Plus, 8, 8 Plus и iPhone X в iOS 15. Дополнительная защита заставляет экспертов удалять код блокировки экрана на iPhone 8, 8 Plus и iPhone X, работающих под управлением iOS 14-15.7; в то же время для моделей iPhone 7 и 7 Plus мы нашли возможность этого не делать.
В то же время поддержка iOS 16 ограничена в силу изменений в защите SEP, внедрённых Apple в официальной версии iOS 16. Реализация SEP на устройствах с процессорами А11 (а это — iPhone 8, 8 Plus и iPhone X) не позволяет эксплойту загрузчика получить доступ к разделу данных, если на устройстве хотя бы единожды с момента настройки был установлен код блокировки экрана, даже если он был впоследствии удалён.
Актуальная матрица совместимости выглядит следующим образом:
checkm8 не распространяется на защиту Secure Enclave. Соответственно, на новых устройствах, оборудованных сопроцессором безопасности Secure Enclave, использовать checkm8 для взлома кода блокировки экрана не удастся (получится провести ограниченное извлечение в «холодном» режиме BFU, «до первой разблокировки»).
В то же время на старые устройства это правило не распространяется, и мы смогли реализовать полноценное решение для разблокировки устройств iPhone 4, 4s, 5 и 5c. Для этих моделей доступны функции подбора кода блокировки и полноценного низкоуровневого извлечения. Для модели iPhone 4s потребуется дополнительный микроконтроллер со специализированной прошивкой (checkm8: Разблокировка и извлечение данных из iPhone 4s).
Как уже говорилось, для 64-разрядных устройств с неизвестным кодом блокировки экрана доступно извлечение в ограниченном «холодном» режиме, так называемом режиме BFU («до первой разблокировки»). В этом режиме можно получить доступ к той и только той информации, которая не зашифрована ключом, основанным на коде блокировки экрана. Сюда входят такие данные, как журнал звонков, список учётных записей, черновики сообщений (SMS/iMessage) и вложения к ним (только к черновикам!), а также некоторые данные геолокации и данные некоторых приложений. Кроме того, в открытом виде хранятся журналы WAL от многих баз данных.
Расширенное логическое извлечение — самый простой и совместимый способ добраться до ценных данных, в состав которых входят локальные резервные копии, некоторые системные журналы, файлы приложений и медиа-файлы (фото и видео). В то же время в процессе логического извлечение остаются недоступными многие виды данных, представляющих серьёзный интерес для эксперта-криминалиста. В число недоступных входят такие данные, как переписка в программах мгновенного обмена сообщениями (Telegram, Signal и других), данные о местоположении, базы данных SQLite, переписка в почтовых клиентах и многое другое. Все эти данные доступны в процессе низкоуровневого извлечения через эксплойт загрузчика.
Первые решения для мобильной криминалистики, использующие уязвимость загрузчика, были созданы на основе помощью checkra1n. checkra1n — это публичный джейлбрейк с закрытым исходным кодом, в основе которого лежит checkm8. Посредством checkra1n извлекается дает такой же объем данных, как и при помощи любого другого джейлбрейка. Так же, как и при использовании других джейлбрейков, использование checkra1n неизбежно модифицирует содержимое устройства, что с точки зрения мобильной криминалистики совсем не приветствуется.
В сравнении с checkra1n наше решение обладает следующими отличиями:
Вместо консольного меню, которое использовалось в седьмой версии инструментария, в обновлённом продукте мы пришли к интерфейсу командной строки. Использование командной строки предоставляет возможность автоматизации рутинных операций, предлагая в то же время и полный контроль за каждым шагом процесса, позволяя оперативно вмешаться, если тот или иной шаг потребует дополнительных действий. Используя командную строку, можно как создать файлы-скрипты, запуск которых позволит извлекать данные из устройств Apple в полностью автоматическом режиме, так и корректно обрабатывать ситуации, время от времени возникающие в сложных случаях.
С официальным выходом восьмой версии iOS Forensic Toolkit становится самым продвинутым инструментом для извлечения данных из устройств с iOS, поддерживая все существующие способы доступа к данным, включая расширенный логический анализ, низкоуровневое извлечение посредством агента-экстрактора и извлечение через эксплойт checkm8.
Elcomsoft iOS Forensic Toolkit – специализированный инструмент для проведения криминалистического анализа устройств, работающих под управлением Apple iOS. Для анализа доступна вся пользовательская и системная информация, а также зашифрованные данные из системного хранилища (связка ключей).