
Analisi di Sicurezza Unificata Dinamica per Mobile Edge
Un framework di automazione modulare e repository di script per test runtime e analisi di app Android e iOS, progettato per penetration tester e analisti malware. Consente di inserire moduli per bypassare protezioni (come SSL pinning), ispezionare l’attività di rete/WebView, tracciare chiamate API, esaminare memoria/crittografia e monitorare il comportamento dei malware, tutto da un unico script coordinato. Funziona sotto il cofano con FRIDA e include oltre 90 moduli riutilizzabili per test scalabili e ripetibili.
Requisiti di sistema:
Installazione da GitHub:
# usando python3/pip di sistema
pip3 install -r requirements.txt
# o in un ambiente virtuale (consigliato)
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
Oppure scarica l’ultima versione stabile da qui
Utilizzo con Docker:
Un Dockerfile preconfigurato è disponibile nella directory medusa/.
Costruisci l’immagine: docker build -t medusa:latest ./
Esegui il container: docker run --name medusa --net=host --rm -it medusa:latest
Abilita ADB su TCP/IP sul tuo dispositivo fisico o emulatore: adb tcpip 5555
Connettiti al dispositivo dall’interno del container: root@docker# adb connect <indirizzo_dispositivo>:5555
Durante l’installazione su macOS, potresti riscontrare il seguente problema:
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.
Per risolvere, installa il pacchetto gnureadline per Python:
pip install gnureadline
Per Python 3.12, usa il comando seguente per installare gnureadline da un commit specifico:
pip install git+https://github.com/ludwigschwardt/python-gnureadline.git@8474e5583d4473f96b42745393c3492e2cb49224
Se stai effettuando l’upgrade da una versione precedente di Medusa e riscontri problemi di compatibilità del database con Mango, consulta DATABASE_MIGRATIONS.md per le istruzioni di migrazione.
Importante: se hai un database Mango esistente e ricevi errori dopo l’aggiornamento, segui la guida alla migrazione per aggiornare lo schema del database.
Esegui lo script appropriato per ogni piattaforma:
# Android
python3 medusa.py
# iOS
python3 medusa_ios.py
Dopo l’avvio, MEDUSA elencherà i dispositivi disponibili e ti permetterà di sceglierne uno.
Flusso di lavoro interattivo comune
# elenca i comandi disponibili o ottieni aiuto su un comando specifico
medusa> help # o help <nome-comando>
# elenca i moduli disponibili
medusa> show all
# ottieni aiuto/dettagli rapidi su un modulo
medusa> info http_communications/ssl-pinning-bypass
# aggiungi un modulo (il Tab completa i percorsi dei moduli)
medusa> use http_communications/ # premi [Tab] per l’autocompletamento
# elenca i pacchetti installati sul dispositivo
medusa> list
# strumenta un pacchetto (tramite nome del pacchetto)
medusa> run -f com.my.app
# mostra i dispositivi disponibili e selezionane uno
medusa> loaddevice
Il leggero compagno CLI di Medusa per preparazione statica e automazione — analisi del manifest, enumerazione della superficie d’attacco, tracciamento delle app e semplice automazione di dispositivo/proxy.
Esegui python3 mango.py <nome-database> per creare o caricare un database per memorizzare i risultati di Mango.
# mostra i dispositivi disponibili e selezionane uno
mango> loaddevice
# estrai un’app (tramite nome del pacchetto)
mango> pull com.my.app
# importa un’app per l’analisi
mango> import /path/to/apk
Questo è opzionale e non richiesto per il normale flusso di lavoro CLI di Medusa.
Se vuoi utilizzare il server MCP Android (medusa_android_mcp.py), installa i requisiti MCP:
pip install -r requirements-mcp.txt
# Esegui
MEDUSA_MCP_TRANSPORT=streamable-http python medusa_android_mcp.py
"medusa-android": {
"type": "http",
"url": "http://127.0.0.1:8000/mcp"
}
Per utilizzo avanzato ed esempi, consulta la nostra wiki. Per suggerimenti rapidi e flussi di lavoro introduttivi, dai un’occhiata alle demo qui sotto:
Puoi contribuire a questo progetto:
Stheno è un sottoprogetto di Medusa, progettato specificamente per il monitoraggio degli Intent all’interno di questo framework. Di seguito una guida rapida su come configurare e utilizzare Stheno efficacemente.
Includi il modulo Intent:
Aggiungi il modulo intents/start_activity al tuo progetto Medusa:
medusa> add intents/start_activity
Avvia il server socket: Avvia il server socket di Medusa per facilitare la comunicazione:
medusa> startserver
Lancia Stheno: Apri Stheno e naviga nel menu Intent Monitor, quindi clicca su Start per iniziare il monitoraggio degli Intent.






Hooka chiamate API comuni per questo tipo di malware, tra cui:
- Esfiltrazione contatti
- Esfiltrazione registro chiamate
- Utilizzo fotocamera
- Utilizzo microfono
- Tracciamento posizione
- Caricamento file
- Registrazione media
- Tracciamento clipboard
- Ricognizione dispositivo
- Cattura schermata
Traduce l'interfaccia utente dell'applicazione hookando le chiamate 'setText'
