Drzer — это платформа тестирования безопасности для Android.
drozer позволяет вам искать уязвимости безопасности в приложениях и устройствах, взяв на себя роль приложения и взаимодействуя со средой выполнения Android, конечными точками IPC других приложений и базовой ОС.
drozer предоставляет инструменты, которые помогут вам использовать, делиться и понимать общедоступные эксплойты Android.
drozer — это программное обеспечение с открытым исходным кодом, поддерживаемое WithSecure, которое можно загрузить по адресу: https://labs.withsecure.com/tools/drozer/.
Это БЕТА-релиз переписанной версии дрозера; эта версия обновлена для поддержки Python3.
На данный момент существуют следующие известные проблемы:
Чтобы обеспечить возможность запуска drozer на всех системах, был создан Docker-контейнер с рабочей сборкой drozer.
Вы можете использовать pip
или pipx
(желательно, если они доступны) для установки последней версии дрозера из PyPI:
pipx install drozer
Альтернативно вы можете загрузить отдельные выпуски с GitHub и запустить:
pipx install ./drozer- * .whl
Если вы еще этого не сделали, рассмотрите возможность запуска:
pipx ensurepath
чтобы гарантировать, что пакеты, установленные pipx
появляются в вашем PATH
Чтобы собрать дрозер из исходников, вы можете запустить .
git clone https://github.com/WithSecureLabs/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:UsersdrozerUserAppDataLocalAndroidsdkplatformsandroid-34android.jar '
Windows — cmd:
set ANDROID_SDK = " C:UsersdrozerUserAppDataLocalAndroidsdkplatformsandroid-34android.jar "
Местоположение используемого инструмента d8
также можно изменить, установив D8
.
drozer можно установить с помощью Android Debug Bridge (adb).
Загрузите последнюю версию агента drozer здесь.
adb install drozer-agent.apk
Теперь на вашем ПК должна быть установлена консоль drozer, а на тестовом устройстве запущен агент. Теперь вам нужно соединить их, и вы готовы начать исследование.
Для этого мы будем использовать сервер, встроенный в агента дрозера. Сначала запустите агент, выберите опцию «Встроенный сервер» и нажмите «Включить», чтобы запустить сервер. Вы должны увидеть уведомление о том, что сервер запущен.
Затем следуйте одному из вариантов ниже.
По умолчанию агент дрозера прослушивает входящие TCP-соединения на всех интерфейсах через порт 31415. Чтобы подключиться к агенту, выполните следующую команду:
drozer console connect --server <phone's IP address>
Если вы используете контейнер Docker, эквивалентной командой будет:
docker run --net host -it withsecurelabs/drozer console connect --server <phone's IP address>
В некоторых случаях подключение к устройству по сети может оказаться невозможным. В этих сценариях мы можем использовать возможности переадресации портов adb
для установления соединения через USB.
Во-первых, вам необходимо настроить подходящий переадресационный порт, чтобы ваш компьютер мог подключаться к TCP-сокету, открытому агентом внутри эмулятора или на устройстве. По умолчанию дрозер использует порт 31415.
adb forward tcp:31415 tcp:31415
Теперь вы можете подключиться к дрозер-агенту, подключившись к 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 устройства, к которому вы подключились, а также производитель, модель и версия программного обеспечения Android.
Теперь вы готовы приступить к изучению устройства.
Команда | Описание |
---|---|
бегать | Выполняет модуль дрозера |
список | Показать список всех модулей дрозера, которые могут быть выполнены в текущем сеансе. Это скрывает модули, для запуска которых у вас нет подходящих разрешений. |
оболочка | Запустите интерактивную оболочку Linux на устройстве в контексте процесса агента. |
компакт-диск | Монтирует определенное пространство имен в качестве корня сеанса, чтобы избежать необходимости повторно вводить полное имя модуля. |
чистый | Удалите временные файлы, хранящиеся drozer на устройстве Android. |
участники | Отображает список людей, которые внесли свой вклад в структуру drozer и модули, используемые в вашей системе. |
эхо | Вывести текст на консоль. |
Выход | Завершить сеанс дрозера. |
помощь | Отобразить справку по конкретной команде или модулю. |
нагрузка | Загрузите файл, содержащий команды дрозера, и выполните их последовательно. |
модуль | Найдите и установите дополнительные модули дрозера из Интернета. |
разрешения | Отображение списка разрешений, предоставленных агенту дрозера. |
набор | Сохраните значение в переменной, которая будет передаваться как переменная среды во все оболочки Linux, созданные drozer. |
не установлен | Удалите именованную переменную, которую drozer передает во все создаваемые им оболочки Linux. |
drozer выпускается под лицензией BSD из 3 пунктов. Подробную информацию см. в разделе ЛИЦЕНЗИЯ.
drozer — это программное обеспечение с открытым исходным кодом, созданное благодаря вкладу сообщества.
Полный исходный код, возможность сообщать об ошибках, предлагать функции и вносить исправления см. в нашем проекте Github:
https://github.com/WithSecureLabs/drozer
Сообщения об ошибках, запросы на добавление функций, комментарии и вопросы можно отправлять здесь.