В новой версии iOS Forensic Toolkit появились новые функции, позволяющие автоматизировать некоторые рутинные процессы криминалистического анализа. В этой статье мы рассмотрим возможность частично автоматизировать процесс снятия «длинных» снимков экрана (скриншотов с прокруткой) и расскажем о том, как собрать и запрограммировать микроконтроллер Raspberry Pi Pico.
Автоматизацию снимков экрана можно рассматривать как новый способ доступа к данным, позволяющий извлечь информацию, недоступную в рамках расширенного логического анализа (например, историю переписки в защищённых программах мгновенного обмена сообщениями). Новый способ доступа дополняет возможности расширенного логического анализа и расширяет набор доступных для исследования данных.
Микроконтроллер Raspberry Pi Pico поможет частично автоматизировать процесс снятия «длинных» снимков экрана (скриншотов с прокруткой). Новый полуавтоматический режим снятия скриншотов доступен в iOS Forensic Toolkit для всех моделей iPhone и версий iOS, но требует подключения исследуемого iPhone к Raspberry Pi под управлением нашей прошивки.
По сравнению с автоматическим вводом в режим DFU требования к процессу снятия скриншотов ниже. Помимо, собственно, iPhone или iPad, с которого будут сделаны снимки экрана, вам потребуются:
Далее необходимо подготовить Raspberry Pi Pico, установив на него требуемые файлы. Для этого:
Путь к прошивке:
pico/picoScrollNScreenshot/adafruit-(...).uf2
Файлы, которые нужно скопировать на диск (code.py и папка lib) расположены по тому же пути.
После того, как все необходимые файлы будут переданы на Pico, проделайте следующие шаги:
Дополнительное питание не требуется, т.к. Pico получает напряжение 5В от разъёма USB. Если используется адаптер Apple Camera Adapter, вы можете использовать дополнительный порт Lightning для того, чтобы запитать от него iPhone (чтобы не допустить разрядки аккумулятора в процессе работы).
После того, как снимки экрана сделаны, скопируйте их на компьютер (извлечением медиа-файлов, используя полное логическое извлечение или через AirDrop). Возможно, вы захотите произвести склейку скриншотов, для чего можно воспользоваться одним из множества приложений для iOS, например — Tailor.
Наконец, вы сможете произвести распознавание текста на скриншотах для последующей индексации и анализа.
Процесс не всегда срабатывает с первого раза, и проблема не в снимках экрана, которые успешно снимаются в любом случае, а в прокрутке. Увеличить вероятность успешной прокрутки можно, подключив кабелем USB обычную проводную мышь с колесом прокрутки и несколько раз прокрутив содержимое окна вверх-вниз упомянутым колесом.
Кроме того, мы не вполне уверены, что метод сработает с использованием сторонних адаптеров Lightning-USB. С адаптером от Apple проблем не возникает.
Вы можете отредактировать файл code.py, а именно — следующие опции:
SCROLL_WITH_MOUSE = 1 SCROLL_MOUSE_DISTANCE = 250 DELAY_AFTER_SCROLL = 1
SCROLL_WITH_MOUSE отвечает за то, эмулируется ли клавиатура (значение 0) или мышь (1). Первый режим более надёжен, но некоторые приложения его не поддерживают (например, Telegram).
SCROLL_MOUSE_DISTANCE используется только при эмуляции мыши, и устанавливает дистанцию прокрутки. Мы экспериментально определили оптимальное значение этого параметра (250); рекомендуем использовать его, если скриншоты в дальнейшем планируется склеивать. Если на каком-то устройстве возникают проблемы с избыточным перекрытием или, наоборот, избыточной прокруткой скриншотов, измените значение этого параметра.
DELAY_AFTER_SCROLL контролирует задержку между тем, как осуществлена прокрутка, и снятием снимка экрана. По умолчанию задержка — 1 секунда. Этот интервал введён для того, чтобы на странице после прокрутки успели прогрузиться изображения и информация о ссылках.
Обратите внимание, что по умолчанию прокрутка ведётся сверху вниз. Соответственно, начинать работу нужно с верхней части страницы или чата.
Учтите, что скрипт начинает работать сразу после того, как Pico подключается к любому устройству, включая компьютер Mac. Из-за этого мы ввели 15-секундную задержку между подключением и началом работы скрипта. Это позволяет, например, отредактировать или удалить файл code.py.
Наконец, имейте в виду, что скрипт не может определить момент, когда экран прокручен до конца, и продолжает делать снимки экрана. Процесс необходимо остановить вручную, просто отключив кабель.
Новая возможность носит статус экспериментальной. Процесс далёк от совершенства; основная проблема в том, что скриншоты снимаются и сохраняются на самом устройстве, а не на компьютере. В то же время новый метод может оказаться единственным способом извлечения некоторых типов данных из ряда приложений, если устройство не имеет уязвимого к эксплойтам загрузчика, а установленная версия ОС не поддерживается агентом-экстрактором.
Elcomsoft iOS Forensic Toolkit – специализированный инструмент для проведения криминалистического анализа устройств, работающих под управлением Apple iOS. Для анализа доступна вся пользовательская и системная информация, а также зашифрованные данные из системного хранилища (связка ключей).