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.
![Análisis estático de aplicaciones Android](https://esgeeks.com/wp-content/uploads/2021/12/Analisis-estatico-Android-1024x604.png)
Se puede consultar una lista de vulnerabilidades con referencias al código fuente.
![Lista de vulnerabilidades](https://esgeeks.com/wp-content/uploads/2021/12/Lista-vulnerabilidades.png)
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.
![Búsqueda de técnicas de endurecimiento](https://esgeeks.com/wp-content/uploads/2021/12/Busqueda-tecnicas-endurecimiento-1024x468.png)
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.
![Sistema de base de datos de análisis](https://esgeeks.com/wp-content/uploads/2021/12/Sistema-base-de-datos-1024x318.png)
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.
![Reporte de parches automáticos](https://esgeeks.com/wp-content/uploads/2021/12/Parches-automaticos.png)
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.
![Analizador dinámico de aplicaciones Android](https://esgeeks.com/wp-content/uploads/2021/12/Analizador-dinamico-Android.png)
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.
![Control de scripts de frida](https://esgeeks.com/wp-content/uploads/2021/12/Control-scripts-de-frida-1024x613.png)
La página dinámica también ofrece la funcionalidad de navegar por los datos de la aplicación en tiempo real.
![Página dinámica de Aparoid](https://esgeeks.com/wp-content/uploads/2021/12/Pagina-dinamica-Aparoid.png)
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