Длинные скриншоты с микроконтроллером Raspberry Pi Pico

13 апреля, 2023, Oleg Afonin
Рубрика: «Аппаратное обеспечение», «Новость Элкомсофт», «Полезные советы»
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

В новой версии iOS Forensic Toolkit появились новые функции, позволяющие автоматизировать некоторые рутинные процессы криминалистического анализа. В этой статье мы рассмотрим возможность частично автоматизировать процесс снятия «длинных» снимков экрана (скриншотов с прокруткой) и расскажем о том, как собрать и запрограммировать микроконтроллер Raspberry Pi Pico.

Скриншоты с прокруткой

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

Микроконтроллер Raspberry Pi Pico поможет частично автоматизировать процесс снятия «длинных» снимков экрана (скриншотов с прокруткой). Новый полуавтоматический режим снятия скриншотов доступен в iOS Forensic Toolkit для всех моделей iPhone и версий iOS, но требует подключения исследуемого iPhone к Raspberry Pi под управлением нашей прошивки.

Настройка Raspberry Pi Pico

По сравнению с автоматическим вводом в режим DFU требования к процессу снятия скриншотов ниже. Помимо, собственно, iPhone или iPad, с которого будут сделаны снимки экрана, вам потребуются:

  • Одноплатный микроконтроллер Raspberry Pi Pico
  • Lightning to USB (официальный Apple Camera Adapter или его аналог)
  • USB-A to micro-USB (как для прошивки, так и для подключения айфона к Pico через адаптер Lightning to USB)
  • Проводная (USB) мышь с колесом прокрутки (опционально)

Далее необходимо подготовить Raspberry Pi Pico, установив на него требуемые файлы. Для этого:

  • Прошейте circuitpython на Raspberry Pi Pico
    • Зажмите и удерживайте кнопку BOOTSEL
    • Подключите к компьютеру USB-кабель
    • Скопируйте файл .uf2 на определившийся накопитель под названием RPI-RP2
    • Накопитель будет подключён заново и получит новое имя CIRCUITPY
  • Установите код
    • На диске CIRCUITPY удалите все файлы
    • Скопируйте каталог lib на диск CIRCUITPY
    • Скопируйте файл code.py на диск CIRCUITPY

Путь к прошивке:

pico/picoScrollNScreenshot/adafruit-(...).uf2

Файлы, которые нужно скопировать на диск (code.py и папка lib) расположены по тому же пути.

После того, как все необходимые файлы будут переданы на Pico, проделайте следующие шаги:

  • Отключите Pico от компьютера
  • Подключите к iPhone адаптер USB
  • Соедините Pico (micro USB) с iPhone (точнее, с подключённым к телефону USB-адаптером)
  • Приблизительно через 15 секунд начнут создаваться скриншоты. Процесс будет продолжаться до тех пор, пока телефон не будет отключён от 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.

Наконец, имейте в виду, что скрипт не может определить момент, когда экран прокручен до конца, и продолжает делать снимки экрана. Процесс необходимо остановить вручную, просто отключив кабель.

Заключение 

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


  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

REFERENCES:

Elcomsoft iOS Forensic Toolkit

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

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

НАШИ НОВОСТИ