Низкоуровневый анализ iOS: установка агента-экстрактора

19 июля, 2023, Oleg Afonin
Рубрика: «Полезные советы»
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

Чтобы добраться до информации, которая хранится в современных моделях iPhone на чипах A12 Bionic и более свежих, вам понадобится использовать один из доступных методов доступа к данным, наиболее полным и универсальным из которых является агент-экстрактор. В этой статье мы обсудим нюансы, возникающие в процессе установке агента-экстрактора на iPhone.

Обратите внимание: поддержка версий iOS с 9 по 11 агентом-экстрактором доступна в сборках iOS Forensic Toolkit 8.23 или 7.81, ссылку на которые можно запросить в нашей службе поддержки. В более новых сборках iOS Forensic Toolkit поддержка старых версий iOS была убрана по техническим причинам.

Как это работает?

С технической точки зрения, агент-экстрактор — это компактное приложение для iOS, которое при запуске пытается выйти за пределы «песочницы» при помощи одного или нескольких эксплойтов. Таким способом приложение пытается получить полный низкоуровневый доступ к файловой системе со всеми папками и файлами, а также доступ к ключам шифрования, которые нужны для расшифровки связки ключей.

Этот процесс достаточно сложен: в iOS используется многослойная защита, для преодоления которой недостаточно просто получить привилегированный доступ к ядру. В современных версиях системы используются цепочки эксплойтов; это необходимо для полного доступа к файлам. Но прежде, чем запустить приложение, его нужно сначала установить на iPhone. Об этом и пойдёт речь в сегодняшней статье.

Как работает установка агента

Официальный и единственно поддерживаемый способ установить приложение на устройство с iOS — официальный App Store, целиком и полностью контролируемый Apple. Очевидно, что программу-агента, в состав которой входят многочисленные эксплойты уязвимостей ОС, в официальный магазин не пропустят никогда и ни под каким видом. Чтобы установить программу-агента на iPhone или iPad, придётся прибегнуть к некоторым ухищрениям.

Во-первых, для iOS 16 нужно будет включить на устройстве режим разработчика; только после этого вы сможете установить на устройство приложение из стороннего источника. Для более старых версий ОС этого делать не нужно. Во-вторых, нужно понимать, что Apple не поддерживает установку из сторонних источников за единичными исключениями — например, с целью внутреннего тестирования приложения в процессе разработки, для чего используется официальная среда Xcode. В будущем ситуация может измениться, но пока об этом известно очень мало.

После установки приложения под обычной учётной записью (не участвующей в программе для разработчиков), нужно дополнительно зайти в Settings > General > Device Management и подтвердить сертификат установленного приложения. Верификация происходит на сервере ppq.apple.com. Этот дополнительный шаг нужен для того, чтобы система могла запустить приложение. Обратная сторона — устройству нужен будет доступ в сеть, что может привести к нежелательным последствиям. Обойти их можно использованием учётной записи разработчика либо при помощи аппаратного или программного файрволла (об этом ниже).

Тип Apple ID

Если на устройстве не установлен джейлбрейк (а он не установлен практически никогда), то загрузка агента потребует учётных данных от записи Apple ID; каких-либо альтернатив просто не существует. Дальнейшее развитие событий зависит от того, зарегистрирована ли учётная запись, которую вы будете использовать для подписи агента, в программе Apple для разработчиков. Обычные учётные записи можно использовать для загрузки агента только с компьютеров Mac, а учётные записи разработчиков — с Mac и Windows. Кроме того, при использовании обычных учётных записей вам потребуется верифицировать на устройстве цифровую подпись, для чего устройство придётся выпустить в интернет со всеми сопутствующими рисками.

Программа Apple для разработчиков

Если у вас есть старая учётная запись, зарегистрированная в программе Apple Developer до 6 июля 2021, считайте, что вам повезло: вы сможете загружать и запускать приложение агента-экстрактора без необходимости верификации цифровой подписи. Если ваша учётная запись была зарегистрирована позже, то при первом запуске агента потребуется пройти дополнительную проверку, которая обрабатывается сервером humb.apple.com. Впрочем, это относится только к устройствам под управлением iOS 15 и 16.

Если используется корпоративная учётная запись, обратите внимание: разрешения Developer недостаточно; нужно предоставить ещё и разрешение App Manager.

Ещё одна особенность: учётные записи разработчика позволяют зарегистрировать до 100 устройств каждого типа (в нашем случае — iPhone и iPad) в год, однако после первых десяти устройств возникнет задержка, и регистрация каждого нового устройства будет обрабатываться до 72 часов. Причины этого нам неизвестны; вряд ли дело в том, что Apple хотят помешать работы криминалистов.

Обычные Apple ID

При помощи обычных Apple ID можно загружать приложения (в том числе агента-экстрактора) только с компьютеров с macOS, при этом в учётной записи обязательно должно присутствовать ранее зарегистрированное доверенное устройство. Это — не единственное ограничение: вам потребуется верифицировать цифровую подпись загруженного приложения в режиме онлайн. Риски очевидны: удалённая блокировка или сброс устройства, нежелательная синхронизация данных.

Наконец, последнее ограничение: обычные учётные записи можно использовать для подписи не более трёх устройств в неделю. Обойти это ограничение легко: достаточно создать новый Apple ID (не забывайте о требовании привязки к доверенному устройству!)

Два слова о файрволлах

Обезопасить онлайновую проверку цифровой подписи можно как минимум двумя способами: программным и аппаратным. Аппаратный способ универсальнее и надёжнее, но потребует дополнительного оборудования (Raspberry Pi или Orange Pi), адаптеров и кабелей. Ни одно из двух решений не является в надёжным в долгосрочной перспективе: Apple может изменить процедуру проверки цифровой подписи в любой момент.

Заключение

У вас есть учётная запись, зарегистрированная в программе Apple для разработчиков до июня 2021? Вам повезло: вы сможете загружать приложения легко и удобно. В противном случае гнаться за платным участием в программе для разработчиков не имеет большого смысла (разве что вы используете компьютер с Windows вместо Mac): так или иначе, но онлайновую проверку при загрузке или запуске агента-экстрактора вам пройти придётся.


  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
НАШИ НОВОСТИ