Drozer — система оценки безопасности Android

Перевод: Анна Давыдова
Источник: n0where.net

Система оценки безопасности Android

Система оценки безопасности Android

Drozer (раньше Mercury) является ведущей системой проверки безопасности для Android.

Скачать drozer с github

Drozer позволяет вам искать уязвимости в системе безопасности в приложениях и устройствах, принимая на себя роль приложения и взаимодействуя с виртуальной машиной Dalvik, с конечными точками IPC других приложений и базовой операционной системой.

Drozer предоставляет вам инструменты, которые помогут вам использовать, делиться и понимать публичные эксплойты Android. Это поможет вам развернуть Drozer Agent на устройстве с помощью эксплуатации или социальной инженерии. Использование weasel (MWR дополнительный пейлоад для эксплуатации) Drozer делает возможным доведение до максимума доступных для него прав доступа с помощью установки полного агента, введения ограниченного агента в работающий процесс или подключения к обратной оболочке, чтобы выступать в качестве Инструмента удаленного доступа (Remote Access Tool (RAT).

Drozer является программным обеспечением с открытым исходным кодом, поддерживаемым MWR InfoSecurity.

Drozer - система оценки безопасности Android

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

Исходный код Drozer распределен между определенным количеством GitHub проектов. Проекты, с которыми вы будете сталкиваться, работая с оценочной функцией Drozer, следующие:

  • drozer: содержит консоль и сервер;
  • drozer-agent: содержит Android агент.
  • drozer-modules: центральный модуль репозитория drozer, куда могут быть добавлены новые модули, доступные всем пользователям.
  • drozer-common: содержит компоненты, которые разделены между агентом и консолью.

Drozer является распределенной системой. Он обладает двумя ключевыми компонентами:

  • Agent (Агент): легкое приложение для Android, работающее на устройстве или эмуляторе, используемом для тестирования;
  • Console (Консоль): интерфейс командной строки, запущенный на вашем ПК, который позволяет вам взаимодействовать с виртуальной машиной Dalvik через Агента.

Начиная с версии 2.0, Drozer поддерживает Infrastructure Mode, в котором Агент устанавливает внешнее соединение для прохода файервола и NAT. Это позволяет создавать более реалистичные сценарии атаки. Этот режим требует наличие сервера:

  • Server (Сервер): предоставляет центральную точку, где консоли и агенты могут встречаться, и маршрутизирует сеансы между ними.

Эти компоненты используют drozer Protocol для обмена данных.

Основы проектирования drozer

drozer Agent разработан для представления произвольного, непривилегированного приложения, запущенного на устройстве Android, и запрашивает, как таковое, только одно разрешение: INTERNET разрешение. Это разрешение обязательно, потому что агенту необходимо открыть соединение для взаимодействия с консолью или сервером.

Drozer пытается избегать зависимостей на внешних инструментах, таких как ADB и AAPT, потому что они будут работать с устройствами работающими только через USB.

Функциональность Drozer должна быть реализована в виде модуля, который использует функции отражения и загрузки классов агента для выполнения своих тестов. Это позволяет системе расшириться без постоянных требований обновления агента.

Основы проектирования drozer

Более быстрые оценки безопасности Android

Drozer помогает урезать время, которое требуется для оценки безопасности Android путем автоматизации утомительного и трудоемкого процесса.

  • Обнаруживает и взаимодействует с поверхностными атаками, открываемыми приложениями Android.
  • Выполняет динамический Java-код на устройстве, что позволяет избегать необходимости компилировать и устанавливать небольшие тестовые скрипты.

Тест на реальных Android устройствах

Drozer запускается как на эмуляторах Android, так и на реальных устройствах. Он не требует USB отладки или наличия каких-либо еще инструментов разработки; так что, для получения лучших результатов вы можете проводить оценку на устройствах в их рабочем состоянии.

Автоматизация и расширение

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

Протестируйте свою подверженность воздействию к открытым эксплойтам

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

Установка Drozer

git clone https://github.com/mwrlabs/drozer/
cd drozer
python setup.py build
python setup.py install

Использование

Установка агента

Drozer может быть установлен, используя Android Debug Bridge (adb).

$ adb install drozer.apk

Начало сессии

Теперь на вашем ПК должна быть установлена Drozer консоль, и агент должен работать на вашем устройстве. Сейчас вам нужно подключить их оба, и вы будете готовы к началу исследований.

Мы будем использовать сервер, встроенный в drozer Agent, чтобы сделать это.

Если вы используете эмулятор Android, вам нужно настроить подходящий порт таким образом, чтобы ваш ПК мог подключиться к разъему TCP, открытому агентом внутри эмулятора или на устройстве. По умолчанию, drozer использует порт 31415:

$ adb forward tcp:31415 tcp:31415

Теперь, запустите агент, выберите опцию «Embedded Server» (встроенный сервер) и выберите «Enable», чтобы запустить сервер. Вы должны увидеть уведомление о том, что сервер запустился.

Затем, на вашем ПК, подключитесь, используя консоль drozer:

$ drozer console connect

Если вы используете реальное устройство, IP адрес устройства в сети должен быть указан:

$ drozer console connect --server 192.168.0.10

Вы должны будете увидеть командную строку drozer:

selecting f75640f67144d9a3 (unknown sdk 4.1.1)
dz>

Далее дождитесь подтверждения Android ID устройства, к которому вы подключились, вместе с производителем, моделью и версией программного обеспечения Android.

Теперь вы готовы приступить к изучению устройства.

Справочник команд 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, которую она порождает.

Оставить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *