В последнем обновлении iOS Forensic Toolkit появился новый способ установки агента. Точнее, целых три способа, немного отличающихся в деталях. Объединяет их одно: все три способа используют установку агента через сеть с локального веб-сервера, который запускается на компьютере эксперта. Для чего такие сложности? Исключительно для того, чтобы обойти механизм установления доверенных отношений, который блокирует функция «Защита украденного устройства».
В двух словах, «Защита украденного устройства» предназначена для того, чтобы защитить данные на устройстве в случае, когда злоумышленник подсмотрел код блокировки (подробнее об этом — в предыдущей статье). Раньше кода блокировки было достаточно для того, чтобы, к примеру, изменить пароль от учётной записи Apple, отвязать устройство от iCloud, сбросить его — или пролистать пароли из связки ключей. Всё это — вполне легитимные сценарии, от которых защищает функция SDP (Stolen Device Protection, она же — «Защита украденного устройства»). Для криминалистов же неудобства доставляет другая возможность этой функции, а именно — блокирование установления доверенных отношений между устройством (iPhone) и компьютером криминалиста. С одной стороны, это логично: Apple защищает данные легитимного пользователя от злоумышленника. С другой — криминалист не может установить доверенные отношения, а значит — не может и подключить устройство к компьютеру и извлечь данные даже логическим способом. Более того; если в предыдущих версиях iOS «Защита украденного устройства» была опциональной, то начиная с iOS 26.4 она включается автоматически при обновлении.
Альтернативный способ установки агента позволяет обойти проблему.
Ниже приведена последовательность действий для установки агента в обход функции «Защита украденного устройства».
Метод работает на всех трёх платформах — macOS, Windows и Linux. Удобнее и надёжнее всего он выполняется на Mac: там не требуется никаких адаптеров.
Типы подключения по платформам:
| Платформа | Wi-Fi | Кабель Ethernet (адаптеры) | Кабель USB (напрямую) |
|---|---|---|---|
| macOS | ✓ | ✓ | ✓ |
| Linux | ✓ | ✓ | — |
| Windows | ✓ | ✓ | — |
Что понадобится:
Порядок действий:
iPhone можно подключить к компьютеру, однако выполнить сопряжение (установить доверенную связь) без биометрической аутентификации не удастся. Поэтому переведите устройство в режим восстановления и получите UDID командой info. Сохраните полученное значение; в течение следующих двух шагов устройство не понадобится.
./eift_cmd agent makecert -o NAME
NAME — имя файла сертификата без расширения. Например:
./eift_cmd agent makecert -o rootCA
В результате в папке инструментария создаются файлы rootCA.crt и rootCA.key. Этим сертификатом подписывается локальный сервер, с которого устанавливается агент.
Выполните эту команду с правами root:
sudo ./eift_cmd agent otainstall -u UDID --root-cert CERTIFICATE --root-key KEY
Например:
sudo ./eift_cmd agent otainstall -u 00008120-000611AA3EE0A01E --root-cert rootCA.crt --root-key rootCA.key
На этом шаге выполняется стандартная аутентификация: Apple ID, пароль и двухфакторная аутентификация (2FA). Компьютер при этом должен быть подключён к интернету, иначе подписать агент не получится. Это кажется очевидным, но об этом часто забывают.
В Linux: при запуске OTA-сервера может появиться сообщение примерно такого вида:
Если вы используете systemd-resolved, откройте файл
/etc/systemd/resolved.confи задайтеDNSStubListener=no. Затем выполнитеsudo systemctl restart systemd-resolved.
Просто выполните эти действия. Иначе локальная DNS-заглушка (stub resolver) будет мешать разрешению имени agent.eift.
Важно: на этом шаге eift_cmd не возвращает управление: он продолжает поддерживать работу локального сервера, и его нельзя прерывать, пока агент не будет установлен на устройство. Шаги 4–6, выполняемые на устройстве, проводятся при работающей команде, поэтому не трогайте терминал и продолжайте работу на iPhone.
Выберите подключение, подходящее для вашей платформы (см. таблицу в начале). Какой бы вариант вы ни выбрали, при кабельном соединении телефон не получит через него доступ в интернет. Тем не менее для собственного спокойствия рекомендуем отключить от интернета и компьютер; это несложно и исключает неожиданности.
agent.eift определяется автоматически, задавать DNS не требуется.agent.eift разрешается само, поэтому вручную настраивать сеть на iPhone не нужно. Ограничение: скорость ограничена портом телефона (Lightning работает по USB 2.0 с потолком около 40 МБ/с).
agent.eift, а корректно установить сертификат можно только с этого адреса.Сначала откройте в Safari следующий адрес по http (не https): http://agent.eift
Использование именно http важно: по https Safari выдал бы предупреждение об отсутствующем сертификате, поскольку он ещё не установлен.
Сертификат поступает не как файл .crt, а в виде профиля конфигурации и попадает сразу в систему, а не в «Загрузки». Подтвердите и установите его: в приложении «Настройки» появится пункт «Профиль загружен» → установите его (либо перейдите в «Настройки» → «Основные» → «VPN и управление устройством» → выберите профиль → «Установить»).
Обратите внимание: на управляемых устройствах (MDM) профиль может не установиться. На таких устройствах установка приложений любым способом может быть полностью заблокирована, и изменить эту настройку может только администратор MDM.
Затем включите полное доверие: «Настройки» → «Основные» → «Об этом устройстве» → «Настройки доверия сертификатов» → в разделе «Включить полное доверие для корневых сертификатов» включите переключатель напротив rootCA. Без этого Safari продолжит считать сайт недоверенным.
Откройте тот же адрес, теперь по https: https://agent.eift
Использование https здесь не случайно: оно также служит проверкой того, что корневой сертификат установлен правильно. Если Safari выдаёт предупреждение о сертификате, значит, доверие на шаге 5 настроено неверно — устраните это, прежде чем продолжать.
Нажмите «Install agent» → подтвердите установку → запустите агент. При первом запуске на iOS 16 и новее потребуется включить режим разработчика: «Настройки» → «Конфиденциальность и безопасность» → «Режим разработчика» → включите его → перезагрузите устройство → после перезагрузки подтвердите, введя код-пароль.
Вместо этого можно повторно открыть адрес по http (с обновлением страницы); агент всё равно установится, но https безопаснее по указанной выше причине. Если сертификат не установился, а вы открываете страницу по http, установка агента может завершиться неудачно незаметным образом: например, на экране «Домой» появляется значок-заглушка (dummy), который просто остаётся на месте, а загрузка так и не начинается.
Если учётная запись создана после 2021 года, выполняйте первый запуск через файрволл (лучше использовать аппаратный вариант: так надёжнее), чтобы предотвратить удалённую блокировку, стирание и синхронизацию с iCloud на исследуемом устройстве. Затем в агенте нажмите Get network info: команда возвращает IP-адрес телефона (нужен для следующих шагов) и разрешения, необходимые для работы с сетью.
Совет: используйте аппаратный файрволл, например на базе Raspberry Pi. Программный файрволл тоже подойдёт, но мы его не рекомендуем: его сложнее настраивать и легче ошибиться, случайно открыв устройству доступ в интернет; с аппаратным устройством такого не происходит.
Агент может запросить разрешение дважды. Сначала он запрашивает доступ к локальной сети.
Затем на некоторых телефонах появляется второй запрос «Allow to use wireless data?» («Разрешить использовать беспроводные данные?»); выберите WLAN & Mobile (WLAN и сотовые данные). Этот второй запрос появляется только на iPhone для азиатского рынка; на других устройствах его не будет.
Выполняется стандартными командами keychain / tar; IP-адрес телефона передаётся в параметре -i:
./eift_cmd agent keychain -i IP-ADDRESS -o /PATH
./eift_cmd agent tar -i IP-ADDRESS -o /PATH
Например:
./eift_cmd agent tar -i 192.168.1.22 -o /Users/ElcomSoft/Desktop/EXTRACTION