
Hooker é um projeto de código aberto para análises dinâmicas de aplicativos Android. Este projeto fornece diversas ferramentas e aplicações que podem ser usadas para interceptar e modificar automaticamente qualquer chamada de API feita por um aplicativo alvo.
Hooker é um projeto de código aberto para análises dinâmicas de aplicações Android. Este projeto fornece diversas ferramentas e aplicações que podem ser usadas para interceptar e modificar automaticamente quaisquer chamadas de API feitas por uma aplicação alvo.
Ele usa o framework Android Substrate para interceptar essas chamadas e agregar todas as suas informações contextuais (parâmetros, valores retornados, ...). As informações coletadas podem ser armazenadas em um ElasticSearch ou em arquivos JSON.
Um conjunto de scripts python também é fornecido para automatizar a execução de uma análise para coletar quaisquer chamadas de API feitas por um conjunto de aplicações.
Android-Hooker é uma prova de conceito que depende do framework Substrate. Isso significa que o Hooker não pode funcionar se o Substrate não estiver corretamente instalado no seu dispositivo. No momento, os autores instalaram com sucesso o Substrate em dispositivos com versões Android 4.1 e 4.2. Se você souber como instalar o Substrate em versões superiores, por favor nos avise por e-mail em [email protected] e teremos prazer em integrar isso ao projeto.
O Hooker é composto por vários módulos:
Desenvolvemos o Hooker usando um sistema Debian 64-bits e, como tal, ele pode falhar ao executar corretamente em outros sistemas devido a caminhos ou parâmetros inadequados. Sua ajuda para identificar essas incompatibilidades é altamente apreciada. Por favor, reporte um problema em nosso Rastreador de Bugs se encontrar qualquer erro ao usá-lo.
Para usar o Hooker, você precisa de pelo menos um servidor no qual instalou:
Este passo está relacionado à instalação do ElasticSearch. Por favor, baixe e siga a documentação online do ElasticSearch: http://www.elasticsearch.org/overview/elkdownloads/. Você pode instalar o elasticsearch em um único host ou implantar um cluster de nós elasticsearch.
Você pode baixar o pacote Android aqui. Se você quiser usar o script de instalação do Hooker, você deve:
Certifique-se de definir sua variável de ambiente ANDROID_HOME: $ export ANDROID_HOME=/path/to/your/sdk/folder
Baixe as APIs do SDK pelo seu gerenciador de SDK.
Um script de instalação é fornecido para ajudá-lo a compilar e instalar todas as dependências necessárias. Se você quiser usar este script, certifique-se de ter as seguintes dependências:
# openjdk-7-jdk, ant, python-setuptools (basta instalá-los com apt)
Quando estiver tudo pronto, execute o script de instalação no diretório raiz do 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 > System Settings > Security > Screen lock > NonePara seu interesse, você pode ver um vídeo de como preparar um emulador aqui
Se o seu host elasticsearch estiver em um host diferente do seu emulador Android, você precisará redirecionar o tráfego pela rede. Para fazer isso, você pode usar o socat:
$ socat -s -v TCP4-LISTEN:9200,fork,ignoreeof,reuseaddr TCP4:192.168.98.11:9200,ignoreeof
Se você tiver um erro relacionado à emulação OpenGLES (Could not load OpenGLES emulation library), você precisa editar seu ldconfig (como root):
# echo "/path/to/your/sdk/tools/lib" > /etc/ld.so.conf.d/android.conf
# ldconfig
Confira este vídeo para assistir a uma demonstração de como executar um experimento manual para analisar uma aplicação específica.
Se você quiser usar o Hooker em dispositivos reais, leia primeiro o README específico.
hooker_xp/sampleManualAnalysis.conf,hooker_xp/sampleAutomaticAnalysis.conf,*RealDevice*,O Hooker usa o ElasticSearch para armazenar eventos e o Kibana como frontend para analisá-los. Para ajudá-lo a analisar aplicações, enviamos um exemplo de dashboard do Kibana no diretório tools/kibana-dashboard. Para usá-lo, você precisará executar um primeiro experimento e depois importar o arquivo kibana-export.json. Para importar um dashboard, você deve ir para a URL http://localhost:5601 e:
Settings -> Objects,Import,O script python do experimento está no diretório hooker_xp:
$ cd hooker_xp && python hooker_xp.py -c yourAnalysisConfigurationFile.conf
Você deve ver logs do python explicando o que está acontecendo.
Ficaríamos encantados se você pudesse nos ajudar a melhorar este trabalho. Por favor, use os recursos do github para fornecer suas correções de bugs e melhorias.
O projeto Hooker foi iniciado por Georges Bossert e Dimitri Kirchner. Ambos trabalham para a AMOSSYS, uma empresa francesa de segurança de TI http://www.amossys.fr.
Este software é licenciado sob a Licença GPLv3. Consulte o arquivo LICENSE no diretório de distribuição superior para o texto completo da licença.