
Hooker es un proyecto de código abierto para el análisis dinámico de aplicaciones Android. Este proyecto proporciona varias herramientas y aplicaciones que pueden utilizarse para interceptar y modificar automáticamente cualquier llamada a la API realizada por una aplicación objetivo.
Hooker es un proyecto de código abierto para el análisis dinámico de aplicaciones Android. Este proyecto proporciona varias herramientas y aplicaciones que se pueden utilizar para interceptar y modificar automáticamente cualquier llamada a la API realizada por una aplicación objetivo.
Aprovecha el framework Android Substrate para interceptar estas llamadas y agregar toda su información contextual (parámetros, valores devueltos, ...). La información recopilada se puede almacenar en ElasticSearch o en archivos JSON.
También se proporciona un conjunto de scripts de Python para automatizar la ejecución de un análisis y recopilar cualquier llamada a la API realizada por un conjunto de aplicaciones.
Android-Hooker es una prueba de concepto que se basa en el framework Substrate. Esto significa que Hooker no puede funcionar si Substrate no está instalado correctamente en tu dispositivo. Por el momento, los autores han instalado Substrate con éxito en dispositivos con versiones de Android 4.1 y 4.2. Si sabes cómo instalar Substrate en versiones superiores, por favor, infórmanos por correo electrónico a [email protected] y estaremos encantados de integrarlo en el proyecto.
Hooker está compuesto por varios módulos:
Desarrollamos Hooker usando un sistema Debian de 64 bits, por lo que puede fallar al ejecutarse correctamente en otros sistemas debido a rutas o parámetros inadecuados. Agradecemos mucho tu ayuda para identificar esas incompatibilidades. Por favor, reporta un problema en nuestro Bug Tracker si encuentras algún error al usarlo.
Para usar Hooker necesitas al menos un servidor en el que hayas instalado:
Este paso está relacionado con la instalación de ElasticSearch. Por favor, descarga y sigue la documentación en línea de ElasticSearch: http://www.elasticsearch.org/overview/elkdownloads/. Puedes instalar Elasticsearch en un solo host o desplegar un clúster de nodos Elasticsearch.
Puedes descargar el paquete de Android aquí. Si deseas usar el script de instalación de Hooker, debes:
ANDROID_HOME: $ export ANDROID_HOME=/ruta/a/tu/carpeta/sdkSe proporciona un script de instalación para ayudarte a compilar e instalar todas las dependencias necesarias. Si deseas usar este script, asegúrate de tener las siguientes dependencias:
# openjdk-7-jdk, ant, python-setuptools (just apt install them)
Cuando estés listo, ejecuta el script de instalación en el directorio raíz de Hooker:
$ ./install.sh
Construir tu Dispositivo Virtual Android (AVD) de referencia -------------------------------------------------*
$ $ANDROID_HOME/tools/android list target.cd tools/emulatorCreator && python HookerInstaller.py -s SDK_PATH -a Hooker_test -t ANDROID_TARGET -d AVD_DIRECTORY,Menú > Ajustes del sistema > Seguridad > Bloqueo de pantalla > NingunoPara tu interés, puedes ver un video de cómo preparar un emulador aquí
Si tu host de Elasticsearch está en un host diferente a tu emulador de Android, necesitarás redirigir el tráfico a través de la red. Para hacer esto, puedes usar socat:
$ socat -s -v TCP4-LISTEN:9200,fork,ignoreeof,reuseaddr TCP4:192.168.98.11:9200,ignoreeof
Si tienes un error relacionado con la emulación de OpenGLES (Could not load OpenGLES emulation library), debes editar tu ldconfig (como root):
# echo "/ruta/a/tu/sdk/tools/lib" > /etc/ld.so.conf.d/android.conf
# ldconfig
Mira este video para ver una demostración de cómo ejecutar un experimento manual para analizar una aplicación específica.
Si quieres usar Hooker en dispositivos reales, lee primero el README específico.
hooker_xp/sampleManualAnalysis.conf,hooker_xp/sampleAutomaticAnalysis.conf,*RealDevice*,Hooker usa ElasticSearch para almacenar eventos y Kibana como interfaz para analizarlos. Para ayudarte a analizar aplicaciones, hemos incluido un ejemplo de panel de Kibana en el directorio tools/kibana-dashboard. Para usarlo, necesitarás ejecutar un primer experimento y luego importar el archivo kibana-export.json. Para importar un panel, debes ir a la URL http://localhost:5601 y:
Settings -> Objects,Import,El script de experimento de Python está en el directorio hooker_xp:
$ cd hooker_xp && python hooker_xp.py -c yourAnalysisConfigurationFile.conf
Deberías ver logs de Python que te expliquen lo que está pasando.
Estaríamos encantados de que nos ayudaras a mejorar este trabajo. Por favor, usa las funciones de GitHub para proporcionar tus correcciones de errores y mejoras.
El proyecto Hooker fue iniciado por Georges Bossert y Dimitri Kirchner. Ambos trabajan para AMOSSYS, una empresa francesa de seguridad informática http://www.amossys.fr.
Este software está licenciado bajo la Licencia GPLv3. Consulta el archivo LICENSE en el directorio superior de distribución para el texto completo de la licencia.