Платформа тестирования безопасности для Android, поддерживаемая компанией WithSecure. Позволяет искать уязвимости в приложениях и устройствах, взаимодействуя с Android Runtime, другими приложениями, конечными точками IPC и базовой операционной системой.
📌 Установка и подключение
Для установки последней версии консоли drozer с PyPI можно использовать pip или pipx:
pipx install drozerАгент drozer можно получить из репозитория в виде файла Android Package (.apk). Его можно установить на эмулятор или устройство с помощью Android Debug Bridge (adb):
adb install agent.apk. Приложение Drozer Agent должно появиться в панели запуска вашего устройства.Теперь нужно соединить устройства на которых установлены агент и консоль, затем приступать к исследованию. Для этого можно использовать сервер, встроенный в Drozer Agent. Сначала запускаем, выбираем опцию Embedded Server и нажимаем Enable, чтобы запустить сервер. Вы должны увидеть уведомление о том, что сервер запущен.
Далее возможны варианты подключения через сеть
drozer console connect --server <phone's IP address> и через USB:adb forward tcp:31415 tcp:31415
drozer console connect
🤖 Использование
Использовать инструмент будем на примере потенциально уязвимого приложения Sieve.
Первым шагом в оценке Sieve является поиск приложения на устройстве Android
run app.package.list -f sieve. Приложения, установленные на устройстве Android, однозначно идентифицируются по «имени пакета».Далее запрос у drozer базовой информации о пакете с помощью команды
run app.package.info -a com.withsecure.example.sieve. Результатом будет ряд сведений о приложении, в том числе версия, место хранения данных приложения на устройстве, место его установки и ряд сведений о разрешениях, предоставленных приложению.Определяем поверхность атаки
run app.package.attacksurface com.withsecure.example.sieve.Подробнее изучаем узнав какие действия экспортируются Sieve, используя более конкретные команды:
run app.activity.info -a com.withsecure.example.sieveВ данном случае можем обойти аутентификацию через действие PWList:
run app.activity.start --component com.withsecure.example.sieve com.withsecure.example.sieve.activity.PWList
