iOS Forensic Toolkit сохраняет три типа журналов, но при обращении в техподдержку нам часто не присылают ни одного. В лучшем случае мы получаем текст с экрана консоли, в худшем — более или менее читаемую фотографию экрана. Песок — неважная замена овсу, а фотография монитора (и даже скриншот экрана) — неважная замена полноценным лог-файлам. Сегодня мы расскажем, где их найти и что в них хранится.
Чаще всего полные журналы нужны в следующих ситуациях:
В журналах будет содержаться подробная информация о происходящем, которая поможет нам добраться до сути проблемы.
В iOS Forensic Toolkit реализована многоуровневая система журналирования. Каждая команда сохраняет свой собственный журнал; при установке агента-экстрактора создаётся второй, а агент, работающий на телефоне, выдаёт третий. В консоль выводится только основной лог. Детали установки агента-экстрактора, запросы к сервису установки и работа агента на устройстве пишутся в отдельные файлы и на экран не попадают. Неудачная установка агента выглядит в консоли как одна строка с ошибкой; причина находится в файле, который пользователь не открывал.
Буфер консоли ограничен. В длинной сессии вывод уходит за его пределы, а нужные строки обычно расположены на несколько сотен строк выше ошибки, то есть именно в той части, которая в скриншот не попадает.
Отдельной строкой идут снимки экрана. Скриншот — это ещё неплохо; труднее всего техподдержке приходится тогда, когда приходит фотография монитора. Удачей считается, если на ней удаётся что-нибудь разобрать. Впрочем, даже в таких случаях мы всегда просим прислать лог-файлы, а поскольку хранятся они отдельно от самого инструментария, техподдержка приводит и пути к папкам, в которых они лежат.
В профиле пользователя, в каталоге Elcomsoft/EIFT/logs. На разных платформах различается путь к профилю.
| ОС | Путь |
|---|---|
| Windows | %USERPROFILE%\Elcomsoft\EIFT\logs, то есть C:\Users\<имя пользователя>\Elcomsoft\EIFT\logs |
| macOS | ~/Elcomsoft/EIFT/logs |
| Linux | ~/Elcomsoft/EIFT/logs |
В Windows путь %USERPROFILE%\Elcomsoft\EIFT\logs можно вставить в адресную строку Проводника без изменений; переменная раскрывается автоматически. Каталог создаётся при первом запуске; файлы накапливаются. На системе со скриншота ниже их несколько сотен.
На скриншоте видны три шаблона имён: EIFT__<дата>-<время>.txt, agent_log_<ID устройства>_<дата>-<время>.txt и agent_device_log_<ID устройства>_<дата>-<время>.txt. Метка времени имеет вид YYYY_MM_DD-HH_MM_SS. ID устройства записывается в той же форме, в которой toolkit выводит его в консоль.
Инструментарий создаёт журналы трёх типов: один общий и два — по работе агента экстрактора.
В этот файл попадает всё, что инструментарий выводит на экран консоли. Файл создаётся на каждую выполненную команду: info (информация об устройстве), boot (эксплойт загрузчика), agent (установка агента), keychain, tar и остальные. Вместо скриншота экрана или копии текста из консоли нужно присылать именно эти файлы.
Создаётся при установке агента-экстрактора и при выполнении команд keychain и tar. Сюда попадают все запросы и ответы при аутентификации (логин и пароль от Apple ID, который используется для подписи агента, не сохраняются!) и все обращения к сервису установки вместе с его ответами. Если агент не установился, причину нужно искать анализом этого файла.
Сюда попадает информация от агента-экстрактора, запущенного на iPhone. В нём подробно документирована работа эксплойта: адреса в ядре, состояние регистров, промежуточные результаты каждой стадии. Если эксплойт не отработал, сбой нужно искать здесь.
Все файлы неудачного запуска одним архивом.
EIFT__, а также agent_log_ и agent_device_log_ с совпадающей меткой времени. В сомнительных случаях берите весь день; файлы небольшие.О содержимом архива. Логин и пароль от Apple ID, который используется для подписи агента, в журнале не сохраняются. В журналы попадают идентификаторы устройства, версия и сборка iOS, внутреннее состояние эксплойта; agent_device_log содержит адреса в ядре, специфичные для конкретного устройства. Обращайтесь с архивом так, как регламент предписывает обращаться с другими данными, полученными с исследуемого устройства.
Windows: вставьте %USERPROFILE%\Elcomsoft\EIFT\logs в адресную строку Проводника или в диалог «Выполнить» (Win+R).
macOS: в Finder нажмите Cmd+Shift+G и вставьте ~/Elcomsoft/EIFT/logs. Если путь нужен в командной строке, перетащите каталог из Finder в окно Terminal; Terminal подставит полный путь.
Linux: cd ~/Elcomsoft/EIFT/logs.
~ в пути означает домашний каталог пользователя, так что в macOS можно в Finder перейти в Home и оттуда зайти в Elcomsoft, потом EIFT, потом в logs. В Linux можно использовать графический файловый менеджер, чаще всего GNOME Files (он же Nautilus), но можно и перейти в нужный каталог в консоли командой cd.
Основные мы перечислили. В редких случаях может понадобиться журнал serial log, куда пишутся данные, которыми хост обменивается с телефоном (только для эксплойта загрузчика). Этот дополнительный журнал создаётся в файле с именем первого типа (EIFT__), но что именно нужно сделать, чтобы он в создавался — ищите в руководстве пользователя по команде «serial» (она выполняется в отдельном окне консоли). Устройство при этом должно быть подключено через специальный адаптер (стандартный DCSD или Colobus).
Три типа файлов: EIFT__ – консоль; agent_log – установка агента-экстрактора; agent_device_log – работа агента на устройстве. Присылайте все файлы в одном архиве.
Elcomsoft iOS Forensic Toolkit – специализированный инструмент для проведения криминалистического анализа устройств, работающих под управлением Apple iOS. Для анализа доступна вся пользовательская и системная информация, а также зашифрованные данные из системного хранилища (связка ключей).