Установка и использование инструмента Drozer для обеспечения безопасности приложений.
Установка и использование инструмента Drozer для обеспечения безопасности приложений.

Drzer — это платформа тестирования безопасности для систем Android. Drozer может предотвратить неприемлемые риски безопасности для приложений и устройств Android, находящихся на стадии разработки или развертывания, путем взаимодействия с виртуальной машиной Dalivik, конечными точками IPC других приложений и базовой операционной системой.

drozer предоставляет множество эксплойтов для тестирования на проникновение на платформе Android для использования и обмена. Для удаленных уязвимостей drozer может создать шеллкод, который поможет развернуть агент drozer в качестве инструмента удаленного управления для максимального использования устройства. Drozer может значительно сократить трудоемкую оценку безопасности Android и выявить уязвимости приложений Android посредством тестирования атак.

drozer работает на эмуляторах Android и реальных устройствах и не требует отладки по USB или других разработок. У drozer есть множество модулей расширения, которые можно найти для тестирования и выявления проблем безопасности Android.

Язык кода:javascript
копировать
Адрес проекта: https://github.com/WithSecureLabs/drozer.

1. Установите JDK

Установите jdk-7u80-windows-x64, установите переменную среды javac, C:\Program Files\Java\jdk1.7.0_80\bin.

2. Установите Python

Должен быть установлен Python2.7. Drzer не поддерживает Python3. Можно установить версию python-2.7.15.amd64. Если на компьютере установлено несколько версий Python, после установки Python2.7 можно установить временную переменную пути. Перед каждым выполнением выполните set path=C:\Python27;C:\Python27\Scripts;%path в cmd. %

3. Установите дрозер

Он должен быть установлен в тот же каталог, что и Python. После установки программы, связанные с дрозером, находятся в каталоге C:\Python27\Scripts, как показано на рисунке ниже:

4. Установите зависимые библиотеки.

Выполните подключение консоли drozer и сообщите об ошибке, выполните

Язык кода:javascript
копировать
pip install protobuf

Продолжайте сообщать об ошибках и выполнять

Язык кода:javascript
копировать
python -m pip install --upgrade pip

Выполнить еще раз

Язык кода:javascript
копировать
pip install protobuf

Продолжить выполнение

Язык кода:javascript
копировать
drozer console connect

Сообщить об ошибке, выполнить

Язык кода:javascript
копировать
pip install pyopenssl

Продолжить выполнение

Язык кода:javascript
копировать
drozer console connect

Сообщить об ошибке, выполнить

Язык кода:javascript
копировать
pip install twisted

Продолжить выполнение

Язык кода:javascript
копировать
drozer console connect

осуществлять

Язык кода:javascript
копировать
pip install service_identity

Продолжить выполнение

Язык кода:javascript
копировать
drozer console connect

Установка дрозера завершена.

5. Установите эмулятор MuMu.

*На виртуальной машине невозможно установить эмулятор.

Установите дрозер-agent-2.3.4.apk в эмулятор и запустите его, затем в каталоге, где находится adb эмулятора изучите следующую команду:

Язык кода:javascript
копировать
adb_server.exe devices
adb_server.exe connect 127.0.0.1:7555
adb_server.exe devices
adb_server.exe forward tcp:31415 tcp:31415
drozer console connect

После успешного завершения дрозеросуществлять агент отобразит следующую информацию:

6. Устраните искаженное имя пакета.

7. Отобразить имя пакета приложения.

8. Тестовое сито

sieve.apk — это образец приложения, доступный для тестирования.

1. Найдите приложение

2. Перечислите основную информацию о приложении.

Перечисленная здесь информация включает версию приложения, путь хранения данных приложения, путь установки приложения, соответствующие разрешения и т. д.;

3. Определите поверхность атаки

Здесь показаны некоторые потенциальные векторы атак, это приложение выводит некоторые действия, контент providersиservices。Обратите внимание, что услуги настраиваются.,Это означает, что к процессу можно подключить отладчик.,Выполните пошаговую отладку.

4. Начать деятельность

Эту поверхность атаки можно детализировать с помощью специальных команд. Например, вы можете просмотреть подробную информацию о каком-либо действии.

Здесь PWlist особенный. Поскольку эта активность экспортируется и не требует каких-либо разрешений, ее можно запустить с помощью drozer:

Здесь подходящее намерение формулируется в фоновом режиме и передается в систему через вызов startActivity. Было установлено, что авторизация была успешно обойти, и был просмотрен список учетных данных пользователя.

5. Прочтите информацию от контент-провайдера.

Вы можете подтвердить, что ни одному поставщику контента не требуются какие-либо специальные разрешения для взаимодействия с ними, за исключением пути /keys для DBContentProvider.

a. Поставщик контента на основе базы данных (утечка данных).

Легко догадаться, что поставщик контента с именем DBContentProvider должен иметь базу данных той или иной формы. Однако, поскольку мы не знаем, как устроен контент-провайдер, нам все равно придется приложить некоторые усилия для извлечения информации. Частичный URIS контента можно реконструировать для ввода в контент-провайдер.

drozer предоставляет модуль сканирования, который содержит различные способы угадывания путей и может отображать URI доступного контента:

На этом этапе вы можете использовать другие модули Drozer для извлечения информации из этих URI контента и даже изменения данных в базе данных.

