Связка ключей — важная часть экосистемы Apple, встроенная в операционные системы iOS/iPadOS и macOS. В связке ключей пользователи могут сохранять данные для входа на сайты и в приложения, включая логины, пароли и секреты двухфакторной аутентификации. Но ценность связки ключей для эксперта-криминалиста не ограничивается одними паролями: в ней хранятся и ключи шифрования от безопасных мессенджеров, и маркеры аутентификации, использующиеся для автоматического входа на некоторые ресурсы.
В этой статье мы расскажем о том, чем отличается содержимое связки ключей, извлечённой из резервной копии в процессе логического анализа, и связки ключей, полученной непосредственно из устройства при помощи агента-экстрактора, входящего в состав iOS Forensic Toolkit.
Краткое содержание
Связка ключей: что внутри и как извлечь
В состав связки ключей входит несколько категорий данных.
Как мы видим, в связке ключей содержится информация, ценность которой для эксперта-криминалиста высока.
Как добраться до данных из связки ключей? Существует несколько способов. Первый, самый простой и наиболее совместимый — логический анализ. В процессе логического анализа создаётся локальная резервная копия устройства. Обратите внимание: связку ключей можно извлечь только и исключительно из резервных копий, защищённых паролем! Соответственно, если пароль на резервную копию не установлен, его необходимо будет установить вручную. При использовании нашего инструментария Elcomsoft iOS Forensic Toolkit необходимости в этом нет; наш продукт автоматически установит на создаваемую резервную копию временный пароль ‘123’, а после её создания — удалит этот пароль. Просмотреть связку ключей из резервной копии можно нашими утилитами Elcomsoft Phone Breaker или Elcomsoft Phone Viewer.
Недостаток этого способа в том, что с его помощью можно извлечь далеко не все записи. Так, многие логины и пароли будут успешно извлечены (но пароль от резервной копии iOS таким способом недоступен); в то же время маркеры аутентификации и ключи шифрования при помощи логического анализа недоступны.
Следующий способ — облачный анализ. Несмотря на то, что связка ключей попадает в облачные резервные копии, извлечь её оттуда невозможно: в составе резервных копий в iCloud связка ключей шифруется аппаратным ключом, извлечь который невозможно даже из самого устройства. Чтобы извлечь связку ключей из облака, воспользуемся другим сервисом Apple: облачной связкой ключей. Облачная связка ключей синхронизируется между доверенными устройствами пользователя, а для доступа к ней помимо стандартных логина и пароля (плюс второго фактора аутентификации) потребуется ввести ещё и код блокировки экрана или системный пароль от одного из доверенных устройств пользователя. Утилита, в которой это можно сделать — Elcomsoft Phone Breaker; в ней же можно и просмотреть извлечённые из облака данные.
Так же, как и при логическом анализе, из облачной связки ключей не удастся извлечь ни ключи шифрования, ни маркеры аутентификации, ни пароль от резервных копий устройства. Все эти записи доступны исключительно в процессе низкоуровневого анализа.
Способов низкоуровневого анализа существует несколько. Для старых устройств (до iPhone 8/8 Plus/iPhone X включительно) доступен метод, основанный на эксплойте загрузчика checkm8. Мы неоднократно писали и о самом этом методе, и о его преимуществах. Недостаток данного способа — в ограниченной аппаратной совместимости: уже для iPhone Xs, не говоря о линейках iPhone 11, 12 и 13, этот метод недоступен.
Для остальных устройств Apple (включая самые свежие модели iPhone 13 Pro Max) извлечь связку ключей можно с использованием агента-экстрактора, который входит в состав Elcomsoft iOS Forensic Toolkit. Агент-экстрактор использует известные уязвимости уровня ядра, получая с их помощью привилегии суперпользователя. До недавнего времени агент-экстрактор можно было успешно использовать для извлечения файловой системы, а расшифровка связки ключей работала ограниченно и не для всех комбинаций аппаратного обеспечения и версий iOS. В новой версии Elcomsoft iOS Forensic Toolkit ограничения оставлены в прошлом: теперь для подавляющего большинства устройств связку ключей можно расшифровать до версии iOS 15.1.1 включительно. Единственное исключение — новый iPad Pro 5 поколения, собранный на основе процессора Apple M1. Для него поддерживаются версии iOS до 15.1 включительно.
В новой версии инструментария есть и ещё один плюс. Раньше в процессе извлечения связки ключей приходилось внимательно следить за экраном устройства и оперативно вводить код блокировки экрана (либо использовать Touch ID/Face ID) в момент, когда система его запрашивала. Даже с учётом этого некоторые записи из связки ключей время от времени не могли быть расшифрованы. Эти ограничения также остались в прошлом: в iOS Forensic Toolkit 7.50 какая-либо дополнительная аутентификация на устройстве не требуется, а расшифровка стабильно срабатывает для всех записей из связки ключей.
Использование iOS Forensic Toolkit для извлечения связки ключей: пошаговая инструкция
Установка программы
Установка EIFT 7.x не отличается от процесса установки любого другого приложения. В Windows достаточно запустить мастер установки, а в macOS — смонтировать скачанный с нашего сайта образ DMG и скопировать иконку продукта в Applications.
Для бета-версии EIFT 8.0 процесс требует дополнительного внимания. После того, как нужный образ DMG будет смонтирован (их два: один для macOS Big Sur и Monterey, с поддержкой процессоров Intel и M1, и второй — для macOS High Sierra, Mohave и Catalina), скопируйте папку с EIFT на рабочий стол или в любую другую папку, после чего снимите флажок карантина с созданной папки, запустив следующую команду:
xattr -r -d com.apple.quarantine <путь_к_папке>
Далее перейдите в папку командой cd и запустите EIFT:
./EIFT_cmd <parameters>
Установка агента-экстрактора
Подключите устройство (iPhone или iPad) к компьютеру кабелем Lightning или (для некоторых моделей iPad) USB Type-C и установите доверенные отношения между устройством и компьютером (для этого, как правило, необходимо подтвердить соответствующий запрос на экране устройства, после чего ввести код блокировки экрана).
В EIFT v7 установка агента осуществляется командой [1] из меню. В EIFT v8 запустите команду:
./EIFT_cmd agent install
Введите Apple ID и пароль, после чего, если потребуется, пройдите двухфакторную аутентификацию.
Важно: не используйте Apple ID пользователя, устройство которого исследуется. В статье Установка агента-экстрактора на iPhone подробно рассказано о том, какой именно Apple ID нужно использовать для установки агента-экстрактора.
Обратите внимание: установка агента может завершиться ошибкой, если на устройстве установлены неправильная дата и время .
После установки агента на устройстве должна появиться иконка Acquisition.
Использование агента-экстрактора
Запустите агент на устройстве, коснувшись соответствующей иконки:
В EIFT v7 запустите извлечение связки ключей командой [2] из меню. Программа запросит путь, по которому будет сохранена связка ключей. В EIFT v8 выполните следующую команду:
./EIFT_cmd agent keychain -o <filename>
Агент извлечёт связку ключей и сохранит её по указанному пути в файле XML (обратите внимание на то, что имя файла для сохранения связки ключей должно быть уникальным; если файл с таким именем уже существует, извлечение закончится неудачей). Просмотреть содержимое связки ключей можно в программе Elcomsoft Phone Breaker либо вручную.
Стадия применения эксплойта может занять до нескольких минут; обычно всё происходит гораздо быстрее.
Иногда извлечение связки ключей не срабатывает с первого запуска: либо на экране устройства появляется сообщение “All exploits failed” (в таком случае просто перезагрузите устройство и повторите попытку; переустанавливать агент не нужно, просто запустите его заново), либо устройство перезагрузится само по себе. Некоторые эксплойты, которые мы используем, требуют до 3-5 попыток.
Вы также можете извлечь образ файловой системы в виде архива .tar, и, наконец, удалить агент с устройства.
Совместимость
Связку ключей можно извлечь посредством эксплойта checkm8 или агента-экстрактора из следующих устройств:
iPhone SE (3 поколения, 2022) не входит в список, т.к. был выпущен с iOS 15.4. Мы не приводим список других совместимых устройств (разные модели iPod Touch, все модели iPad, включая Mini/Air/Pro, Apple Watch и Apple TV); в целом, их поддержка аналогична поддержке iPhone с аналогичными процессорами.
Для удобства — альтернативное представление:
Звёздочка (*) означает, что модель поддерживается, но необходимо заранее удалить пароль устройства (только для iOS 14 и iOS 15). Мы работаем над устранением этого ограничения для iPhone 7. Также обратите внимание, что агент-экстрактор недоступен для Apple TV (хотя сам эксплойт checkm8 доступен).
Мы прилагаем все усилия для поддержки новых версий iOS, включая iOS 15.2 и выше. Следите за обновлениями!
Заключение
Извлечение связки ключей в процессе судебной экспертизы мобильных устройств часто упускается из виду. Мы рекомендуем извлекать связку ключей, если такая возможность существует.
Elcomsoft iOS Forensic Toolkit – специализированный инструмент для проведения криминалистического анализа устройств, работающих под управлением Apple iOS. Для анализа доступна вся пользовательская и системная информация, а также зашифрованные данные из системного хранилища (связка ключей).
Инструмент для криминалистов, извлекающий и расшифровывающий данные из резервных копий устройств iOS, Windows Phone и BlackBerry и соответствующих облачных сервисов. Доступ в iCloud по паролю либо маркеру аутентификации, извлечённому из компьютера пользователя. Поддержка двухфакторной аутентификации. Расшифровка Keychain и ускорение перебора паролей на видеокартах AMD и NVIDIA. Словарные атаки для ускоренного восстановления паролей.
Elcomsoft Phone Viewer – простой и компактный инструмент для просмотра информации, извлечённой из резервных копий устройств под управлением Apple iOS, облачных сервисов iCloud и Microsoft. При работе с данными iOS поддерживается восстановление и просмотр удалённых сообщений SMS и iMessage. Продукт позволяет просматривать контакты, сообщения, список звонков, данные заметок и календаря.