HHIDE_DUMP
Гость
H
HHIDE_DUMP
Гость
Содержание статьи
Немного об особенностях платформы Android
Android представляет собой модифицированную версию ядра
Архитектура Android во многом совпадает с Linux
Наследие Linux в Android проявляется в управлении процессами, в организации файловой системы, подсистемы доступа и разрешений (
Готовим лабораторию для исследований
Для нашей импровизированной лаборатории понадобится следующий минимальный набор инструментов:
WARNING
Всегда ясно и четко осознавай, какое именно действие и для какой цели ты совершаешь. Неправильное использование приведенных в тексте статьи программ может привести к потере информации (артефактов) или искажению полученных данных (криминалистических доказательств). Ни автор, ни редакция не несут ответственности за любой ущерб, причиненный неправильным использованием материалов данной статьи.
Итак, самым первым и обязательным шагом подготовки нашей лаборатории будет установка на наш компьютер Android SDK и пакета драйверов. Последний часто идет универсальным паком, то есть содержит драйверы для большинства современных девайсов, и они автоматически определят подключенную модель. В редких случаях приходится доустанавливать необходимый драйвер вручную, либо тоже паком, как
Установка Android SDK на Windows 10
Выбор компонентов Android SDK
Особо ленивые могут установить ADB вместе со всеми драйверами и аддонами «одним кликом» с помощью
«Тихий установщик» ADB Installer для Windows
Очень важная составляющая SDK —
Конфигуратор образа для запуска в Android Virtual Device
Запущенный в эмуляторе AVD образ системы Nexus 5Первое подключение
После установки SDK и пакета драйверов можно смело линковать наш девайс к компьютеру при помощи USB-кабеля. Предварительно в опциях девайса нужно активировать режим USB mass storage, то есть режим внешнего USB-накопителя. Это поможет нам в дальнейшем выполнять команды с ADB-консоли. Также обязательно активировать режим отладки Android Debug Bridge (ADB) в секции «Для разработчиков».
Включение режима отладки по USB в настройках Android
Основные подготовительные операции на этом завершены. Теперь запускаем командный интерпретатор CMD.EXE и через него шелл, который предоставит нам доступ к девайсу:
C:\ADB_folder>adb.exe devices
List of devices attached:
4df155сс115e4f21 device
Окно cmd.exe с выводом подключенного девайса
Так, мы законнектили наш девайс к компьютеру. Теперь можно получить внутренний шелл Android-устройства и проверить вывод, к примеру набрав команду whoami:
C:\ADB_folder>adb.exe shell
shell@android:/ $ whoami
Окно cmd.exe с выполненной в ADB командой shell
Приглашение $ в командной строке говорит о том, что мы находимся в непривилегированном пользовательском режиме. Символ # — приглашение с правами суперпользователя.
Более подробно о работе ADB и том, что с ее помощью можно сделать, читай в одной из
Мини-шпаргалка по самым востребованным командам ADB
> dd if=/dev/block/mmcblk0 of=/sdcard/blk0.img bs=4096
Не забудь предварительно убедиться, что в смартфон или другое устройство вставлена SD-карточка, на которую будет писаться образ, иначе он запишется во внутреннюю память устройства, и тогда часть артефактов потеряется и фактическая картина инцидента будет искажена.
Чтобы сделать копию уже имеющейся SD-карты, можно воспользоваться знакомой нам бесплатной утилитой
Источники данных
Прежде чем приступить к поиску и извлечению артефактов, нужно определиться с основными источниками, которые мы будем анализировать, и местами их хранения во внутренней памяти Android-девайса.
Все данные приложений, в том числе системных, сохраняются в директории /data/data/. Однако доступ к этой директории возможен только с правами суперпользователя, так что если наше устройство изначально не рутовано, то нам предстоит это сделать.
Каждое приложение (app) представляет собой одноименный пакет, как правило вида <com.name_app.base>, где name.app — имя приложения, которое пользователь видит в Google play или уже в своем телефоне, а *.base — это некая сигнатура, определяющая, что именно содержит пакет, к примеру:
INFO
Подробнее о системных и пользовательских директориях в Android можно узнать из этого
Рассмотрим самые основные источники данных.
1. Контакты и журнал вызовов
Имя пакета: com.android.providers.contacts
Интересующие эксперта директории и файлы:
Имя пакета: com.android.providers.telephony
Интересующие эксперта директории и файлы:
Имя пакета: com.google.android.gm
Интересующие эксперта директории и файлы:
Имя пакета: com.android.chrome
Интересующие эксперта директории и файлы:
Имя пакета: com.google.android.apps.maps
Интересующие эксперта директории и файлы:
Имя пакета: com.facebook.katana
Интересующие эксперта директории и файлы:
Имя пакета: com.viber.voip
Интересующие эксперта директории и файлы:
Имя пакета: com.whatsapp
Интересующие эксперта директории и файлы:
Рутинг устройства
Среди программ для рутования Android-девайса на сегодняшний день наиболее популярны Unlock Root, Kingo Android ROOT, Universal AndRoot и iRoot. Хотя найдется еще с десяток других, которые сделают это не хуже. Сам процесс рутования мы рассматривать не будем, отметим лишь, что все названные проги имеют GUI-интерфейс и, как правило, одну кнопку.
Окно программы Kingo Android ROOT для получения прав root на Android-устройстве
Окно программы Unlock Root
Стартовое окно тулзы iRoot, позволяющей получить права суперпользователя
INFO
В случае если девайc был физически поврежден и информация утеряна, часть данных можно попробовать восстановить на новый аппарат из облачного хранилища Dropbox, GDrive, с которыми устройство синхронизировалось. Для этого достаточно получить доступ к привязанному аккаунту Google.
Сброс пароля и графического ключа
Один из основных вопросов при начале анализа — как получить доступ к устройству. И на первых порах помешать этому может установленный графический ключ или пароль. Но для нас это будет совсем не большой проблемой. Поступить можно двумя способами: либо узнать сам PIN/Password, либо просто обнулить их.
Графический ключ и пароль как первичная защита смартфона от постороннего доступа
Хеш графического ключа хранится в файле /data/system/gesture.key, а пароля — в /data/system/password.key. В принципе, пароль можно попробовать и побрутить, благо на это есть готовые радужные таблицы, но тут Android оказался не так плох, и в password.key хеш пароля хранится с
Дополнительная инфа о взломе пина и пароля
Дополнительную инфу о взломе пина/пароля можно почитать
Итак, приступим к разблокировке девайса. Как я писал выше, если нет файла, то нет условия проверки, а значит, чтобы скинуть Lock Screen, нам нужно просто удалить несколько файлов. В консоли ADB пишем:
> adb shell
su
rm /data/system/locksettings.db
rm /data/system/locksettings.db-wal
rm /data/system/locksettings.db-shm
reboot
Если же после перезагрузки девайса трюк не удался, то сделай еще так:
> adb shell
rm /data/system/gesture.key
И как вариант, еще прописать измененные данные в базу данных без удаления файлов:
> adb shell
cd /data/data/com.android.providers.settings/databases
sqlite3 settings.db
update system set value=0 where name='lock_pattern_autolock';
update system set value=0 where name='lockscreen.lockedoutpermanently';
.quit
Вот, собственно, и все! Дело сделано, дорога расчищена.
Для любопытных есть еще одна утилита —
Основной инструментарий
Теперь об инструментах, которые мы будем юзать для форензики нашего Android-девайса.
Главное окно программы ViaExtract перед подключением к устройству
Главное окно программы Autopsy перед началом работы
Стартовое окно программы ViaLab Community Edition
Окно программы Oxygen Mobile forensic, содержащее извлеченные данные
Основное окно SQL Manager Lite
Кейс 1. Украденный телефон
Кейс представляет собой банальную историю утери (кражи) телефона некоего топ-менеджера одной из солидных фирм. Внутри корпоративная почта, аккаунты, привязанные к различным CRM-, ERP-системам, удаленный доступ к рабочему ноутбуку и куча сохраненных файлов, содержащих конфиденциальную информацию (отчеты, планы, презентации, вложения писем). Через пару дней телефон был случайно обнаружен (подброшен?) в офисе. Однако непонятно, кто и с какой целью его похитил. Соответственно, встал вопрос: что злоумышленники делали с телефоном все то время, которое он отсутствовал у владельца?
Первым делом скидываем цифровой пароль и получаем доступ к смартфону (а у хозяина спросить пароль нельзя было?
— Прим. ред.). Далее тратим несколько минут на рутинг девайса и получаем права суперпользователя.
Сброс пароля для Android-устройства в консоли ADB
Приглашение # в командной строке — рутинг прошел успешно
Восстанавливаем SMS, список контактов и журнал вызовов, пишем в консоли ADB:
> adb pull –p /data/data/com.android.providers.telephony/databases/mmssms.db
C:/Users/Forensic/Case_0001
После копирования открываем файл mmssms.db вьювером SQL Manager Lite, либо, если предварительно прогнать через Autopsy, сразу будет доступен предпросмотр.
Обнаруженная база данных SMS-сообщений
Дальше после прогона Autopsy мы можем получить список контактов, журнал вызовов и выстроить по ним таймлайн, чтобы определить, звонил ли по каким-то номерам телефонов наш злоумышленник.
Артефакты, найденные в программе Autopsy
Далее просматриваем список Wi-Fi-сетей, к которым подключался девайс. Для этого нужно пройти по пути /data/misc/wifi/wpa_supplicant.conf и извлечь файл wpa_supplicant.conf. Этот файл содержит в себе открытым текстом (без какого-либо шифрования!) данные о подключениях к Wi-Fi: имя точки доступа, пароль и некоторые служебные данные, необходимые для подключения.
Данные файла wpa_supplicant.conf
Как видим, кроме корпоративной сети с дефолтными настройками, наш аппарат больше никуда не подключался. И как мини-вывод: либо никаких подключений злоумышленнику и не требовалось, либо данные об этом подключении после завершения коннекта были удалены.
Ищем удаленные файлы с помощью Autopsy.
Обнаруженные удаленные JPG-файлы в программе Autopsy
По результатам поиска нам так и не удалось обнаружить никаких серьезных артефактов, свидетельствующих о неправомерных действиях с телефоном. Очевидно, что злоумышленник мог просто получить визуальный доступ, просмотрев, к примеру, почтовые сообщения, сохраненные вложения и, возможно, перекопировав пароли доступа к другим корпоративным системам (если их просмотр без смены был возможен). Как вариант, мог быть снят полный дамп памяти телефона. Но к сожалению, подобные манипуляции никак не отражаются в системе, и констатировать их невозможно.
Кейс 2. Ревнивая жена
Очень банальная ситуация в духе детективных агентств из классических романов. К нам в лабораторию обратилась дама с просьбой найти следы измены ее благоверного. Несмотря на то что муж заявляет обратное и никаких компрометирующих данных на поверхностный взгляд в смартфоне нет, мы попробуем установить истину.
Итак, что мы будем искать в первую очередь? Это переписка в мессенджере WhatsApp, сохраненные (и, возможно, уже удаленные) фотографии во внутренней памяти и на SD-карте, а также звонки и SMS-сообщения. Ведь это же прямые доказательства, не так ли?
Снова извлекаем данные о SMS/MMS, журнал звонков и список контактов. На сей раз будем действовать при помощи
Окно программы Oxygen Mobile forensic с аналитикой по SMS и звонкам
Пробуем нащупать удаленные фотовидеофайлы, которые могли быть отправлены или получены от интересующего нас адресата. В дело идет уже известный Autopsy.
Фотки, удаленные с SD-карты, но обнаруженные программой Autopsy
Ну что, дело за WhatsApp, уж там-то должно быть много интересного!
Дергаем два файла:
Содержание файла msgstore.db
Берем программу
В итоге у нас расшифрованная база данных всех чатов с содержанием бесед и пересылаемых данных (их метаданных).
Загрузка ключа шифрования
Начало дешифрирования (подбора ключа)
Окно, сообщающее об успешном окончании дешифрования
Расшифрованная база msgstore.db в SQL Manager Lite
Вот, собственно, и все! Следы контактов с «посторонними лицами» были обнаружены. Хотя, конечно, показанные операции — это лишь часть большой работы, что была проделана другими специалистами.
- Предыдущие статьи цикла
- Немного об особенностях платформы Android
- Готовим лабораторию для исследований
- Первое подключение
- Мини-шпаргалка по самым востребованным командам ADB
- Источники данных
- Рутинг устройства
- Сброс пароля и графического ключа
- Дополнительная инфа о взломе пина и пароля
- Полезные статьи на Хакере
- Основной инструментарий
- Кейс 1. Украденный телефон
- Кейс 2. Ревнивая жена
Немного об особенностях платформы Android
Android представляет собой модифицированную версию ядра
Пожалуйста,
Вход
или
Регистрация
для просмотра содержимого URL-адресов!
, адаптированную под мобильные гаджеты и носимые девайсы. За работу приложений (application) отвечает встроенная виртуальная машина Пожалуйста,
Вход
или
Регистрация
для просмотра содержимого URL-адресов!
, преобразующая байт-код приложений в инструкции для исполнения начинкой устройства. Однако с версии Android 4.4 Dalvik был заменен на более шуструю Пожалуйста,
Вход
или
Регистрация
для просмотра содержимого URL-адресов!
, хотя сути работы это не поменяло. Рабочее окружение, так же как и в традиционном Linux, дополняют Пожалуйста,
Вход
или
Регистрация
для просмотра содержимого URL-адресов!
, обеспечивающие различные профильные функции девайса.Архитектура Android во многом совпадает с Linux
Наследие Linux в Android проявляется в управлении процессами, в организации файловой системы, подсистемы доступа и разрешений (
Пожалуйста,
Вход
или
Регистрация
для просмотра содержимого URL-адресов!
, Пожалуйста,
Вход
или
Регистрация
для просмотра содержимого URL-адресов!
и Пожалуйста,
Вход
или
Регистрация
для просмотра содержимого URL-адресов!
), ну и, конечно же, в поддержке терминала и некоторых команд из стандартного Пожалуйста,
Вход
или
Регистрация
для просмотра содержимого URL-адресов!
. Это во многом роднит Android и Linux, несмотря на то что различий между системами тоже много. Но эти знания помогут тебе в решении некоторых задач в наших кейсах.Готовим лабораторию для исследований
Для нашей импровизированной лаборатории понадобится следующий минимальный набор инструментов:
- Пожалуйста, Вход или Регистрация для просмотра содержимого URL-адресов!— стандартный пакет SDK для Android-разработчика;
- Пожалуйста, Вход или Регистрация для просмотра содержимого URL-адресов!— пак драйверов для подключения исследуемого девайса к хостовой машине, с которой сидит эксперт-криминалист.
WARNING
Всегда ясно и четко осознавай, какое именно действие и для какой цели ты совершаешь. Неправильное использование приведенных в тексте статьи программ может привести к потере информации (артефактов) или искажению полученных данных (криминалистических доказательств). Ни автор, ни редакция не несут ответственности за любой ущерб, причиненный неправильным использованием материалов данной статьи.
Итак, самым первым и обязательным шагом подготовки нашей лаборатории будет установка на наш компьютер Android SDK и пакета драйверов. Последний часто идет универсальным паком, то есть содержит драйверы для большинства современных девайсов, и они автоматически определят подключенную модель. В редких случаях приходится доустанавливать необходимый драйвер вручную, либо тоже паком, как
Пожалуйста,
Вход
или
Регистрация
для просмотра содержимого URL-адресов!
, либо ручками, найдя нужный в каталогах типа Пожалуйста,
Вход
или
Регистрация
для просмотра содержимого URL-адресов!
.Установка Android SDK на Windows 10
Выбор компонентов Android SDK
Особо ленивые могут установить ADB вместе со всеми драйверами и аддонами «одним кликом» с помощью
Пожалуйста,
Вход
или
Регистрация
для просмотра содержимого URL-адресов!
.«Тихий установщик» ADB Installer для Windows
Очень важная составляющая SDK —
Пожалуйста,
Вход
или
Регистрация
для просмотра содержимого URL-адресов!
, компонент, позволяющий создавать виртуальные образы системы и после запускать их на своей машине. По сути, это эмулятор системы, созданный для разработчиков, пишущих приложения под эту платформу.Конфигуратор образа для запуска в Android Virtual Device
Запущенный в эмуляторе AVD образ системы Nexus 5Первое подключение
После установки SDK и пакета драйверов можно смело линковать наш девайс к компьютеру при помощи USB-кабеля. Предварительно в опциях девайса нужно активировать режим USB mass storage, то есть режим внешнего USB-накопителя. Это поможет нам в дальнейшем выполнять команды с ADB-консоли. Также обязательно активировать режим отладки Android Debug Bridge (ADB) в секции «Для разработчиков».
Включение режима отладки по USB в настройках Android
Основные подготовительные операции на этом завершены. Теперь запускаем командный интерпретатор CMD.EXE и через него шелл, который предоставит нам доступ к девайсу:
C:\ADB_folder>adb.exe devices
List of devices attached:
4df155сс115e4f21 device
Окно cmd.exe с выводом подключенного девайса
Так, мы законнектили наш девайс к компьютеру. Теперь можно получить внутренний шелл Android-устройства и проверить вывод, к примеру набрав команду whoami:
C:\ADB_folder>adb.exe shell
shell@android:/ $ whoami
Окно cmd.exe с выполненной в ADB командой shell
Приглашение $ в командной строке говорит о том, что мы находимся в непривилегированном пользовательском режиме. Символ # — приглашение с правами суперпользователя.
Более подробно о работе ADB и том, что с ее помощью можно сделать, читай в одной из
Пожалуйста,
Вход
или
Регистрация
для просмотра содержимого URL-адресов!
.Мини-шпаргалка по самым востребованным командам 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 — перейти в режим настройки загрузчика.
> dd if=/dev/block/mmcblk0 of=/sdcard/blk0.img bs=4096
Не забудь предварительно убедиться, что в смартфон или другое устройство вставлена SD-карточка, на которую будет писаться образ, иначе он запишется во внутреннюю память устройства, и тогда часть артефактов потеряется и фактическая картина инцидента будет искажена.
Чтобы сделать копию уже имеющейся SD-карты, можно воспользоваться знакомой нам бесплатной утилитой
Пожалуйста,
Вход
или
Регистрация
для просмотра содержимого URL-адресов!
. Кстати, этот же образ потом можно будет и просмотреть в программе.Источники данных
Прежде чем приступить к поиску и извлечению артефактов, нужно определиться с основными источниками, которые мы будем анализировать, и местами их хранения во внутренней памяти Android-девайса.
Все данные приложений, в том числе системных, сохраняются в директории /data/data/. Однако доступ к этой директории возможен только с правами суперпользователя, так что если наше устройство изначально не рутовано, то нам предстоит это сделать.
Каждое приложение (app) представляет собой одноименный пакет, как правило вида <com.name_app.base>, где name.app — имя приложения, которое пользователь видит в Google play или уже в своем телефоне, а *.base — это некая сигнатура, определяющая, что именно содержит пакет, к примеру:
- .contacts — список контактов;
- .maps — карты и координаты геолокации;
- .telephony — списки SMS- и MMS-сообщений.
INFO
Подробнее о системных и пользовательских директориях в Android можно узнать из этого
Пожалуйста,
Вход
или
Регистрация
для просмотра содержимого URL-адресов!
.Рассмотрим самые основные источники данных.
1. Контакты и журнал вызовов
Имя пакета: com.android.providers.contacts
Интересующие эксперта директории и файлы:
- /files/
- photos/
- profile/
- /databases/
- contacts2.db — основная БД, содержащая список контактов, открывается с помощью SQL Manager Lite (viewer)
Имя пакета: com.android.providers.telephony
Интересующие эксперта директории и файлы:
- /app_parts
- /databases/
- mmssms.db — БД с SMS- и MMS-сообщениями
- telephony.db — журнал звонков
Имя пакета: com.google.android.gm
Интересующие эксперта директории и файлы:
- /cache
- /databases/
- [email protected]
- databases/suggestions.db
- /shared_prefs/
- MailAppProvider.xml
- Gmail.xml
- UnifiedEmail.xml
Имя пакета: com.android.chrome
Интересующие эксперта директории и файлы:
- /app_chrome/Default/
- Sync Data/SyncData.sqlite3
- Bookmarks
- Cookies
- Google Profile Picture.png
- History
- Login Data
- Preferences
- Top Sites
- Web Data
- /app_ChromeDocumentActivity/
Имя пакета: com.google.android.apps.maps
Интересующие эксперта директории и файлы:
- /cache/http/
- /databases/
- gmm_myplaces.db — сохраненные места на картах Google Maps
- gmm_storage.db — места, отмеченные геолокацией
Имя пакета: com.facebook.katana
Интересующие эксперта директории и файлы:
- /files/video-cache/
- /cache/images/
- /databases/
- bookmarks_db2
- contacts_db2
- nearbytiles_db
- newsfeed_db
- notifications_db
- prefs_db
- threads_db2
Имя пакета: com.viber.voip
Интересующие эксперта директории и файлы:
- /files/preferences/
- activated_sim_serial
- display_name
- reg_viber_phone_num
- /sdcard/viber/media/
- /User Photos/
- /Viber Images/
- /Viber Videos/
- /databases/
- viber_data
- viber_messages
Имя пакета: com.whatsapp
Интересующие эксперта директории и файлы:
- /files/
- Avatars/
- me
- me.jpeg
- /shared_prefs/
- RegisterPhone.xml
- VerifySMS.xml
- /databases/
- msgstore.db
- wa.db
- /sdcard/WhatsApp/
- Media/
- Databases/
Рутинг устройства
Пожалуйста,
Вход
или
Регистрация
для просмотра содержимого URL-адресов!
— это получение прав суперпользователя, то есть root’а на Android-совместимом девайсе. В ходе рутинга в систему устанавливаются приложение Пожалуйста,
Вход
или
Регистрация
для просмотра содержимого URL-адресов!
, бинарный файл Пожалуйста,
Вход
или
Регистрация
для просмотра содержимого URL-адресов!
и набор консольных утилит Пожалуйста,
Вход
или
Регистрация
для просмотра содержимого URL-адресов!
. Root-права дадут нам полный контроль над системой, возможность беспрепятственно получать доступ к системным директориям, пользовательским данным и их содержимому, что как раз и требуется.Среди программ для рутования Android-девайса на сегодняшний день наиболее популярны Unlock Root, Kingo Android ROOT, Universal AndRoot и iRoot. Хотя найдется еще с десяток других, которые сделают это не хуже. Сам процесс рутования мы рассматривать не будем, отметим лишь, что все названные проги имеют GUI-интерфейс и, как правило, одну кнопку.
Окно программы Kingo Android ROOT для получения прав root на Android-устройстве
Окно программы Unlock Root
Стартовое окно тулзы iRoot, позволяющей получить права суперпользователя
INFO
В случае если девайc был физически поврежден и информация утеряна, часть данных можно попробовать восстановить на новый аппарат из облачного хранилища Dropbox, GDrive, с которыми устройство синхронизировалось. Для этого достаточно получить доступ к привязанному аккаунту Google.
Сброс пароля и графического ключа
Один из основных вопросов при начале анализа — как получить доступ к устройству. И на первых порах помешать этому может установленный графический ключ или пароль. Но для нас это будет совсем не большой проблемой. Поступить можно двумя способами: либо узнать сам PIN/Password, либо просто обнулить их.
Графический ключ и пароль как первичная защита смартфона от постороннего доступа
Хеш графического ключа хранится в файле /data/system/gesture.key, а пароля — в /data/system/password.key. В принципе, пароль можно попробовать и побрутить, благо на это есть готовые радужные таблицы, но тут Android оказался не так плох, и в password.key хеш пароля хранится с
Пожалуйста,
Вход
или
Регистрация
для просмотра содержимого URL-адресов!
. А сама соль лежит по пути /data/data/com.android.providers.settings/databases/settings.db для Android версии 4.4 и ниже и собственно в /data/system/locksettings.db для версий старше, чем 4.4. Хотя есть утилиты, способные методом перебора и разделения соли выдать нам готовые PIN/Key, мы так извращаться не станем и пойдем более быстрым и жестким путем. Дополнительная инфа о взломе пина и пароля
Дополнительную инфу о взломе пина/пароля можно почитать
Пожалуйста,
Вход
или
Регистрация
для просмотра содержимого URL-адресов!
, Пожалуйста,
Вход
или
Регистрация
для просмотра содержимого URL-адресов!
и Пожалуйста,
Вход
или
Регистрация
для просмотра содержимого URL-адресов!
.Итак, приступим к разблокировке девайса. Как я писал выше, если нет файла, то нет условия проверки, а значит, чтобы скинуть Lock Screen, нам нужно просто удалить несколько файлов. В консоли ADB пишем:
> adb shell
su
rm /data/system/locksettings.db
rm /data/system/locksettings.db-wal
rm /data/system/locksettings.db-shm
reboot
Если же после перезагрузки девайса трюк не удался, то сделай еще так:
> adb shell
rm /data/system/gesture.key
И как вариант, еще прописать измененные данные в базу данных без удаления файлов:
> adb shell
cd /data/data/com.android.providers.settings/databases
sqlite3 settings.db
update system set value=0 where name='lock_pattern_autolock';
update system set value=0 where name='lockscreen.lockedoutpermanently';
.quit
Вот, собственно, и все! Дело сделано, дорога расчищена.
Для любопытных есть еще одна утилита —
Пожалуйста,
Вход
или
Регистрация
для просмотра содержимого URL-адресов!
, полностью автоматизирующая байпасинг. Все, что нужно, — это подключить девайс по USB-кабелю и выбрать соответствующую опцию в окне программы. И на всякий случай — есть еще аналогичный онлайн-сервис Пожалуйста,
Вход
или
Регистрация
для просмотра содержимого URL-адресов!
.Основной инструментарий
Теперь об инструментах, которые мы будем юзать для форензики нашего Android-девайса.
- Пожалуйста, Вход или Регистрация для просмотра содержимого URL-адресов!— это очень крутая прога, которая позволяет извлекать данные как на логическом, так и на физическом уровне, вытаскивать бэкапы, рутовать девайс в один клик, а также имеет внутренний парсер и просмотрщик директорий, содержимого в них (картинки, аудио, видео), умеет делать репорты в формате XML, PFD или JSON!
Главное окно программы ViaExtract перед подключением к устройству
- Пожалуйста, Вход или Регистрация для просмотра содержимого URL-адресов!— известная по нашим прошлым статьям прога для анализа файловых систем и восстановления удаленных и allocated-файлов с возможностью мгновенного предпросмотра, экспорта и каталогизации.
Главное окно программы Autopsy перед началом работы
- Пожалуйста, Вход или Регистрация для просмотра содержимого URL-адресов!— софтина, чем-то родственная ViaExtract, позволяет извлекать крайне ценные данные, как то содержание телефонной книги, журнала SMS, паролей от Gmail и других сервисов Google, пассы от сохраненных профилей Wi-Fi и тому подобное.
Стартовое окно программы ViaLab Community Edition
- Пожалуйста, Вход или Регистрация для просмотра содержимого URL-адресов!— очень крутой комбайн утилит для извлечения различных данных с девайса: календаря, журналов звонков, SMS-переписки, телефонной книги, удаленных контактов, системных логов и тому подобного. Must have в арсенале эксперта-криминалиста, занимающегося расследованиями на мобильных платформах.
Окно программы Oxygen Mobile forensic, содержащее извлеченные данные
- Пожалуйста, Вход или Регистрация для просмотра содержимого URL-адресов!— уже известная нам утилита для просмотра баз данных (контакты, списки групп и так далее), которые мы можем вытянуть из внутренней памяти исследуемого девайса.
Основное окно SQL Manager Lite
Кейс 1. Украденный телефон
Кейс представляет собой банальную историю утери (кражи) телефона некоего топ-менеджера одной из солидных фирм. Внутри корпоративная почта, аккаунты, привязанные к различным CRM-, ERP-системам, удаленный доступ к рабочему ноутбуку и куча сохраненных файлов, содержащих конфиденциальную информацию (отчеты, планы, презентации, вложения писем). Через пару дней телефон был случайно обнаружен (подброшен?) в офисе. Однако непонятно, кто и с какой целью его похитил. Соответственно, встал вопрос: что злоумышленники делали с телефоном все то время, которое он отсутствовал у владельца?
Первым делом скидываем цифровой пароль и получаем доступ к смартфону (а у хозяина спросить пароль нельзя было?
— Прим. ред.). Далее тратим несколько минут на рутинг девайса и получаем права суперпользователя.
Сброс пароля для Android-устройства в консоли ADB
Приглашение # в командной строке — рутинг прошел успешно
Восстанавливаем SMS, список контактов и журнал вызовов, пишем в консоли ADB:
> adb pull –p /data/data/com.android.providers.telephony/databases/mmssms.db
C:/Users/Forensic/Case_0001
После копирования открываем файл mmssms.db вьювером SQL Manager Lite, либо, если предварительно прогнать через Autopsy, сразу будет доступен предпросмотр.
Обнаруженная база данных SMS-сообщений
Дальше после прогона Autopsy мы можем получить список контактов, журнал вызовов и выстроить по ним таймлайн, чтобы определить, звонил ли по каким-то номерам телефонов наш злоумышленник.
Артефакты, найденные в программе Autopsy
Далее просматриваем список Wi-Fi-сетей, к которым подключался девайс. Для этого нужно пройти по пути /data/misc/wifi/wpa_supplicant.conf и извлечь файл wpa_supplicant.conf. Этот файл содержит в себе открытым текстом (без какого-либо шифрования!) данные о подключениях к Wi-Fi: имя точки доступа, пароль и некоторые служебные данные, необходимые для подключения.
Данные файла wpa_supplicant.conf
Как видим, кроме корпоративной сети с дефолтными настройками, наш аппарат больше никуда не подключался. И как мини-вывод: либо никаких подключений злоумышленнику и не требовалось, либо данные об этом подключении после завершения коннекта были удалены.
Ищем удаленные файлы с помощью Autopsy.
Обнаруженные удаленные JPG-файлы в программе Autopsy
По результатам поиска нам так и не удалось обнаружить никаких серьезных артефактов, свидетельствующих о неправомерных действиях с телефоном. Очевидно, что злоумышленник мог просто получить визуальный доступ, просмотрев, к примеру, почтовые сообщения, сохраненные вложения и, возможно, перекопировав пароли доступа к другим корпоративным системам (если их просмотр без смены был возможен). Как вариант, мог быть снят полный дамп памяти телефона. Но к сожалению, подобные манипуляции никак не отражаются в системе, и констатировать их невозможно.
Кейс 2. Ревнивая жена
Очень банальная ситуация в духе детективных агентств из классических романов. К нам в лабораторию обратилась дама с просьбой найти следы измены ее благоверного. Несмотря на то что муж заявляет обратное и никаких компрометирующих данных на поверхностный взгляд в смартфоне нет, мы попробуем установить истину.
Итак, что мы будем искать в первую очередь? Это переписка в мессенджере WhatsApp, сохраненные (и, возможно, уже удаленные) фотографии во внутренней памяти и на SD-карте, а также звонки и SMS-сообщения. Ведь это же прямые доказательства, не так ли?
Снова извлекаем данные о SMS/MMS, журнал звонков и список контактов. На сей раз будем действовать при помощи
Пожалуйста,
Вход
или
Регистрация
для просмотра содержимого URL-адресов!
. После нескольких минут ожидания получаем листинг отправленных SMS и совершенных звонков.Окно программы Oxygen Mobile forensic с аналитикой по SMS и звонкам
Пробуем нащупать удаленные фотовидеофайлы, которые могли быть отправлены или получены от интересующего нас адресата. В дело идет уже известный Autopsy.
Фотки, удаленные с SD-карты, но обнаруженные программой Autopsy
Ну что, дело за WhatsApp, уж там-то должно быть много интересного!
Дергаем два файла:
- /data/data/com.whatsapp/databases/msgstore.db
- /data/data/com.whatsapp/databases/wa.db
Содержание файла msgstore.db
Берем программу
Пожалуйста,
Вход
или
Регистрация
для просмотра содержимого URL-адресов!
и скармливаем ей наш ключ, указывая путь к msgstore.db, дальше выбираем опцию Decrypt и отправляемся пить кофе. В итоге у нас расшифрованная база данных всех чатов с содержанием бесед и пересылаемых данных (их метаданных).
Загрузка ключа шифрования
Начало дешифрирования (подбора ключа)
Окно, сообщающее об успешном окончании дешифрования
Расшифрованная база msgstore.db в SQL Manager Lite
Вот, собственно, и все! Следы контактов с «посторонними лицами» были обнаружены. Хотя, конечно, показанные операции — это лишь часть большой работы, что была проделана другими специалистами.