б. Поставщик контента на основе базы данных (инъекция SQL).

Проверить вашу программу на наличие уязвимостей SQL-инъекций легко, манипулируя полями проекции или выбора, передаваемыми контент-провайдеру:

Android возвращает длинное сообщение об ошибке, показывающее весь просматриваемый запрос. Вы можете использовать эту лазейку для вывода списка всех таблиц в базе данных:

Или запросите другие защищенные таблицы:

c. Поставщик контента на основе файловой системы.

Поскольку разумно предположить, что FileBackupProvider является поставщиком контента на основе файловой системы, а компонент пути представляет местоположение файла, который вы хотите открыть, вы можете легко угадать URI его содержимого и использовать модуль drozer для чтения файла:

Теперь, когда вы знаете путь к базе данных приложения, вы можете получить дополнительную информацию:

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

d. Обнаружение уязвимостей контент-провайдера.

Drozer предоставляет модули для автоматического обнаружения следующих простых случаев уязвимостей:

e. иServicesвзаимодействие

9. Дополнения от других мастеров

осуществлятьdrozer console connectперед командой,Убедитесь, что среды py2 и py3 сосуществуют.,Для сосуществования требуется задать временный путь или изменить путь к файлу drozer.bat исследуемого.

Drozer может использовать докер, что очень удобно.

Язык кода:javascript
копировать
docker run -it withsecurelabs/drozer console connect --server Мобильный IP

10. Справочно-техническая документация

Язык кода:javascript
копировать
https://www.cnblogs.com/zhaoyixiang/p/11236458.html
https://www.cnblogs.com/lsdb/p/9441813.html
https://blog.csdn.net/lmh666888/article/details/125644667
https://blog.csdn.net/weixin_43525479/article/details/125282379
https://www.secpulse.com/archives/5228.html
https://mp.weixin.qq.com/s/9O5zW3d-OKB6k1s3htH57A
boy illustration
Учебное пособие по Jetpack Compose для начинающих, базовые элементы управления и макет
boy illustration
Код js веб-страницы, фон частицы, код спецэффектов
boy illustration
【новый! Суперподробное】Полное руководство по свойствам компонентов Figma.
boy illustration
🎉Обязательно к прочтению новичкам: полное руководство по написанию мини-программ WeChat с использованием программного обеспечения Cursor.
boy illustration
[Забавный проект Docker] VoceChat — еще одно приложение для мгновенного чата (IM)! Может быть встроен в любую веб-страницу!
boy illustration
Как реализовать переход по странице в HTML (html переходит на указанную страницу)
boy illustration
Как решить проблему зависания и низкой скорости при установке зависимостей с помощью npm. Существуют ли доступные источники npm, которые могут решить эту проблему?
boy illustration
Серия From Zero to Fun: Uni-App WeChat Payment Practice WeChat авторизует вход в систему и украшает страницу заказа, создает интерфейс заказа и инициирует запрос заказа
boy illustration
Серия uni-app: uni.navigateЧтобы передать скачок значения
boy illustration
Апплет WeChat настраивает верхнюю панель навигации и адаптируется к различным моделям.
boy illustration
JS-время конвертации
boy illustration
Обеспечьте бесперебойную работу ChromeDriver 125: советы по решению проблемы chromedriver.exe не найдены
boy illustration
Поле комментария, щелчок мышью, специальные эффекты, js-код
boy illustration
Объект массива перемещения объекта JS
boy illustration
Как открыть разрешение на позиционирование апплета WeChat_Как использовать WeChat для определения местонахождения друзей
boy illustration
Я даю вам два набора из 18 простых в использовании фонов холста Power BI, так что вам больше не придется возиться с цветами!
boy illustration
Получить текущее время в js_Как динамически отображать дату и время в js
boy illustration
Вам необходимо изучить сочетания клавиш vsCode для форматирования и организации кода, чтобы вам больше не приходилось настраивать формат вручную.
boy illustration
У ChatGPT большое обновление. Всего за 45 минут пресс-конференция показывает, что OpenAI сделал еще один шаг вперед.
boy illustration
Copilot облачной разработки — упрощение разработки
boy illustration
Микросборка xChatGPT с низким кодом, создание апплета чат-бота с искусственным интеллектом за пять шагов
boy illustration
CUDA Out of Memory: идеальное решение проблемы нехватки памяти CUDA
boy illustration
Анализ кластеризации отдельных ячеек, который должен освоить каждый&MarkerгенетическийВизуализация
boy illustration
vLLM: мощный инструмент для ускорения вывода ИИ
boy illustration
CodeGeeX: мощный инструмент генерации кода искусственного интеллекта, который можно использовать бесплатно в дополнение к второму пилоту.
boy illustration
Машинное обучение Реальный бой LightGBM + настройка параметров случайного поиска: точность 96,67%
boy illustration
Бесшовная интеграция, мгновенный интеллект [1]: платформа больших моделей Dify-LLM, интеграция без кодирования и встраивание в сторонние системы, более 42 тысяч звезд, чтобы стать свидетелями эксклюзивных интеллектуальных решений.
boy illustration
LM Studio для создания локальных больших моделей
boy illustration
Как определить количество слоев и нейронов скрытых слоев нейронной сети?
boy illustration
[Отслеживание целей] Подробное объяснение ByteTrack и детали кода