Iphone Penetration Test

Iphone Penetration Test

Электронное облако


Защита iPhone становится более жесткой с каждым обновлением. Код доступа чрезвычайно сложно сломать, и это только первый уровень защиты. Даже если устройство разблокировано или вы знаете код доступа, не так просто и иногда невозможно получить доступ ко всем данным, хранящимся на устройстве. Это включает, например, разговоры в Signal, одном из самых безопасных мессенджеров. Apple сделала очень хорошую работу в качестве защитника конфиденциальности и безопасности.


Поэтому мы решили обратить внимание на облачный сервис Apple. Мы стали первыми, кто извлек копии, резервного копирования ICloud несколько лет назад, и мы прилагаем все усилия, чтобы получить больше данных из облака: от стандартных категорий, доступных на www.icloud.com (например, контакты, заметки, календари, фотографии и многое другое) до скрытых записей, таких как журналы вызовов, местоположений и маршрутов Apple Maps, данные сторонних приложений, хранящихся на диске iCloud (недоступных никакими другими способами), keychain iCloud (настоящий жемчуг!) и с недавних пор сообщений (с iOS 11.4, они также могут быть синхронизированы).


Проникновения в icloud не такая простая задача, как кажется. Во-первых, вам нужны учетные данные пользователя - Apple ID и пароль, по крайней мере, и часто второй фактор аутентификации. Кроме того, для некоторых категорий (таких как цепочка ключей и сообщений) вам также потребуется код доступа к одному из «доверенных» устройств. Но даже имея все это, вы по-прежнему сталкиваетесь с протоколами iCloud, шифрованием (обычно на основе известных стандартных алгоритмов, но иногда с пользовательскими изменениями), различными форматами хранения данных, обфускацией кода и сотнями других проблем. Мы узнали, как обмануть двухфакторную аутентификацию и извлечение и токены аутентификации с рабочих столов. Мы играем в «кошки-мышки» с Apple, когда они пытаются заблокировать учетные записи iCloud при обнаружении того, что наше программное обеспечение используется для доступа к данным. Мы должны отслеживать изменения и обновления Apple почти 24/7, устанавливая каждую бета-версию iOS.


Проникновение в iCloud дает фантастические результаты. В большинстве случаев вам не нужно само устройство (оно может быть потеряно или забыто, или за тысячи километров). Вы можете получить удаленно данные, которые больше не сохраняются на каком-либо физическом устройстве. Вы можете получить массу ценных доказательств со всех устройств, подключенных к учетной записи.Но, как всегда, есть некоторые «ноты». Извините за длинное введение, и давайте перейдем к тому, что мы сделали с физическим проникновением в iPhone.


Пароль


Нет, мы не взламываем код доступа iPhone (мы могли сделать это только для старых версий IOS). Да, мы знаем, что это теоретически возможно. Прямо сейчас есть две компании, которые имеют такие решения: одна со специальным устройством, а другая существует в качестве онлайн сервиса. Они не раскрывают никаких подробностей. По очевидным причинам, они закрывают рот, как они делают то,что делают. Тем не менее, они очень сильно ограничены и не даже не могут озвучить полный список поддерживаемых устройств, версий iOS и других условий,необходимых для взлома. Но из того, что мы узнали из различных утечек, они могут быстро атаковать код доступа только в том случае, если устройство было разблокировано хотя бы раз с момента последней перезагрузки. Если нет, скорость восстановления будет составлять около 10 минут на каждый код доступа. Это более двух месяцев для простого 4-значного кода доступа; однако можно попытаться сократить это время, сначала попробовав самые популярные коды доступа или просто используя словарь со всеми 4-значными паролями, отсортированными по популярности. Если код доступа составляет 6 цифр (это по умолчанию, по крайней мере, с iOS 10), максимальное время составляет почти 20 лет, что, очевидно, нецелесообразно. Существуют и другие ограничения: например, iOS 11.4 и новее бросают эти решения на «медленный режим брутфорса» по крайней мере на данный момент; также, даже для быстрого режима, вы можете попробовать только ограниченное количество комбинаций перед достижением предела: мы слышали о 300 000 комбинаций (что составляет около 1/3 от общего пространства паролей для кода с шестью цифрами). После этого Secure Enclave, похоже, переключает устройство (по крайней мере временно) в режим, в котором возможна только медленный брутфорс. Опять же, это только слухи, основанные на анонимных источниках и некоторые утечки - ни одна компания не дает публичных комментариев.


