
Hooker è un progetto open source per l'analisi dinamica di applicazioni Android. Questo progetto fornisce vari strumenti e applicazioni che possono essere utilizzati per intercettare e modificare automaticamente qualsiasi chiamata API effettuata da un'applicazione target.
Hooker è un progetto open source per l'analisi dinamica di applicazioni Android. Questo progetto fornisce vari strumenti e applicazioni che possono essere utilizzati per intercettare e modificare automaticamente qualsiasi chiamata API effettuata da un'applicazione target.
Si basa sul framework Android Substrate per intercettare queste chiamate e aggregare tutte le loro informazioni contestuali (parametri, valori restituiti, ...). Le informazioni raccolte possono essere memorizzate in ElasticSearch o in file JSON.
Una serie di script Python è inoltre fornita per automatizzare l'esecuzione di un'analisi al fine di raccogliere qualsiasi chiamata API effettuata da un insieme di applicazioni.
Android-Hooker è una prova di concetto basata sul framework Substrate. Ciò significa che Hooker non può funzionare se Substrate non è installato correttamente sul tuo dispositivo. Per il momento, gli autori hanno installato con successo Substrate su dispositivi con versioni Android 4.1 e 4.2. Se sai come installare Substrate su versioni successive, ti preghiamo di farcelo sapere via email a [email protected] e saremo lieti di integrare questa funzionalità nel progetto.
Hooker è composto da più moduli:
Abbiamo sviluppato Hooker utilizzando un sistema Debian a 64 bit e, pertanto, potrebbe non funzionare correttamente su altri sistemi a causa di percorsi o parametri inadeguati. Il tuo aiuto per identificare queste incompatibilità è molto apprezzato. Ti preghiamo di segnalare un problema nel nostro Bug Tracker se incontri errori durante l'utilizzo.
Per utilizzare Hooker hai bisogno di almeno un server su cui hai installato:
Questo passaggio riguarda l'installazione di ElasticSearch. Scarica e segui la documentazione online di ElasticSearch: http://www.elasticsearch.org/overview/elkdownloads/. Puoi installare elasticsearch su un singolo host oppure distribuire un cluster di nodi elasticsearch.
Puoi scaricare il bundle Android qui. Se vuoi utilizzare lo script di installazione di Hooker, devi:
Assicurati di impostare la variabile d'ambiente ANDROID_HOME: $ export ANDROID_HOME=/path/to/your/sdk/folder
Scarica le API SDK dal tuo SDK manager.
Uno script di installazione è fornito per aiutarti a compilare e installare tutte le dipendenze necessarie. Se vuoi utilizzare questo script, assicurati di avere le seguenti dipendenze:
# openjdk-7-jdk, ant, python-setuptools (installali semplicemente con apt)
Quando hai tutto pronto, esegui lo script di installazione nella directory principale di Hooker:
$ ./install.sh
$ $ANDROID_HOME/tools/android list target.cd tools/emulatorCreator && python HookerInstaller.py -s SDK_PATH -a Hooker_test -t ANDROID_TARGET -d AVD_DIRECTORY,Menu > Impostazioni di sistema > Sicurezza > Blocco schermo > NessunoPer tuo interesse, puoi guardare un video su come preparare un emulatore qui
Se il tuo host elasticsearch si trova su un host diverso dal tuo emulatore Android, dovrai reindirizzare il traffico di rete. Per fare questo, puoi usare socat:
$ socat -s -v TCP4-LISTEN:9200,fork,ignoreeof,reuseaddr TCP4:192.168.98.11:9200,ignoreeof
Se hai un errore relativo all'emulazione OpenGLES (Could not load OpenGLES emulation library), devi modificare il tuo ldconfig (come root):
# echo "/path/to/your/sdk/tools/lib" > /etc/ld.so.conf.d/android.conf
# ldconfig
Guarda questo video per vedere una demo su come eseguire un esperimento manuale per analizzare una specifica applicazione.
Se vuoi usare Hooker su dispositivi reali, leggi prima il README specifico.
hooker_xp/sampleManualAnalysis.conf,hooker_xp/sampleAutomaticAnalysis.conf,*RealDevice*,Hooker usa ElasticSearch per memorizzare gli eventi e Kibana come frontend per analizzarli. Per aiutarti ad analizzare le applicazioni, abbiamo inserito un esempio di dashboard Kibana nella directory tools/kibana-dashboard. Per usarla, dovrai eseguire un primo esperimento e quindi importare il file kibana-export.json. Per importare una dashboard, devi andare all'URL http://localhost:5601 e:
Settings -> Objects,Import,Lo script Python dell'esperimento è nella directory hooker_xp:
$ cd hooker_xp && python hooker_xp.py -c yourAnalysisConfigurationFile.conf
Dovresti vedere i log Python che ti spiegano cosa sta succedendo.
Saremo lieti se potessi aiutarci a migliorare questo lavoro. Utilizza le funzionalità di GitHub per fornire le tue correzioni di bug e i tuoi miglioramenti.
Il progetto Hooker è stato avviato da Georges Bossert e Dimitri Kirchner. Entrambi lavorano per AMOSSYS, una società francese di sicurezza informatica http://www.amossys.fr.
Questo software è concesso in licenza sotto la GPLv3 License. Vedi il file LICENSE nella directory principale della distribuzione per il testo completo della licenza.