Drzer — это платформа тестирования безопасности для систем Android. Drozer может предотвратить неприемлемые риски безопасности для приложений и устройств Android, находящихся на стадии разработки или развертывания, путем взаимодействия с виртуальной машиной Dalivik, конечными точками IPC других приложений и базовой операционной системой.
drozer предоставляет множество эксплойтов для тестирования на проникновение на платформе Android для использования и обмена. Для удаленных уязвимостей drozer может создать шеллкод, который поможет развернуть агент drozer в качестве инструмента удаленного управления для максимального использования устройства. Drozer может значительно сократить трудоемкую оценку безопасности Android и выявить уязвимости приложений Android посредством тестирования атак.
drozer работает на эмуляторах Android и реальных устройствах и не требует отладки по USB или других разработок. У drozer есть множество модулей расширения, которые можно найти для тестирования и выявления проблем безопасности Android.
Адрес проекта: https://github.com/WithSecureLabs/drozer.
Установите jdk-7u80-windows-x64, установите переменную среды javac, C:\Program Files\Java\jdk1.7.0_80\bin.
Должен быть установлен Python2.7. Drzer не поддерживает Python3. Можно установить версию python-2.7.15.amd64. Если на компьютере установлено несколько версий Python, после установки Python2.7 можно установить временную переменную пути. Перед каждым выполнением выполните set path=C:\Python27;C:\Python27\Scripts;%path в cmd. %
Он должен быть установлен в тот же каталог, что и Python. После установки программы, связанные с дрозером, находятся в каталоге C:\Python27\Scripts, как показано на рисунке ниже:
Выполните подключение консоли drozer и сообщите об ошибке, выполните
pip install protobuf
Продолжайте сообщать об ошибках и выполнять
python -m pip install --upgrade pip
Выполнить еще раз
pip install protobuf
Продолжить выполнение
drozer console connect
Сообщить об ошибке, выполнить
pip install pyopenssl
Продолжить выполнение
drozer console connect
Сообщить об ошибке, выполнить
pip install twisted
Продолжить выполнение
drozer console connect
осуществлять
pip install service_identity
Продолжить выполнение
drozer console connect
Установка дрозера завершена.
*На виртуальной машине невозможно установить эмулятор.
Установите дрозер-agent-2.3.4.apk в эмулятор и запустите его, затем в каталоге, где находится adb эмулятора изучите следующую команду:
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
После успешного завершения дрозеросуществлять агент отобразит следующую информацию:
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взаимодействие
осуществлятьdrozer console connectперед командой,Убедитесь, что среды py2 и py3 сосуществуют.,Для сосуществования требуется задать временный путь или изменить путь к файлу drozer.bat исследуемого.
Drozer может использовать докер, что очень удобно.
docker run -it withsecurelabs/drozer console connect --server Мобильный IP
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