В недавнем обновлении Elcomsoft iOS Forensic Toolkit получил возможность извлечения образа файловой системы из ряда устройств под управлением iOS, включая модели от iPhone 5s до iPhone X включительно. Новая возможность работает независимо от установленной в телефоне версии iOS; подробности – в статье iOS Device Acquisition with checkra1n Jailbreak. Сегодня же мы хотим рассказать об очередном нововведении в продукте: возможности частичного извлечения Связки ключей и особенностей работы с заблокированным устройством, даже если разблокировать его невозможно.
Заблокированные устройства и устройства после холодного старта
Что такое заблокированное устройство? В зависимости от контекста термин имеет множество значений. Мы будем понимать под «заблокированным» такое устройство, экран которого заблокирован неизвестным кодом блокировки либо на экране устройства присутствует надпись «iPohne отключен. Подключитесь к iTunes».
Ещё один важный термин – «устройство после холодного старта» или «устройство после холодной загрузки». Лучше всего его смысл передаёт англоязычная аббревиатура BFU, или “Before First Unlock”. Эта аббревиатура означает, что устройство ни разу не было разблокировано пользователем после его включения или перезагрузки.
Почему так важен момент с разблокировкой после загрузки? Дело в механизме шифрования, который используется в iOS. В современных версиях системы почти все пользовательские данные зашифрованы, а ключ шифрования вычисляется в момент первой разблокировки устройства после загрузки – и зависит этот ключ от кода блокировки экрана. Соответственно, если код блокировки экрана неизвестен, то и получить ключ шифрования невозможно, а следовательно – большая часть данных останется зашифрованной, и расшифровать её не получится до момента ввода правильного кода блокировки экрана.
Однако оставшуюся, меньшую часть данных можно попытаться извлечь. Для этого используем свежую версию Elcomsoft iOS Forensic Toolkit 5.21.
Работа с заблокированным устройством
Сразу оговоримся: мы не оказываем услуг по взлому кода блокировки. Однако даже из заблокированных устройств можно извлечь полезную информацию. Если устройство разблокировалось хотя бы раз после загрузки, то можно провести логический анализ, использовав файл lockdown с компьютера пользователя. При таком способе доступа можно извлечь резервную копию, медиа-файлы и некоторые журналы, а также данные некоторых приложений.
Второй способ более интересен. Если на устройство можно установить джейлбрейк checkra1n, то из него можно извлечь часть файловой системы, а теперь и часть Связки ключей даже в том случае, если устройство заблокировано или было перезагружено холодным стартом.
С новой версией Elcomsoft iOS Forensic Toolkit у пользователей появилась возможность частичного извлечения Связки ключей. В силу реализации механизма шифрования iOS извлечь возможно далеко не все записи; однако важен сам факт того, что можно извлечь хотя бы некоторые из них из заблокированного устройства после холодного старта.
А что насчёт устройств, на экране которых выведена надпись «Подключите к iTunes»? Как правило, эта надпись появляется после 10 неудачных попыток ввести код блокировки. Если в системе не была включена опция «Стирать данные после 10 неудачных попыток», то новый режим частичного извлечения Связки ключей сработает и в этом случае.
Извлечение Связки ключей
Итак, команда ([K]eychain) теперь работает и в режиме холодного старта, с заблокированным экраном и неизвестным кодом блокировки. Если же код блокировки известен – введите его для доступа к полной Связке ключей.
В режиме холодного старта доступны только записи с атрибутами kSecAttrAccessibleAlways и kSecAttributeAccessibleAlwaysThisDeviceOnly. Таких записей довольно много, как показано на скриншоте. Однако с известным кодом блокировки можно извлечь ещё больше данных:
В новой версии EIFT содержимое Связки ключей сохраняется в файл с новым именем:
keychain_UDID_timestamp.xml (где UDID – уникальный идентификатор устройства)
Что именно доступно при анализе Связки ключей заблокированных устройств и как просмотреть извлечённые данные? Файл можно просмотреть вручную (формат XML), но удобнее воспользоваться утилитой Elcomsoft Phone Breaker, команда Explore keychain. Предварительно переименуйте файл в keychaindump.xml:
Просмотр моей Связки ключей показал записи (и пароли), относящиеся к почтовым сервисам mail.ru и rambler.ru, однако их местоположение было нестандартным:
Что-нибудь ещё? Несколько записей с логинами (как правило, адресами электронной почты) и идентификатор Skype.
Режим ограничения USB
Анализ устройства с iOS 13.3 с джейлбрекйом checkra1n привёл к активации защитного режима USB, который появился в iOS 11.4.1. Нашим первым предположением стала реакция Apple на новый джейлбрейк. Предположение оказалось неверным, ошибка крылась в самом джейлбрейке. Соответственно, мы рекомендуем не использовать последние две версии (0.9.7 и 0.9.6); вместо них установите версию 0.9.5 с сайта https://checkra.in/releases/. Эта сборка работает даже с устройствами, которые уже перешли в защитный режим. Единственный недостаток этой сборки – отсутствие поддержки некоторых устройств.
Дополнительная информация о режиме ограничения USB доступна в документе Activating data connections securely на странице Apple Platform Security (Fall 2019) (PDF):
To improve security while maintaining usability Touch ID, Face ID, or passcode entry is required to activate data connections via the Lightning, USB, or Smart Connector interface if no data connection has been established recently. This limits the attack surface against physically connected devices such as malicious chargers while still enabling usage of other accessories within reasonable time constraints. If more than an hour has passed since the iOS or iPadOS device has locked or since an accessoryʼs data connection has been terminated, the device wonʼt allow any new data connections to be established until the device is unlocked. During this hour period, only data connections from accessories that have been previously connected to the device while in an unlocked state will be allowed. These accessories are remembered for 30 days after the last time they were connected. Attempts by an unknown accessory to open a data connection during this period will disable all accessory data connections over Lighting, USB, and Smart Connector until the device is unlocked again. This hour period:
- Ensures that frequent users of connections to a Mac or PC, to accessories, or wired to CarPlay wonʼt need to input their passcodes every time they attach their device.
- Is necessary because the accessory ecosystem doesnʼt provide a cryptographically reliable way to identify accessories before establishing a data connection.
In addition, if itʼs been more than three days since a data connection has been established with an accessory, the device will disallow new data connections immediately after it locks. This is to increase protection for users that donʼt often make use of such accessories. Data connections over Lightning, USB, and Smart Connector are also disabled whenever the device is in a state where it requires a passcode to reenable biometric authentication.
The user can choose to reenable always-on data connections in Settings (setting up some assistive devices does this automatically).
Анализ информации
Для просмотра Связки ключей можно использовать Elcomsoft Phone Breaker, но что насчёт образа файловой системы? Этот образ сохраняется в файле с таким именем:
UDID_timestamp.tar (в предыдущих версиях EIFT использовалось имя user.tar)
Во-первых, можно использовать наш собственный продукт Elcomsoft Phone Viewer (в редакции Forensic), простой и легковесный инструмент для просмотра некоторых категорий данных:
В режиме холодного старта доступен список установленных приложений, некоторые данные приложения Wallet, точки доступа Wi-Fi, множество медиа-файлов, уведомления и точки местоположения.
Кроме того, вы можете использовать для анализа соответствующий криминалистический пакет. Мы протестировали большинство из доступных пакетов, и остановили свой выбор на ПО «Мобильный криминалист» компании Oxygen. Пакет определённо лучший в своём классе, значительно превосходящий по возможностям более дорогой UFED Physical Analyzer (который являлся лидером в прошлом).
В TAR архиве помимо пользовательских данных приложений, которые зачастую попадают и в резервную копию iTunes, содержатся и файлы с информацией о системных процессах iPhone. Например, файл knowledgeC.db содержит данные о времени блокировки/разблокировки экрана, времени перевода устройства в режим полёта, времени регистрации устройства в сети с указанием оператора и времени подключения к WiFi точкам.
Из устройства в состоянии холодного старта можно извлечь далеко не все файлы, однако и в этом случае можно получить ценную информацию. Так, файл /private/var/wireless/Library/Databases/DataUsage.sqlite содержит информацию о сетевой активности приложений. В папке /private/var/preferences/ можно найти информацию о сетевых интерфейсах а в /private/var/mobile/Library/Voicemail/ сообщения голосовой почты. Криминалистические программы в той или иной степени отображают эти данные после извлечения устройства. Заметим, что наиболее полный набор полезной информации оказывается доступен при работе с Oxygen.
Помимо этого, в режиме холодного старта доступны папки, в которых хранятся системные журналы. До настоящего времени интерес к этим файлам был невелик, т.к. устройства в режиме холодного старта с возможностью установить джейлбрейк встречались нечасто, однако теперь значимость этих данных существенно выросла, и все ведущие разработчики криминалистического ПО ведут исследования этих данных. Так, от Oxygen известно, что эти журналы могут содержать такую информацию, как серийный номер устройства, IMEI, MEID, список Wi-Fi точек и их геокоординаты.
Наконец, содержимое TAR-файла можно изучить и вручную, как описано в статье Analyzing extractions «Before First Unlock».
Так же, как и в случае со Связкой ключей, анализ файловой системы в режиме холодного старта возвращает ограниченное количество данных. Наше тестовое устройство (iPhone X с iOS 12.4) содержит порядка 150 ГБ данных; в режиме холодного старта из них доступно всего 45 ГБ.
Планы на будущее
Извлечение данных из iPhone с использованием нового повеления джейлбрейка – интересный, но несколько рискованный и не слишком «чистый» с точки зрения криминалистики способ. Мы работаем над интеграцией уязвимости непосредственно в наш продует, что позволит сделать весь процесс извлечения проще, быстрее и безопаснее.
Elcomsoft iOS Forensic Toolkit – специализированный инструмент для проведения криминалистического анализа устройств, работающих под управлением Apple iOS. Для анализа доступна вся пользовательская и системная информация, а также зашифрованные данные из системного хранилища (связка ключей).
Инструмент для криминалистов, извлекающий и расшифровывающий данные из резервных копий устройств iOS, Windows Phone и BlackBerry и соответствующих облачных сервисов. Доступ в iCloud по паролю либо маркеру аутентификации, извлечённому из компьютера пользователя. Поддержка двухфакторной аутентификации. Расшифровка Keychain и ускорение перебора паролей на видеокартах AMD и NVIDIA. Словарные атаки для ускоренного восстановления паролей.
Elcomsoft Phone Viewer – простой и компактный инструмент для просмотра информации, извлечённой из резервных копий устройств под управлением Apple iOS, облачных сервисов iCloud и Microsoft. При работе с данными iOS поддерживается восстановление и просмотр удалённых сообщений SMS и iMessage. Продукт позволяет просматривать контакты, сообщения, список звонков, данные заметок и календаря.