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

 

Предыдущие статьи цикла

Советуем также прочесть первую, вторую и третью статьи из нашего цикла по расследованию компьютерных преступлений.

 

Немного об особенностях платформы Android

Android представляет собой модифицированную версию ядра Linux, адаптированную под мобильные гаджеты и носимые девайсы. За работу приложений (application) отвечает встроенная виртуальная машина Dalvik, преобразующая байт-код приложений в инструкции для исполнения начинкой устройства. Однако с версии Android 4.4 Dalvik был заменен на более шуструю Android Runtime, хотя сути работы это не поменяло. Рабочее окружение, так же как и в традиционном Linux, дополняют нативные и сторонние библиотеки, обеспечивающие различные профильные функции девайса.

Архитектура Android во многом совпадает с Linux
Архитектура Android во многом совпадает с Linux

Наследие Linux в Android проявляется в управлении процессами, в организации файловой системы, подсистемы доступа и разрешений (user-based permission model, SELinux и root mode), ну и, конечно же, в поддержке терминала и некоторых команд из стандартного core utilities. Это во многом роднит Android и Linux, несмотря на то что различий между системами тоже много. Но эти знания помогут тебе в решении некоторых задач в наших кейсах.

 

Готовим лабораторию для исследований

Для нашей импровизированной лаборатории понадобится следующий минимальный набор инструментов:

  • Android SDK — стандартный пакет SDK для Android-разработчика;
  • Mobile drivers — пак драйверов для подключения исследуемого девайса к хостовой машине, с которой сидит эксперт-криминалист.

WARNING

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

Итак, самым первым и обязательным шагом подготовки нашей лаборатории будет установка на наш компьютер Android SDK и пакета драйверов. Последний часто идет универсальным паком, то есть содержит драйверы для большинства современных девайсов, и они автоматически определят подключенную модель. В редких случаях приходится доустанавливать необходимый драйвер вручную, либо тоже паком, как Android Device Driver Pack, либо ручками, найдя нужный в каталогах типа Android Find Driver.

Установка Android SDK на Windows 10
Установка Android SDK на Windows 10
Выбор компонентов Android SDK
Выбор компонентов Android SDK

Особо ленивые могут установить ADB вместе со всеми драйверами и аддонами «одним кликом» с помощью ADB Installer.

«Тихий установщик» ADB Installer для Windows
«Тихий установщик» ADB Installer для Windows

Очень важная составляющая SDK — Android Virtual Device, компонент, позволяющий создавать виртуальные образы системы и после запускать их на своей машине. По сути, это эмулятор системы, созданный для разработчиков, пишущих приложения под эту платформу.

Конфигуратор образа для запуска в Android Virtual Device
Конфигуратор образа для запуска в Android Virtual Device
Запущенный в эмуляторе AVD образ системы Nexus 5
Запущенный в эмуляторе AVD образ системы Nexus 5
 

Первое подключение

После установки SDK и пакета драйверов можно смело линковать наш девайс к компьютеру при помощи USB-кабеля. Предварительно в опциях девайса нужно активировать режим USB mass storage, то есть режим внешнего USB-накопителя. Это поможет нам в дальнейшем выполнять команды с ADB-консоли. Также обязательно активировать режим отладки Android Debug Bridge (ADB) в секции «Для разработчиков».

Включение режима отладки по USB в настройках Android
Включение режима отладки по USB в настройках Android

Основные подготовительные операции на этом завершены. Теперь запускаем командный интерпретатор CMD.EXE и через него шелл, который предоставит нам доступ к девайсу:

C:\ADB_folder>adb.exe devices

List of devices attached:
4df155сс115e4f21 device
Окно cmd.exe с выводом подключенного девайса
Окно cmd.exe с выводом подключенного девайса

Так, мы законнектили наш девайс к компьютеру. Теперь можно получить внутренний шелл Android-устройства и проверить вывод, к примеру набрав команду whoami:

C:\ADB_folder>adb.exe shell

shell@android:/ $ whoami
Окно cmd.exe с выполненной в ADB командой shell
Окно cmd.exe с выполненной в ADB командой shell

Приглашение $ в командной строке говорит о том, что мы находимся в непривилегированном пользовательском режиме. Символ # — приглашение с правами суперпользователя.

Более подробно о работе ADB и том, что с ее помощью можно сделать, читай в одной из наших статей.

 

Мини-шпаргалка по самым востребованным командам ADB

  • adb start-server — запуск службы ADB на локальном компьютере;
  • adb kill-server — остановить службу ADB (завершить процесс и выгрузить из памяти);
  • adb devices — получить список подключенных устройств;
  • adb get-state — получить статус текущих подключений;
  • adb logcat — просмотр логов в режиме реального времени в консоли;
  • adb logcat *:E — выводить на экран только ошибки (system error);
  • adb backup -option -packets — выполнить резервное копирование;
  • adb reboot — перезагрузить устройство;
  • adb reboot recovery — загрузиться в режим recovery;
  • adb reboot bootloader — перейти в режим настройки загрузчика.

Создаем копию внутренней памяти Android-устройства. Для этого в CLI девайса пишем:

> dd if=/dev/block/mmcblk0 of=/sdcard/blk0.img bs=4096

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

Чтобы сделать копию уже имеющейся SD-карты, можно воспользоваться знакомой нам бесплатной утилитой FTK Imager. Кстати, этот же образ потом можно будет и просмотреть в программе.

Продолжение доступно только участникам

Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее

Вариант 2. Открой один материал

Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.


Подписаться
Уведомить о
10 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии