Связка ключей iOS: не только пароли

7 июля, 2022, Vladimir Katalov
Рубрика: «Новость Элкомсофт», «Полезные советы»
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

Связка ключей — важная часть экосистемы Apple, встроенная в операционные системы iOS/iPadOS и macOS. В связке ключей пользователи могут сохранять данные для входа на сайты и в приложения, включая логины, пароли и секреты двухфакторной аутентификации. Но ценность связки ключей для эксперта-криминалиста не ограничивается одними паролями: в ней хранятся и ключи шифрования от безопасных мессенджеров, и маркеры аутентификации, использующиеся для автоматического входа на некоторые ресурсы.

В этой статье мы расскажем о том, чем отличается содержимое связки ключей, извлечённой из резервной копии в процессе логического анализа, и связки ключей, полученной непосредственно из устройства при помощи агента-экстрактора, входящего в состав iOS Forensic Toolkit.

Краткое содержание

  • Связка ключей — важный источник цифровых улик
  • Только низкоуровневый анализ позволяет извлечь полный вариант связки ключей
  • iOS Forensic Toolkit 7.50 извлечёт связку ключей из устройств с любой версией iOS до 15.1.1 включительно (а из iPad Pro 5 с процессором M1 — до 15.1)
  • Для доступа к связке ключей больше не нужно вводить код блокировки экрана
  • Пошаговые инструкции

Связка ключей: что внутри и как извлечь

В состав связки ключей входит несколько категорий данных.

  1. Логины и пароли к веб-сайтам (Safari) и некоторым приложениям. Именно эта часть связки ключей лучше всего изучена и может быть извлечена множеством различных способов.
  2. Начиная с iOS 15, в связке ключей сохраняются и секретные данные, необходимые для генерации кодов двухфакторной аутентификации по протоколу TOTP. Таким образом, по части генерации кодов связка ключей заменяет собой такие приложения, как Google Authenticator или Microsoft Authenticator (не заменяя, впрочем, ту часть функционала этих приложений, которая основана на доставке push-уведомлений). Эти данные синхронизируются между устройствами через iCloud посредством облачной связки ключей.
  3. В связке ключей хранятся и такие данные, как пароль от локальных резервных копий. Впрочем, добраться до этих данных можно исключительно методами низкоуровневого анализа.
  4. Маркеры аутентификации. Для ряда ресурсов в связке ключей сохраняются двоичные маркеры аутентификации, позволяющие автоматически авторизовать пользователя без запроса логина и пароля. Извлекаются исключительно низкоуровневыми способами.
  5. Ключи шифрования, в том числе и те, которые используются для защиты рабочих баз данных некоторых безопасных мессенджеров. Извлекаются исключительно низкоуровневыми способами.

Как мы видим, в связке ключей содержится информация, ценность которой для эксперта-криминалиста высока.

Как добраться до данных из связки ключей? Существует несколько способов. Первый, самый простой и наиболее совместимый — логический анализ. В процессе логического анализа создаётся локальная резервная копия устройства. Обратите внимание: связку ключей можно извлечь только и исключительно из резервных копий, защищённых паролем! Соответственно, если пароль на резервную копию не установлен, его необходимо будет установить вручную. При использовании нашего инструментария 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 5s, iPhone 6, iPhone 6s, iPhone SE (1 поколения), iPhone 7, iPhone 8, iPhone X: все поддерживаемые соответствующим устройством версии iOS
  • iPhone Xr/Xs, iPhone 11, iPhone 12, iPhone SE (2 поколения), iPhone 13: до iOS 15.1.1 включительно

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 и выше. Следите за обновлениями!

Заключение

Извлечение связки ключей в процессе судебной экспертизы мобильных устройств часто упускается из виду. Мы рекомендуем извлекать связку ключей, если такая возможность существует.


  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

REFERENCES:

Elcomsoft iOS Forensic Toolkit

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

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


Elcomsoft Phone Breaker

Инструмент для криминалистов, извлекающий и расшифровывающий данные из резервных копий устройств iOS, Windows Phone и BlackBerry и соответствующих облачных сервисов. Доступ в iCloud по паролю либо маркеру аутентификации, извлечённому из компьютера пользователя. Поддержка двухфакторной аутентификации. Расшифровка Keychain и ускорение перебора паролей на видеокартах AMD и NVIDIA. Словарные атаки для ускоренного восстановления паролей.

Официальная страница Elcomsoft Phone Breaker »


Elcomsoft Phone Viewer

Elcomsoft Phone Viewer – простой и компактный инструмент для просмотра информации, извлечённой из резервных копий устройств под управлением Apple iOS, облачных сервисов iCloud и Microsoft. При работе с данными iOS поддерживается восстановление и просмотр удалённых сообщений SMS и iMessage. Продукт позволяет просматривать контакты, сообщения, список звонков, данные заметок и календаря.

Официальная страница Elcomsoft Phone Viewer »

НАШИ НОВОСТИ