Lista de verificación de APK de Android
tip
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Check the subscription plans!
- Join the 💬 Discord group or the telegram group or follow us on Twitter 🐦 @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.
Aprender fundamentos de Android
- Conceptos básicos
- Dalvik y Smali
- Puntos de entrada
- Actividades
- Esquemas de URL
- Proveedores de contenido
- Servicios
- Receptores de difusión
- Intenciones
- Filtro de Intención
- Otros componentes
- Cómo usar ADB
- Cómo modificar Smali
Análisis estático
- Verificar el uso de ofuscación, verificar si el móvil está rooteado, si se está utilizando un emulador y realizar verificaciones de anti-manipulación. Lee esto para más información.
- Las aplicaciones sensibles (como las aplicaciones bancarias) deben verificar si el móvil está rooteado y actuar en consecuencia.
- Buscar cadenas interesantes (contraseñas, URLs, API, cifrado, puertas traseras, tokens, UUIDs de Bluetooth...).
- Prestar especial atención a las APIs de firebase.
- Leer el manifiesto:
- Verificar si la aplicación está en modo de depuración y tratar de "explotarla".
- Verificar si el APK permite copias de seguridad.
- Actividades exportadas.
- Proveedores de contenido.
- Servicios expuestos.
- Receptores de difusión.
- Esquemas de URL.
- ¿La aplicación almacena datos de manera insegura internamente o externamente?
- ¿Hay alguna contraseña codificada o guardada en disco? ¿La aplicación utiliza algoritmos criptográficos inseguros?
- ¿Todas las bibliotecas se compilan utilizando la bandera PIE?
- No olvides que hay un montón de analizadores estáticos de Android que pueden ayudarte mucho durante esta fase.
Análisis dinámico
- Preparar el entorno (en línea, VM local o física)
- ¿Hay alguna filtración de datos no intencionada (registros, copiar/pegar, registros de fallos)?
- ¿Información confidencial guardada en bases de datos SQLite?
- ¿Actividades expuestas explotables?
- ¿Proveedores de contenido explotables?
- ¿Servicios expuestos explotables?
- ¿Receptores de difusión explotables?
- ¿La aplicación transmite información en texto claro/utiliza algoritmos débiles? ¿Es posible un MitM?
- Inspeccionar tráfico HTTP/HTTPS
- Este punto es realmente importante, porque si puedes capturar el tráfico HTTP puedes buscar vulnerabilidades web comunes (Hacktricks tiene mucha información sobre vulnerabilidades web).
- Verificar posibles inyecciones del lado del cliente de Android (probablemente algún análisis de código estático ayudará aquí).
- Frida: Solo Frida, úsala para obtener datos dinámicos interesantes de la aplicación (quizás algunas contraseñas...)
Algunas informaciones sobre ofuscación/deofuscación
tip
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Check the subscription plans!
- Join the 💬 Discord group or the telegram group or follow us on Twitter 🐦 @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.