
Mobile-Edge-Dynamische Einheitliche Sicherheitsanalyse
Ein modulares Automatisierungs-Framework und Skript-Repository für Laufzeittests und die Untersuchung von Android- und iOS-Apps, entwickelt für Penetrationstester und Malware-Analysten. Sie können Module einbinden, um Schutzmaßnahmen (wie SSL-Pinning) zu umgehen, Netzwerk-/WebView-Aktivitäten zu überprüfen, API-Aufrufe zu verfolgen, Speicher/Kryptografie zu untersuchen und Malware-Verhalten zu überwachen – alles von einem einzigen koordinierten Skript aus. Es läuft unter der Haube auf FRIDA und wird mit über 90 wiederverwendbaren Modulen ausgeliefert, sodass Tests einfach skalierbar und wiederholbar sind.
Systemvoraussetzungen:
Installation von GitHub:
# mit dem systemweiten python3/pip
pip3 install -r requirements.txt
# oder in einer virtuellen Umgebung (empfohlen)
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
Oder laden Sie die neueste stabile Version von hier herunter.
Verwendung mit Docker:
Ein vorkonfiguriertes Dockerfile ist im medusa/-Verzeichnis verfügbar.
Erstellen Sie das Image: docker build -t medusa:latest ./
Starten Sie den Container: docker run --name medusa --net=host --rm -it medusa:latest
Aktivieren Sie ADB über TCP/IP auf Ihrem physischen Gerät oder Emulator: adb tcpip 5555
Verbinden Sie sich von innerhalb des Containers mit dem Gerät: root@docker# adb connect <device_ip>:5555
Während der Installation unter macOS kann der folgende Fehler auftreten:
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.
Um dies zu beheben, installieren Sie das gnureadline-Paket für Python:
pip install gnureadline
Für Python 3.12 verwenden Sie den folgenden Befehl, um gnureadline aus einem bestimmten Commit zu installieren:
pip install git+https://github.com/ludwigschwardt/python-gnureadline.git@8474e5583d4473f96b42745393c3492e2cb49224
Wenn Sie von einer älteren Version von Medusa aktualisieren und auf Datenbank-Kompatibilitätsprobleme mit Mango stoßen, lesen Sie bitte DATABASE_MIGRATIONS.md für Migrationsanweisungen.
Wichtig: Wenn Sie eine vorhandene Mango-Datenbank haben und nach dem Update Fehler erhalten, überprüfen Sie die Migrationsanleitung, um Ihr Datenbankschema zu aktualisieren.
Führen Sie das entsprechende Einstiegsskript für jede Plattform aus:
# Android
python3 medusa.py
# iOS
python3 medusa_ios.py
Nach dem Start listet MEDUSA die verfügbaren Geräte auf und lässt Sie eines auswählen.
Allgemeiner interaktiver Workflow
# 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
Medusas leichtgewichtiger Begleit-CLI für statische Vorbereitung und Automatisierung – Manifest-Parsing, Angriffsflächen-Erkennung, App-Verfolgung sowie einfache Geräte-/Proxy-Automatisierung.
Führen Sie python3 mango.py <Datenbankname> aus, um eine Datenbank zum Speichern von Mangos Ergebnissen zu erstellen oder zu laden.
# 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
Dies ist optional und für den Standard-Workflow der Medusa-CLI nicht erforderlich.
Wenn Sie den Android MCP-Server (medusa_android_mcp.py) verwenden möchten, installieren Sie die MCP-Anforderungen:
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"
}
Für fortgeschrittene Nutzung und Beispiele siehe unser Wiki. Für schnelle Tipps und einführende Workflows sehen Sie sich die folgenden Demos an:
Sie können zu diesem Projekt beitragen, indem Sie:
Stheno ist ein Unterprojekt von Medusa, das speziell für die Intent-Überwachung innerhalb dieses Frameworks entwickelt wurde. Nachfolgend finden Sie eine Kurzanleitung zur Einrichtung und effektiven Nutzung von Stheno.
Intent-Modul einbinden:
Fügen Sie das Modul intents/start_activity zu Ihrem Medusa-Projekt hinzu:
medusa> add intents/start_activity
Socket-Server starten: Starten Sie den Medusa-Socket-Server, um die Kommunikation zu ermöglichen:
medusa> startserver
Stheno starten: Öffnen Sie Stheno, navigieren Sie zum Intent-Monitor-Menü und klicken Sie auf Start, um mit der Überwachung von Intents zu beginnen.






Hooks API-Aufrufe, die bei dieser Art von Malware häufig vorkommen, einschließlich:
- Exfiltration von Kontakten
- Exfiltration von Anrufprotokollen
- Kameranutzung
- Mikrofonnutzung
- Standortverfolgung
- Datei-Upload
- Medienaufzeichnung
- Zwischenablage-Überwachung
- Geräteerkennung
- Bildschirmaufnahme
Übersetzt die Benutzeroberfläche der Anwendung durch Hooking von 'setText'-Aufrufen