Я упоминал о новом режиме ограничения USB? Как только он задействован, порт устройства Lightning полностью отключает все передачи данных и действует как «немой» зарядный порт. Режим ограничения USB задействуется, если устройство не было разблокировано в течение часа и остается активным до тех пор, пока вы не разблокируете его действительным кодом доступа. Режим ограниченного доступа к USB ненадолго появился в бета-версиях IOS 11.3, но не был включен в окончательный выпуск (даже в iOS 11.4); в настоящее время он доступен в бета-версии iOS 11.4.1 и бета-версии iOS 12. Кажется, что Apple интенсивно тестирует его, а вторая бета-версия 11.4.1 улучшает его еще больше: теперь его можно активировать вручную (независимо от того, когда вы разблокировали устройство). Это делает ненужными решения выше - до тех пор, пока не будет обнаружено какое-то обходное решение (например, через режим восстановления или DFU, когда порт снова станет работать).


Если вы знаете код доступа, вы можете сделать много . Это звучит очевидно, но я уверен, многие из вас не знали, что вы даже можете изменить пароль iCloud, заменить доверенный номер и получить доступ к цепочке ключей iCloud. Тем не менее, если вы выполняете судебно-медицинскую экспертизу, одного кода доступа недостаточно для доступа ко всем данным, хранящимся на устройстве.



Логическое VS Физическое проникновение


Логическое проникновение является самым быстрым и простым в использовании. Мы подробно рассмотрели его, если вкратце, он создает резервную копию в стиле iTunes, а также некоторые полезные дополнения: полную информацию об устройстве, медиафайлы, общие файлы и теперь (с обновлением iOS Forensic Toolkit) журналы сбоев, которые могут помочь получить подробную информацию об использовании устройства / приложения, включая действия приложений, которые уже были удалены с устройств. Опять же, вам нужен код доступа к устройству; во многих случаях проникновение также возможно с помощью записей блокировки, полученных с надежного рабочего стола, на котором были подключены данные устройства.Это все? Отнюдь нет. На устройстве не так много данных, которые не включены в резервную копию: кешированная почта, данные о местоположении, различные системные журналы, временные файлы, данные сторонних приложений и многое другое. Кроме того, есть что-то особенное в цепочке ключей.



KeyChain (менеджер паролей Apple)


KeyChain является, вероятно, самой надежной частью файловой системы iOS. В то же время, это наиболее интересно для исследований: KeyChain содержит данные кредитной карты, пароли веб-почты / Wi-Fi и множество сертификатов, токенов и ключей шифрования. Если вы можете получить доступ к KeyChain, значит вы можете получить доступ практически к любому программному обеспечению и сервисам, установленными на устройстве (ну, кроме тех, которые требуют некоторого дополнительного ввода от пользователя при запуске).


KeyChain привязан к iTunes (и iCloud) резервным копиям, но он дополнительно зашифрован. Однако шифрование может быть различным в зависимости от того, защищена ли локальная резервная копия паролем. В двух словах, в резервных копиях iCloud и локальных резервных копиях без пароля, ключ шифрования keychain является производным от ключа, специфичного для устройства, который защищен Secure Enclave. Более высокая безопасность, как обычно, означает меньше удобства: если вы восстанавливаете другое устройство из iCloud или из незащищенной резервной копии iTunes, вы теряете большинство элементов KeyChain: новое устройство не сможет его расшифровать. При локальном резервном копировании, защищенном паролем, ситуация отличается: большинство элементов связки ключей зашифровываются ключом, который получен из пароля резервного копирования.


Чтобы извлечь содержимое KeyChain, вы должны знать пароль резервного копирования. Основная проблема с данными, извлеченными из локальной резервной копии, заключается в том, что она неполная. Достаточно много записей зашифрованы с наивысшим классом защиты и поэтому не могут быть получены из локальной резервной копии. Синхронизированный keychain iCloud содержит только пароли, но не ключи или маркеры шифрования.


