
Il principale framework di valutazione della sicurezza per Android.
drozer è un framework di test di sicurezza per Android.
drozer ti permette di cercare vulnerabilità di sicurezza in app e dispositivi assumendo il ruolo di un'app e interagendo con l'Android Runtime, gli endpoint IPC di altre app e il sistema operativo sottostante.
drozer fornisce strumenti per aiutarti a utilizzare, condividere e comprendere exploit Android pubblici.
drozer è un software open source, mantenuto da Reversec. Una guida introduttiva per l'utente è disponibile su Reversec Labs
Questa è una versione BETA di una versione riscritta di drozer; questa versione è aggiornata per supportare python3.
Attualmente, sono presenti i seguenti problemi noti:
Per aiutare a garantire che drozer possa essere eseguito su tutti i sistemi, è stato creato un contenitore Docker che contiene una build funzionante di drozer.
Puoi usare pip o pipx (preferibilmente, se disponibile) per installare l'ultima release di drozer da PyPI:
pipx install drozer
In alternativa, puoi scaricare singole releases da GitHub ed eseguire:
pipx install ./drozer-*.whl
Se non lo hai già fatto, considera di eseguire:
pipx ensurepath
per assicurarti che i pacchetti installati con pipx appaiano nel tuo PATH
Per compilare drozer dal sorgente puoi eseguire.
git clone https://github.com/ReversecLabs/drozer.git
cd drozer
pip install .
Per compilare i componenti nativi Android contro un SDK specifico puoi impostare la variabile d'ambiente ANDROID_SDK al percorso. Ad esempio:
Linux/macOS:
export ANDROID_SDK=/home/drozerUser/Android/Sdk/platforms/android-34/android.jar
Windows - PowerShell:
New-Item -Path Env:\ANDROID_SDK -Value 'C:\Users\drozerUser\AppData\Local\Android\sdk\platforms\android-34\android.jar'
Windows - cmd:
set ANDROID_SDK = "C:\Users\drozerUser\AppData\Local\Android\sdk\platforms\android-34\android.jar"
La posizione dello strumento d8 utilizzato può essere modificata anche impostando D8.
drozer può essere installato usando Android Debug Bridge (adb).
Scarica l'ultimo drozer Agent qui.
adb install drozer-agent.apk
Ora dovresti avere la drozer Console installata sul tuo PC e l'Agente in esecuzione sul dispositivo di test. Ora devi connetterli e sei pronto per iniziare a esplorare.
Useremo il server integrato nell'Agente drozer per farlo. Prima, avvia l'Agente, seleziona l'opzione "Server Integrato" e tocca "Abilita" per avviare il server. Dovresti vedere una notifica che il server è stato avviato.
Poi, segui una delle opzioni seguenti.
Per impostazione predefinita, l'Agente drozer ascolta le connessioni TCP in entrata su tutte le interfacce sulla porta 31415.
Per connetterti all'Agente, esegui il seguente comando:
drozer console connect --server <phone's IP address>
Se stai usando il contenitore Docker, il comando equivalente sarebbe:
docker run --net host -it drozerdocker/drozer console connect --server <phone's IP address>
In alcuni scenari, connettersi al dispositivo tramite rete potrebbe non essere praticabile. In questi scenari, possiamo sfruttare le capacità di port-forwarding di adb per stabilire una connessione via USB.
Prima, devi configurare un port forwarding adatto in modo che il tuo PC possa connettersi a un socket TCP aperto dall'Agente all'interno dell'emulatore o sul dispositivo. Per impostazione predefinita, drozer usa la porta 31415
adb forward tcp:31415 tcp:31415
Ora puoi connetterti all'Agente drozer connettendoti a localhost (o semplicemente non specificando l'IP di destinazione)
drozer console connect
Dovresti vedere un prompt dei comandi di drozer:
Selecting ebe9fcc0c47b28da (Google sdk_gphone64_x86_64 12)
.. ..:.
..o.. .r..
..a.. . ....... . ..nd
ro..idsnemesisand..pr
.otectorandroidsneme.
.,sisandprotectorandroids+.
..nemesisandprotectorandroidsn:.
.emesisandprotectorandroidsnemes..
..isandp,..,rotecyayandro,..,idsnem.
.isisandp..rotectorandroid..snemisis.
,andprotectorandroidsnemisisandprotec.
.torandroidsnemesisandprotectorandroid.
.snemisisandprotectorandroidsnemesisan:
.dprotectorandroidsnemesisandprotector.
drozer Console (v3.0.0)
dz>
Il prompt conferma l'ID Android del dispositivo a cui ti sei connesso, insieme al produttore, modello e versione del software Android.
Ora sei pronto per iniziare a esplorare il dispositivo.
drozer è rilasciato sotto una licenza BSD a 3 clausole. Vedi LICENSE per i dettagli completi.
drozer è un software Open Source, reso grande dai contributi della comunità.
Per il codice sorgente completo, segnalare bug, suggerire funzionalità e contribuire con patch, consulta il nostro progetto Github:
https://github.com/ReversecLabs/drozer
Segnalazioni di bug, richieste di funzionalità, commenti e domande possono essere inviate qui.
| Command | Description |
|---|
| run | Esegue un modulo drozer |
| list | Mostra un elenco di tutti i moduli drozer che possono essere eseguiti nella sessione corrente. Nasconde i moduli per cui non hai i permessi adatti per eseguirli. |
| shell | Avvia una shell Linux interattiva sul dispositivo, nel contesto del processo Agente. |
| cd | Monta un particolare namespace come radice della sessione, per evitare di dover digitare ripetutamente il nome completo di un modulo. |
| clean | Rimuove i file temporanei memorizzati da drozer sul dispositivo Android. |
| contributors | Mostra un elenco di persone che hanno contribuito al framework drozer e ai moduli in uso sul tuo sistema. |
| echo | Stampa testo sulla console. |
| exit | Termina la sessione drozer. |
| help | Mostra l'aiuto su un particolare comando o modulo. |
| load | Carica un file contenente comandi drozer e li esegue in sequenza. |
| module | Trova e installa moduli drozer aggiuntivi da Internet. |
| permissions | Mostra un elenco dei permessi concessi all'Agente drozer. |
| set | Memorizza un valore in una variabile che verrà passata come variabile d'ambiente a qualsiasi shell Linux generata da drozer. |
| unset | Rimuove una variabile denominata che drozer passa a qualsiasi shell Linux che genera. |