Безопасный способ установки агента-экстрактора: блокировка сетевых соединений

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

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

Установка соединения с сервером несёт риск потенциальной удалённой блокировки устройства или полного уничтожения данных. В этой статье мы расскажем о возможном варианте решения проблемы, который позволит обезопасить процесс установки агента-экстрактора и верификации цифровой подписи.

Шпаргалка

Внимательно ознакомьтесь с инструкциями ниже и в точности следуйте им. Не забывайте использовать дополнительное устройство и обязательно отключайте USB Sharing на исследуемом устройстве перед тем, как продолжить работу.

Перед началом работы скачайте и распакуйте скрипт по ссылке. Вам предварительно понадобится дать скрипту права на выполнение (команда chmod +x {пусть к скрипту}) и снять карантин (xattr -d com.apple.quarantine {пусть к скрипту}).

Этап 1. Подготовка целевого аппарата

  1. Отключить на целевом аппарате все сетевые подключения
  2. (mac os) Проверить, что USB Sharing отключён
  3. Подключить целевой аппарат и провести установку агента
  4. Отключить целевой аппарат

Этап 2. Подпись агента на целевом аппарате

  1. Отключить на тестовом аппарате и целевом аппарате все сетевые подключения
  2. Подключить тестовый аппарат кабелем к компьютеру
  3. (mac os) Настроить и включить USB Sharing
  4. Запустить sudo ./install_firewall.sh из консоли, предварительно перейдя в папку со скриптом
  5. Дойти до режима проверки аппарата в скрипте, чтобы один хост открывался, другой нет
  6. Подтвердить успешность блокировки хостов
  7. Проверить «окно» времени изменения IP адреса, желательно дождаться момента, когда это окно станет в диапазоне 200-300 секунд
  8. Отключить тестовый аппарат
  9. Подключить целевой аппарат
  10. На целевом аппарате пройти проверку подписи уже установленного агента
  11. Отключить целевой аппарат
  12. Выйти из скрипта кнопкой Q
  13. На компьютере (mac os) выключить USB Sharing

Для чего это нужно

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

Агент-экстрактор для iPhone и iPad: шпаргалка

Использование агента-экстрактора связано с рядом ограничений. В первую очередь ограничения касаются списка версий iOS/iPadOS, для которых доступна эскалация привилегий, однако даже первый шаг — установка агента, — представляет известную сложность. Каждое приложение, установленное на iPhone или iPad, должно быть подписано уникальной для каждого устройства цифровой подписью, выдать которую может только Apple. (В скобках заметим, что для установки сторонних приложений на устройства Android также необходима цифровая подпись, но дистрибутив достаточно подписать единожды для всех устройств, причём сделать это разработчик может самостоятельно).

При попытке запустить вновь установленное приложение на iPhone или iPad пользователя попросят подтвердить цифровую подпись, для чего устройству понадобится связаться с сервером Apple. Если устройство является частью доказательной базы, то любой выход в интернет связан с риском дистанционной блокировки устройства или удалённого уничтожения данных.

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

Не будем подробно останавливаться на том, почему такое подключение в процессе расследования недопустимо. Упомянем лишь очевидные вещи — автоматическую синхронизацию данных на устройстве (нарушается неизменность улик) и ненулевой риск дистанционной блокировки и/или стирания устройства через приложение Find My (Локатор).

Мы разработали решение, которое сводит риск к допустимому минимуму, ограничив подключение на устройстве только тем сервером, соединение с которым необходимо для проверки сертификата.

Как обезопасить подключение в процессе установки агента-экстрактора

Во-первых, скачайте скрипт по ссылке:

https://www.elcomsoft.com/download/firewall.zip

Важно: убедитесь в точности установки времени и даты на телефоне! Если на аппарате 1970 год, цифровая подпись не будет верифицирована!

Далее следуйте инструкции.

НЕ ГАРАНТИРУЕТСЯ, что Apple не изменит работу учётных записей и ваша учётная запись не будет заблокирована в дальнейшем. Скрипт блокирует только TCP пакеты. В любой момент разработчики Apple могут внести изменения, которые могут привести к любым отклонениям в работе скрипта. Мы настоятельно рекомендуем использовать Apple Developer Account как единственно безопасный способ!

Скрипт не поможет, если на телефоне включена функция Private Relay. Отключите её в настройках. Также убедитесь, что на телефоне не включены VPN-сервисы.

Результат исполнения зависит от того, насколько вы внимательны в процессе работы со скриптом. Скрипт должен быть запущен все время, пока вы работаете с устройствами.

⚠️ Вам понадобится одно дополнительное устройство, для настройки этого скрипта.

☢️ Ни в коем случае нельзя использовать скрипт без дополнительного устройства, это может привести к Remote Device Lock/Wipe, поскольку на момент инсталляции файрвола устройство будет выпущено в интернет без ограничений!

Инструкция по использованию:

1. Настраиваем USB Internet Sharing для нужного порта (обычно это USB iPhone или USB iPad, в зависимости от устройства)

2. Запускаем скрипт:

sudo ./install_firewall.sh

У вас попросят подключить тестовое устройство, поскольку это необходимо для того, чтобы в системе появился необходимый интерфейс

Step 1. Please connect NON TARGET iPhone via USB, enable internet sharing via USB cable and press any key when ready

3. Подключаем тестовое устройство. На устройстве должны быть отключены все сетевые интерфейсы (BlueTooth, WiFi, Cell) и подтверждаем нажатием любой клавиши (например пробел).

После чего скрипт анализирует окружение системы, находит нужные для вас IP адреса (они могут быть разными и различаться каждый раз от запуска к запуску!), формирует правила файрвола и реконфигурирует его.

Результатом работы должен быть такой вывод данных:

No ALTQ support in kernel
ALTQ related functions disabled
No ALTQ support in kernel
ALTQ related functions disabled
pf enabled

Это означает, что правила файрвола инсталлировались успешно.

4. После этого вам будет предложено проверить, что на вашем аппарате все работает. Запускаем Safari и проверяем:

⛔️ пытаемся открыть хост www.elcomsoft.com, должны получить результат о неудаче — хост недоступен.

👌Теперь пробуем открыть хост ppq.apple.com, хост должен быть доступен и ответить Ok.

6. С этого момента у нас будет выведено, какой IP адрес критичный обнаружен, и сколько у нас есть времени до того момента, когда он изменится

IP detected as 17.171.47.86/32,
IP will be valid for 59 sec.
press [Q] key to interrupt firewall

Если это значение находится в рамках менее 30 секунд, то рекомендуется подождать, пока это время истечет, скрипт обнаружит другой IP адрес и время на операцию станет равным 300 или чуть меньше.

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

8. Обязательно отключите исследуемый аппарат и нажимаем кнопку Q. Скрипт автоматически восстановит предыдущие настройки файрвола и завершится.

Если же вы его прервали по нажатию кнопок Ctrl+C, то восстановить предыдущие значения файрвола можно запуском скрипта:

sudo ./uninstall_firewall.sh

⚠️ Помните, что всё, что вы делаете, вы делаете на свой страх и риск. Мы не знаем, какие изменения может привнести Apple в любой момент времени.

9. ⚠️ Перед тем, как продолжить работу, обязательно зайдите в настройки и отключите USB Sharing.

 


  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

REFERENCES:

Elcomsoft iOS Forensic Toolkit

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

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

НАШИ НОВОСТИ