Есть ли что-то, что можно сделать для полного доступа к KeyChain, даже если вы не можете сломать пароль для резервного копирования? Новый iOS Forensic Toolkit 4.0 теперь может полностью расшифровать KeyChain, но только установленного джейлбрейк на устройстве. Мы не сломали Secure Enclave. Мы только что нашли способ доступа ко всем элементам keychain, и эта функция теперь входит в iOS Forensic Toolkit. Наслаждайтесь новой связью секретных данных, хранящихся на устройстве!


Обратите внимание, что при запуске дешифрования ключей в наборе инструментов устройство должно быть разблокировано (если нет, мы будем ждать, пока вы разблокируете). Кроме того, устройство может предложить вам разблокировать код доступа, сенсорный идентификатор или идентификатор лица во время извлечения KeyChain. Здесь есть что-то особенное в джейлбрейке Meridian: этот конкретный джейлбрейк немного глючит, поэтому приглашение разблокировки не всегда появляется на устройстве; в качестве обходного пути мы реализовали два режима: с одним, наша утилита для извлечения / дешифрования keychain будет ждать, пока вы разблокируете, а в другом режиме он попытается расшифровать цепочку ключей без взаимодействия (однако не все элементы будут дешифрованы).


Кроме того, утилита дешифрования кода подскажет вам версию iOS: 7-8 или 9-11. Да, мы знаем версию iOS после запуска скрипта и подключения к устройству, но все же лучше спросить (из-за некоторых технических нюансов, выходящих за рамки этой статьи).


Блокировка экрана


Есть что-то особенное в блокировке экрана и блокировке паролей, настройка, которая блокирует устройство после некоторого периода бездействия, обычно от 1 до 30 минут.


В течение долгого времени мы обычно рекомендовали фактически удалить блокировку паролей с устройства перед приобретением, потому что некоторые файлы не могли быть получены, когда устройство заблокировано, а управляемые устройства (в том числе те, которые имеют только встроенную учетную запись электронной почты Exchange, как и мой) просто не позволяют установить параметр блокировки экрана «Никогда». Тем временем, проникновение может занять несколько часов, а это значит, что вам нужно будет заблокировать устройство. касаясь экрана каждые 15 минут.


Это уже не так. Мы реализовали трюк, поэтому блокировка отключается, даже если такой опции нет - путем загрузки специальной утилиты на устройство. Обратите внимание, что выполнение этой утилиты приводит к перезагрузке устройства (сохранение пользовательского интерфейса), и вам придется разблокировать устройство еще раз, введя код доступа. Кроме того, изменение этой опции является временным, и вы вернетесь к старым настройкам при перезагрузке устройства.


Какова выгода от взлома устройства без удаления пароля? Проблема решается, когда вы удаляете код доступа, некоторые данные физически удаляются с устройства: кэшированная почта Exchange - всего лишь один пример. Поэтому, чтобы получить все, мы настоятельно рекомендуем вам сохранить код доступа.


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



Джейлбрейк


Зачем нужен джейлбрейк? Теперь у вас есть ответ: чтобы получить все возможные данные от устройства. Можем ли мы сделать то же самое без джейлбрейка? Теоретически, да. Но это похоже на запись собственного джейлбрейка с использованием общедоступных уязвимостей ядра. Некоторые модификации еще должны быть внесены в устройство . В то же время существующие джейлбрейки проверяются многими людьми, и вероятность того, что они повредят любые данные на устройстве, очень низка, а прямое использование вышеупомянутых уязвимостей может вызвать непредсказуемые результаты, а в худшем случае даже сломает устройство.


Вот список джейлбрейков, на которых мы протестировали наш Инструментарий:


iOS 7: evasi0n, Pangu

iOS 8: TaiG

iOS 9: Pangu

iOS 10: Yalu, Saigon, doubleH3lix, Meridian, g0blin

iOS 11: Electra, LineriOS

Как отмечалось выше, у нас есть некоторые (незначительные) проблемы только с Meridian, но даже если что-то пойдет не так, вы просто получите только часть KeyChain, расшифрованную (но все же мы сделаем все возможное, чтобы исправить это).


Последняя версия джейлбрейка iOS доступна для 11.1.2. Также доступна предварительная (не стабильная) версия джейлбрейка iOS 11.2, и мы начали ее рассматривать; мы также ожидаем, что 11,3 джейлбрейка скоро выпустят. Мы почти уверены, что в один прекрасный день будет выпущен джейлбрейк 11.4 (скрещиваем пальцы).



Report Page