Не удалось прогрузить медиа
Введение
Здравствуйте! В данной статье мы поговорим об методах форензики мобильного телефона на базе android. В качестве основы я взял нерутированный Xiaomi Redmi 9 (lancelot). В данной статье для выполнения работы будет использованно такое специализированное ПО, как adb. Статья будет интересна новичкам, так как устройство нерутированно и действия просты в повторении.Содержание:
- Теория и подготовка
- Подключение телефона к adb
- Использование scrcpy
- Использование adb
- Вывод
Теория и подготовка
sql browser - удобное графическое приложение для работы с базами данных sql. При помощи него мы сможем просматривать таблицы.Установка:
sudo apt install sqlitebrowser -yADB - он же Android Debug Bridge, используется разработчиками. Имеет большой функционал, с его помощью можно удалять системные приложения, логгировать действия приложений, копировать данные на ПК и множество других полезных функций. Adb состоит из трех компанентов:
- Клиент - работает на ПК разработчика. Использует порт 5037 для связи с сервером.
- Adbd - демон работающий в фоновом режиме на каждом устройстве android, который принимает команды от клиента и выполняет их на устройстве.
- Сервер - работает на ПК разработчика. Его задачей является помощь во взаимодействии между клиентом и adbd.
sudo apt install android-tools-adb -yscrcpy - приложение для передачи экрана телефона телефона на ПК (с возможностью управления).
Установка:
Bash:
wget https://github.com/Genymobile/scrcpy/releases/download/v3.3.4/scrcpy-linux-x86_64-v3.3.4.tar.gz
tar -xvf scrcpy-linux-x86_64-v3.3.4.tar.gz
cd scrcpy-linux-x86_64-v3.3.4/
Практика
Для начала нам нужно включить режим разработчика и отладку по USB: Заходим в настройки нажимаем "О телефоне" и кликаем на "Версия MIUI" пока не появится надпись, о том, что мы теперь разработчик.Далее в настройках ищем пункт "Расширенные настройки" и выбираем "Для разработчиков". Нам нужно включить отладку по USB, ищем и нажимаем:
Не удалось прогрузить медиа
После чего подключаем телефон к ПК по usb и проверяем правильно ли мы сделали:
adb devices -lНе удалось прогрузить медиа
По выводу команды lsusb мы можем видеть, что включена отладка (debug), а в выводе adb появилось наше устройство. Если в вашем случае устройство не появилось, то попробуйте повторно подключить телефон по USB.
Возможность беспроводного подключения
Adb предлагает вариант беспроводного подключения, который мы также рассмотрим в статье.В режиме разработчика активируем беспроводную отладку
Не удалось прогрузить медиа
После активации ползунка нажимаем на беспроводную отладку и мы можем видеть наш локальный IP-адресс и список подключенных устройств:
Не удалось прогрузить медиа
В моем случае IP-адресс 10.113.26.234, это внутренний адрес сети, который мы будем использовать для подключения.
Bash:
adb tcpip 5555
adb disconnect #отключаем телефон от USB
adb connect <ip>:5555
adb devices
Не удалось прогрузить медиа
Использование scrcpy:
переходим в директорию scrcpy-linux-x86_64-v3.3.4запускаем исполняемый файл
./scrcpyНе удалось прогрузить медиа
Xiaomi ограничили возможность нажатий через adb (scrcpy работает при помощи adb shell), поэтому взаимодействовать с экраном мы не сможем, но возможность просмотра остается.
Использование adb:
Базовая информацияПолучим базовую информацию о телефоне командой
adb shell getpropНе удалось прогрузить медиа
В выводе мы можем увидеть такие параметры, как
- [ro.product.build.version.release_or_codename]: [11] - версия андроид
- [ro.product.model]: [M2004J19C] - модель
- [ro.serialno]: [001d46790412] - серийный номер
Чтобы получить список установленных на телефоне приложений выполняем команду
adb shell pm list packagesНе удалось прогрузить медиа
В выводе будут присутствовать как системные так и обычные приложения.
Расположение приложений
Чтобы получить место расположения файла нужно добавить флажок -f:
adb shell pm list packages -fНе удалось прогрузить медиа
Создание логического дампа
Давайте попробуем создать логический дамп приложения twitter. Это не бекап с возможными пользовательскими данными, а файлы приложения с библиотеками, конкретной версией и сплит файлами. Мой путь к файлам
/data/app/~~llugaZ0wUdWSw12GIkMv-A==/com.twitter.android-O68q5q1tncSN1iUsVj77LQ==/ команда: adb pull /data/app/~~llugaZ0wUdWSw12GIkMv-A==/com.twitter.android-O68q5q1tncSN1iUsVj77LQ==/Не удалось прогрузить медиа
Поиск аккаунтов
При помощи команды
adb shell dumpsys account мы сможем узнать аккаунты используемые на устройствеНе удалось прогрузить медиа
Процессы ps
Чтобы узнать список процессов воспользуемся командой
adb shell psНе удалось прогрузить медиа
Процессы top
Имеется возможность мониторинга процессов при помощо top, команда:
adb shell topНе удалось прогрузить медиа
Логический бекап приложений
Мы можем попытаться создать логический бекап приложений (если разрешено самим приложением). Командой
adb backup -all -f buckup.ab - плагин -all будет помещать в бекап все приложения, что разрешеноНе удалось прогрузить медиа
На моменте создания бекапа вам нужно разблокировать телефон и указать пароль шифрования для защиты бекапа, позже он вам понадобится. В результате у нас получился .ab (android backup) файл, который нужно расшифровать, воспользуемся android-backup-extractor:
Bash:
wget https://github.com/nelenkov/android-backup-extractor/releases/download/master-20221009063057-8fdfc5e/abe.jar
sudo apt install openjdk-21-jdk -y
java -jar abe.jar unpack backup.ab backup.tar
Не удалось прогрузить медиа
Во время распаковки файла вам нужно будет ввести пароль который вы указывали при создании бекапа. Теперь у нас появился файл с расширением .tar, распаковать его мы можем командой
tar -xvf backup.tar в итоге мы получим папку apps:Не удалось прогрузить медиа
Мы можем видеть большое количество файлов, но 99% из них бесполезные или косвенные.
Отправка сетевых репортов.
Не удалось прогрузить медиа
Не удалось прогрузить медиа
К сожалению без рута найти чтото стоящее очень сложно. Приложения могут запрещать переносить их данные. Большинство баз данных просто размечены, но информации на них нет.
Поиск уведомлений
Команда для просмотра уведомлений:
adb shell dumpsys notificationНе удалось прогрузить медиа
В выводе команды мы можем наблюдать:
- count - количество уведомлений от приложения
- muted - количество уведомлений закрытых пользователем/системой
- demoted - пониженные по приоритету
Для просмотра статистики использования приложений воспользуемся командой
adb shell dumpsys usagestatsНе удалось прогрузить медиа
- 16:02:25 - пользователь переключился с телеграм на com.miui.home (рабочий стол)
- 16:02:27 - возобновилось использование телеграм
При помощи
adb shell мы можем выполнять команды доступные в unix. Например ls, cd, pwd и тп.Не удалось прогрузить медиа
Точки доступа (wifi)
Командой
adb shell dumpsys wifi мы сможем извлечь информацию о wifi:Не удалось прогрузить медиа
В выводе будут точки доступа к которым подключался пользователь.
Копирование /sdcard на ПК
Командой
adb pull /sdcard я скопировал папку к себе на ПК. Telegram может хранить на ней фото, видео, файлы и тп. Обычные скриншоты/фотографии так же хранятся там. Важно отметить, что это не физическая sd card, а ее логическая эмуляция так как на самой sd card может ничего не хранится.Не удалось прогрузить медиа
В выводе мы можем увидеть фото и темп файлы принадлежащие телеграм, которые можем просмотреть:
Не удалось прогрузить медиа
Файлы скриншотов:
Не удалось прогрузить медиа
Вывод
В ходе работы мы успешно извлекли множество артефактов из телефона. Даже ограниченный доступ позволяет получить данные. Например кеш с телеграма, информацию о точках wi-fi, к которым пользователь подключался. Конечно, необходимо учитывать, что возможности adb без root сильно ограничены и найти что-то сверхъестественное без прав суперпользователя мы не можем, но в этом и суть статьи. По мере развития android и дополнений со стороны производителей телефонов, возможности adb сокращаются, но это также означает, что безопасность таких телефонов выше.Спасибо за прочтение!
👍4
😮1
👏1
LIMB