
Мобильный краевой динамический унифицированный анализ безопасности
Модульный фреймворк автоматизации и репозиторий скриптов для динамического тестирования и исследования Android и iOS приложений, предназначенный для пентестеров и аналитиков вредоносных программ. Он позволяет подключать модули для обхода защит (например, SSL pinning), инспектировать сетевую/WebView активность, трассировать вызовы API, исследовать память/криптографию и отслеживать поведение вредоносных программ — всё из одного координированного скрипта. В основе работает на FRIDA и поставляется с 90+ переиспользуемыми модулями, чтобы тесты были масштабируемыми и легко воспроизводились.
Системные требования:
Установка из github:
# using the system python3/pip
pip3 install -r requirements.txt
# or inside a virtual environment (recommended)
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
Или загрузите последнюю стабильную версию отсюда
Использование Docker:
Предварительно настроенный Dockerfile доступен в каталоге medusa/.
Соберите образ: docker build -t medusa:latest ./
Запустите контейнер: docker run --name medusa --net=host --rm -it medusa:latest
Включите ADB через TCP/IP на вашем физическом устройстве или эмуляторе: adb tcpip 5555
Подключитесь к устройству изнутри контейнера: root@docker# adb connect <device_ip>:5555
Во время установки на macOS может возникнуть следующая проблема:
Readline features including tab completion have been disabled because no supported version of readline was found. To resolve this, install pyreadline3 on Windows or gnureadline on Linux/Mac.
Для решения установите пакет gnureadline для Python:
pip install gnureadline
Для Python 3.12 используйте следующую команду для установки gnureadline из определённого коммита:
pip install git+https://github.com/ludwigschwardt/python-gnureadline.git@8474e5583d4473f96b42745393c3492e2cb49224
Если вы обновляетесь с более старой версии Medusa и сталкиваетесь с проблемами совместимости базы данных с Mango, обратитесь к DATABASE_MIGRATIONS.md за инструкциями по миграции.
Важно: Если у вас есть существующая база данных Mango и после обновления появляются ошибки, проверьте руководство по миграции для обновления схемы базы данных.
Запустите соответствующий входной скрипт для каждой платформы:
# Android
python3 medusa.py
# iOS
python3 medusa_ios.py
После запуска MEDUSA перечислит доступные устройства и позволит вам выбрать одно.
Обычный интерактивный рабочий процесс
# list available commands or get help about a specific command
medusa> help # or help <command-name>
# list available modules
medusa> show all
# get quick help/details about a module
medusa> info http_communications/ssl-pinning-bypass
# add a module (Tab completes module paths)
medusa> use http_communications/ # press [Tab] to autocomplete
# list installed packages on the device
medusa> list
# instrument a package (by package name)
medusa> run -f com.my.app
# show available devices and select one
medusa> loaddevice
Лёгкий сопутствующий CLI от Medusa для статической подготовки и автоматизации — разбор манифестов, перебор поверхности атаки, отслеживание приложений и простая автоматизация устройств/прокси.
Запустите python3 mango.py <database-name>, чтобы создать или загрузить базу данных для хранения результатов Mango.
# show available devices and select one
mango> loaddevice
# pull an app (by package name)
mango> pull com.my.app
# import an app for analysis
mango> import /path/to/apk
Это необязательно и не требуется для стандартного рабочего процесса Medusa CLI.
Если вы хотите использовать MCP сервер для Android (medusa_android_mcp.py), установите зависимости MCP:
pip install -r requirements-mcp.txt
# Run
MEDUSA_MCP_TRANSPORT=streamable-http python medusa_android_mcp.py
"medusa-android": {
"type": "http",
"url": "http://127.0.0.1:8000/mcp"
}
Для расширенного использования и примеров смотрите нашу вики. Для быстрых советов и вводных руководств посмотрите демонстрации ниже:
Вы можете внести вклад в этот проект:
Stheno — это подпроект Medusa, специально разработанный для мониторинга Intent в рамках этого фреймворка. Ниже приведено краткое руководство по настройке и эффективному использованию Stheno.
Включите модуль Intent:
Добавьте модуль intents/start_activity в ваш проект Medusa:
medusa> add intents/start_activity
Запустите сокет-сервер: Запустите сокет-сервер Medusa для обеспечения связи:
medusa> startserver
Запустите Stheno: Откройте Stheno и перейдите в меню мониторинга Intent, затем нажмите Start, чтобы начать мониторинг Intent.






Перехватывает вызовы API, которые, как выяснилось, являются обычными для этого типа вредоносных программ, включая:
- Эксфильтрацию контактов
- Эксфильтрацию журнала вызовов
- Использование камеры
- Использование микрофона
- Отслеживание местоположения
- Загрузку файлов
- Запись медиа
- Отслеживание буфера обмена
- Разведку устройства
- Снятие скриншотов
Переводит пользовательский интерфейс приложения путём перехвата вызовов 'setText'
