
Ведущая платформа для оценки безопасности Android.
drozer — это среда тестирования безопасности для Android.
drozer позволяет искать уязвимости безопасности в приложениях и устройствах, принимая роль приложения и взаимодействуя со средой выполнения Android, другими конечными точками IPC приложений и базовой ОС.
drozer предоставляет инструменты, которые помогут вам использовать, делиться и понимать публичные эксплойты для Android.
drozer — это программное обеспечение с открытым исходным кодом, поддерживаемое Reversec. Руководство пользователя для начинающих можно найти на Reversec Labs
Это БЕТА-версия переписанной версии drozer; эта версия обновлена для поддержки python3.
В настоящее время присутствуют следующие известные проблемы:
Чтобы помочь запускать drozer на всех системах, был создан Docker-контейнер с работающей сборкой drozer.
Вы можете использовать pip или pipx (предпочтительно, если доступно) для установки последней версии drozer из PyPI:
pipx install drozer
В качестве альтернативы вы можете скачать отдельные релизы с GitHub и выполнить:
pipx install ./drozer-*.whl
Если вы еще этого не сделали, рекомендуется выполнить:
pipx ensurepath
чтобы пакеты, установленные через pipx, появлялись в вашем PATH
Для сборки drozer из исходников выполните.
git clone https://github.com/ReversecLabs/drozer.git
cd drozer
pip install .
Для сборки нативных компонентов Android для конкретного SDK вы можете задать переменную окружения ANDROID_SDK, указав путь. Например:
Linux/macOS:
export ANDROID_SDK=/home/drozerUser/Android/Sdk/platforms/android-34/android.jar
Windows - PowerShell:
New-Item -Path Env:\ANDROID_SDK -Value 'C:\Users\drozerUser\AppData\Local\Android\sdk\platforms\android-34\android.jar'
Windows - cmd:
set ANDROID_SDK = "C:\Users\drozerUser\AppData\Local\Android\sdk\platforms\android-34\android.jar"
Расположение используемого инструмента d8 также можно изменить, задав D8.
drozer можно установить с помощью Android Debug Bridge (adb).
Загрузите последнюю версию агента drozer здесь.
adb install drozer-agent.apk
Теперь у вас должна быть установлена консоль drozer на вашем ПК и агент, работающий на тестовом устройстве. Теперь вам нужно соединить их, и вы готовы начать исследование.
Мы будем использовать сервер, встроенный в агент drozer. Сначала запустите агент, выберите опцию "Embedded Server" и нажмите "Enable", чтобы запустить сервер. Вы должны увидеть уведомление о том, что сервер запущен.
Затем следуйте одному из вариантов ниже.
По умолчанию агент drozer прослушивает входящие TCP-соединения на всех интерфейсах на порту 31415. Чтобы подключиться к агенту, выполните следующую команду:
drozer console connect --server <IP-адрес телефона>
Если вы используете Docker-контейнер, эквивалентная команда будет:
docker run --net host -it drozerdocker/drozer console connect --server <IP-адрес телефона>
В некоторых сценариях подключение к устройству по сети может быть невозможным. В таких случаях мы можем использовать возможности перенаправления портов adb для установления соединения через USB.
Сначала необходимо настроить подходящее перенаправление портов, чтобы ваш ПК мог подключиться к TCP-сокету, открытому агентом внутри эмулятора или на устройстве. По умолчанию drozer использует порт 31415
adb forward tcp:31415 tcp:31415
Теперь вы можете подключиться к агенту drozer, подключившись к localhost (или просто не указывая целевой IP-адрес)
drozer console connect
Вы должны увидеть приглашение командной строки drozer:
Selecting ebe9fcc0c47b28da (Google sdk_gphone64_x86_64 12)
.. ..:.
..o.. .r..
..a.. . ....... . ..nd
ro..idsnemesisand..pr
.otectorandroidsneme.
.,sisandprotectorandroids+.
..nemesisandprotectorandroidsn:.
.emesisandprotectorandroidsnemes..
..isandp,..,rotecyayandro,..,idsnem.
.isisandp..rotectorandroid..snemisis.
,andprotectorandroidsnemisisandprotec.
.torandroidsnemesisandprotectorandroid.
.snemisisandprotectorandroidsnemesisan:
.dprotectorandroidsnemesisandprotector.
drozer Console (v3.0.0)
dz>
Приглашение подтверждает Android ID устройства, к которому вы подключились, а также производителя, модель и версию программного обеспечения Android.
Теперь вы готовы приступить к исследованию устройства.
drozer распространяется под лицензией BSD с 3 пунктами. Полные сведения см. в файле LICENSE.
drozer — это программное обеспечение с открытым исходным кодом, которое становится отличным благодаря вкладу сообщества.
Полный исходный код, сообщения об ошибках, предложения по функциям и патчи см. на нашем Github-проекте:
https://github.com/ReversecLabs/drozer
Сообщения об ошибках, запросы функций, комментарии и вопросы можно отправлять здесь.
| Команда | Описание |
|---|
| run | Выполняет модуль drozer |
| list | Показывает список всех модулей drozer, которые можно выполнить в текущей сессии. Скрывает модули, для запуска которых у вас нет соответствующих разрешений. |
| shell | Запускает интерактивную оболочку Linux на устройстве в контексте процесса агента. |
| cd | Монтирует определенное пространство имен как корень сессии, чтобы избежать необходимости многократного ввода полного имени модуля. |
| clean | Удаляет временные файлы, сохраненные drozer на Android-устройстве. |
| contributors | Отображает список людей, внесших вклад в среду drozer и используемые на вашей системе модули. |
| echo | Выводит текст на консоль. |
| exit | Завершает сессию drozer. |
| help | Отображает справку по конкретной команде или модулю. |
| load | Загружает файл, содержащий команды drozer, и выполняет их последовательно. |
| module | Находит и устанавливает дополнительные модули drozer из Интернета. |
| permissions | Отображает список разрешений, предоставленных агенту drozer. |
| set | Сохраняет значение в переменной, которая будет передана в качестве переменной окружения в любые оболочки Linux, запущенные drozer. |
| unset | Удаляет именованную переменную, которую drozer передает в любые создаваемые им оболочки Linux. |