Aparoid es un framework diseñado para el análisis de aplicaciones Android. Ofrece un conjunto automatizado de herramientas para descubrir vulnerabilidades y otros riesgos en las aplicaciones móviles. Está construido usando el framework Flask y ofrece una GUI web para subir archivos APK y explorar los contenidos / resultados.
La versión actual ofrece las siguientes características:
- Descompilación de APKs mediante jadx
- Sistema de detección de vulnerabilidades (reglas configurables mediante el panel de control)
- Análisis de riesgo de archivos binarios
- Funciones personalizadas para frameworks como React Native, Flutter, Xamarin y Cordova
- Comprobaciones de seguridad de Android Manifest
- Análisis dinámico en todos los dispositivos Android (rooteados) (físicos, emulados y en la nube)
- Scripts Frida para eludir la detección de root, la fijación de SSL y la detección de depuradores (también se admiten scripts personalizados)
- Instalación automática de un certificado CA raíz (también admite Burp Suite)
- Proxy de interceptación HTTP(S) y visor de tráfico en tiempo real mediante Kafka
- Navegador de datos almacenados de la aplicación en tiempo real
Instalación
git clone https://github.com/stefan2200/aparoid
cd aparoid
docker-compose up
Versión local
sudo apt-get install python3 python3-pip sqlite3 default-jre android-tools-adb gunicorn libmagic1
git clone https://github.com/stefan2200/aparoid
cd aparoid
python3 -m pip install --upgrade requirements.txt
# La librería python-magic-bin es necesaria en Windows
python3 -m pip install python-magic-bin
# Iniciar el servidor en el puerto 7300
./start.sh
Opcionalmente, se recomienda instalar Kafka si se deseas utilizar la mayoría de las funciones de análisis dinámico. El comando siguiente también instala Postgres (mucho más rápido que SQLite). Puedes cambiar a Postgres modificando el archivo config.py
.
cd collector
docker-compose up -d
Características de Aparoid
Aparoid comprueba una gran cantidad de vulnerabilidades y problemas de código.
Se puede consultar una lista de vulnerabilidades con referencias al código fuente.
Además, también analiza los binarios nativos en busca de técnicas de endurecimiento (hardening) y ofrece información sobre cómo la técnica puede mejorar la seguridad.
El motor de análisis de código estático ofrece un sistema de base de datos fácil de usar para añadir o mantener las vulnerabilidades del código estático.
Una de las características más impresionantes es la opción de crear automáticamente parches frida basados en el código fuente descompilado.
El analizador dinámico permite enumerar, instalar e instrumentar las aplicaciones instaladas. Además, aquí también se puede instalar automáticamente la versión correcta de frida para el dispositivo.
Una vez que hayas seleccionado un paquete, puedes controlar los scripts de frida y enrutar todo el tráfico de la aplicación a través de un servidor proxy. Aperoid utiliza mitmproxy por defecto para interceptar el tráfico y registrarlo en Kafka.
La página dinámica también ofrece la funcionalidad de navegar por los datos de la aplicación en tiempo real.
aparoid (este enlace se abre en una nueva ventana) por stefan2200 (este enlace se abre en una nueva ventana)
Static and dynamic Android application security analysis