Содержание статьи
- Предыдущие статьи цикла
- Немного об особенностях платформы Android
- Готовим лабораторию для исследований
- Первое подключение
- Мини-шпаргалка по самым востребованным командам ADB
- Источники данных
- Рутинг устройства
- Сброс пароля и графического ключа
- Дополнительная инфа о взломе пина и пароля
- Полезные статьи на Хакере
- Основной инструментарий
- Кейс 1. Украденный телефон
- Кейс 2. Ревнивая жена
Предыдущие статьи цикла
Советуем также прочесть первую, вторую и третью статьи из нашего цикла по расследованию компьютерных преступлений.
Немного об особенностях платформы Android
Android представляет собой модифицированную версию ядра Linux, адаптированную под мобильные гаджеты и носимые девайсы. За работу приложений (application) отвечает встроенная виртуальная машина Dalvik, преобразующая байт-код приложений в инструкции для исполнения начинкой устройства. Однако с версии Android 4.4 Dalvik был заменен на более шуструю Android Runtime, хотя сути работы это не поменяло. Рабочее окружение, так же как и в традиционном 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.
Особо ленивые могут установить ADB вместе со всеми драйверами и аддонами «одним кликом» с помощью ADB Installer.
Очень важная составляющая SDK — Android Virtual Device, компонент, позволяющий создавать виртуальные образы системы и после запускать их на своей машине. По сути, это эмулятор системы, созданный для разработчиков, пишущих приложения под эту платформу.
Первое подключение
После установки SDK и пакета драйверов можно смело линковать наш девайс к компьютеру при помощи USB-кабеля. Предварительно в опциях девайса нужно активировать режим USB mass storage, то есть режим внешнего USB-накопителя. Это поможет нам в дальнейшем выполнять команды с ADB-консоли. Также обязательно активировать режим отладки Android Debug Bridge (ADB) в секции «Для разработчиков».
Основные подготовительные операции на этом завершены. Теперь запускаем командный интерпретатор CMD.EXE и через него шелл, который предоставит нам доступ к девайсу:
C:\ADB_folder>adb.exe devices
List of devices attached:
4df155сс115e4f21 device
Так, мы законнектили наш девайс к компьютеру. Теперь можно получить внутренний шелл Android-устройства и проверить вывод, к примеру набрав команду whoami:
C:\ADB_folder>adb.exe shell
shell@android:/ $ whoami
Приглашение $
в командной строке говорит о том, что мы находимся в непривилегированном пользовательском режиме. Символ #
— приглашение с правами суперпользователя.
Более подробно о работе 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»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.
Я уже участник «Xakep.ru»