В нескольких поколениях Apple TV, основанных на чипах A5, A8 и A10X, присутствует уязвимость загрузчика, позволяющая извлечь из этих устройств данные посредством эксплойта checkm8. Уязвимость присутствует в моделях Apple TV 3 (2012 и 2013), Apple TV HD (ранее известный как Apple TV 4) 2015 и 2021 и Apple TV 4K (2017). В более новых версиях приставки уязвимость загрузчика была исправлена, но для упомянутых выше устройств доступно полноценное извлечение данных, о чём и пойдёт речь в данной статье.
Для извлечения данных из приставок Apple TV используйте следующую последовательность действий:
Обратите внимание: для установки эксплойта checkm8 на приставках первой модели Apple TV 3 (A1427) 2021 года вам потребуется дополнительное оборудование — Raspberry Pico, как и для iPhone 4s. Более поздняя версия A1469 поддерживается на программном уровне.
Для трёх поколений Apple TV используются разные подходы для их перевода в режим DFU. Проще всего это сделать с приставкой Apple TV 3, которую можно перевести в DFU при помощи любого совместимого пульта. Для Apple TV 4 (Apple TV HD) потребуется пульт Siri Remote, а для приставки Apple TV 4K первого поколения потребуется два дополнительных адаптера, которые придётся приобретать отдельно. Подробно о том, как перевести приставку в этот режим, мы писали в статье Перевод Apple TV 3 (2012-2013), Apple TV 4/HD (2015) и Apple TV 4K (2017) в режим DFU.
Рассмотрим процесс извлечения данных из приставки Apple TV в деталях.
В первую очередь устройство нужно подключить к компьютеру, для чего используется или кабель USB, или специальный адаптер (для модели Apple TV 4K). Далее приставка переводится в режим DFU (см. выше), для чего модель Apple TV 4K потребует ещё один дополнительный адаптер. Когда приставка окажется в режиме DFU, о чём сообщит мигание светодиодного индикатора, выполните следующую команду:
./EIFT_cmd boot
Как только инструментарий определит подключение приставки в режиме DFU, iOS Forensic Toolkit автоматически применит эксплойт. Определяется версия tvOS, установленная на устройстве, и предоставляется ссылка для скачивания. При наличии нескольких потенциальных совпадений будет выведено несколько ссылок для скачивания; рекомендуем использовать последнюю ссылку из списка. Загрузите файл по ссылке и перетащите его в окно консоли либо скопируйте URL прошивки (рекомендуется, если компьютер подключён к сети интернет), после чего нажмите ENTER.
В отличие от прошивок для iPhone и iPad, которые доступны в виде полных образов в формате IPSW, прошивки для приставок Apple TV труднодоступны и публикуются в виде OTA-обновлений. Для целей извлечения данных достаточно таких образов.
Во многих случаях версия tvOS будет автоматически определена EIFT на первом этапе эксплойта на основе версии iBoot и информации об аппаратном обеспечении устройства. Однако в некоторых случаях версия iBoot может соответствовать нескольким сборкам tvOS или и вовсе не определяться. Если использовать неправильный образ прошивки, у вас будет возможность либо повторить эксплойт с другой версией прошивки, либо продолжить с текущим образом (что в большинстве случаев сработает).
После того, как эксплойт успешно загрузит прошивку, выполните следующую команду:
./EIFT_cmd ramdisk unlockdata -s
Команда разблокирует раздел данных и монтирует его в режиме «только для чтения». На приставках Apple TV невозможно установить код блокировки, поэтому вводить его не придётся.
Следующая команда извлекает и расшифровывает связку ключей. Если путь не указан, файл будет сохранён в текущую папку.
./EIFT_cmd ramdisk keychain -o {filename}
Обратите внимание: в силу того, что на приставках Apple TV невозможно установить код блокировки, с них невозможно и получить доступ к облачным данным, защищённым сквозным шифрованием (для сквозного шифрования используется код блокировки экрана или системный пароль). Таким образом, количество записей связки ключей, извлечённых из приставки, будет заметно меньшим, чем можно получить при исследовании iPhone или iPad. Извлечены будут локальные записи связки ключей, которые были созданы на самом устройстве.
Следующая команда извлекает образ файловой системы с автоматическим подсчётом и сохранением контрольной суммы (посредством хэш-функции). Значение контрольной суммы сохраняется в той же папке, что и основной файл.
./EIFT_cmd ramdisk tar -o {filename}
Следующий шаг — анализ извлечённых данных. После извлечения данных загрузите образ данных и копию связки ключей в аналитический пакет. В настоящее время лишь немногие сторонние криминалистические пакеты оптимизированы для поддержки наборов данных, специфичных для телеприставок; в их число входит Elcomsoft Phone Viewer.
Альтернативой является исследование образа в ручном режиме. Для этого распакуйте образ файловой системы из архива .tar, после чего воспользуйтесь инструкциями из статьи Apple TV Forensics 03: Analysis.
Elcomsoft iOS Forensic Toolkit – специализированный инструмент для проведения криминалистического анализа устройств, работающих под управлением Apple iOS. Для анализа доступна вся пользовательская и системная информация, а также зашифрованные данные из системного хранилища (связка ключей).