[[hack_roadmap-0|Up]]
====== Pruebas de Penetración en Aplicaciones Móviles ======
Las pruebas de penetración en aplicaciones móviles se centran en identificar y
mitigar vulnerabilidades en aplicaciones desarrolladas para dispositivos
móviles, como teléfonos inteligentes y tabletas. Estas pruebas requieren un
enfoque especializado debido a las particularidades de las plataformas móviles y
sus ecosistemas.
===== Introducción a las Pruebas de Penetración en Aplicaciones Móviles =====
==== Conceptos Clave: ====
* **Aplicaciones Móviles:** Programas desarrollados específicamente para dispositivos móviles (Android, iOS).
* **Vulnerabilidades:** Debilidades en el código, configuración o diseño de la aplicación móvil.
* **Metodologías:** Marcos y guías que estructuran el proceso de pruebas.
==== Recursos: ====
* [[https://owasp.org/www-project-mobile-security-testing-guide/|OWASP Mobile Security Testing Guide (MSTG)]]
* [[https://owasp.org/www-project-mobile-top-ten/|OWASP Mobile Top Ten]]
===== Preparación y Reconocimiento =====
==== Definición del Alcance: ====
* Establecer los límites y objetivos de las pruebas.
* Identificar las aplicaciones móviles que serán evaluadas, incluyendo versiones específicas y plataformas (Android, iOS).
==== Recopilación de Información: ====
* **Pasiva:** Recolectar información sin interactuar directamente con la aplicación (ej., búsqueda de información sobre la aplicación en línea, revisiones en tiendas de aplicaciones).
* **Activa:** Interactuar directamente con la aplicación para obtener información detallada (ej., análisis de tráfico de red, revisión de permisos).
==== Herramientas de Recopilación: ====
* **APK Analyzer:** Herramienta para descompilar y analizar aplicaciones Android.
* **MobSF (Mobile Security Framework):** Herramienta automatizada para análisis de aplicaciones móviles.
* **Wireshark:** Herramienta para capturar y analizar tráfico de red.
==== Recursos: ====
* [[https://github.com/MobSF/Mobile-Security-Framework-MobSF|MobSF GitHub]]
* [[https://www.wireshark.org/|Wireshark Official Website]]
===== Análisis Estático =====
==== Descompilación de Aplicaciones: ====
* Extraer el código fuente y los recursos de la aplicación para analizarlos.
* Herramientas: **APKTool** (Android), **Class-dump** (iOS)
apktool d
==== Revisión de Código Fuente: ====
* Identificar vulnerabilidades en el código fuente, como malas prácticas de programación y problemas de configuración.
* Herramientas: **Static Code Analyzers** (ej., SonarQube)
==== Análisis de Permisos y Configuraciones: ====
* Revisar los permisos solicitados por la aplicación y las configuraciones en los archivos de manifiesto.
* Herramientas: **Manifest Explorer** (Android)
==== Recursos: ====
* [[https://ibotpeaches.github.io/Apktool/|APKTool Documentation]]
* [[https://docs.sonarqube.org/latest/|SonarQube Documentation]]
===== Análisis Dinámico =====
==== Instalación y Configuración: ====
* Instalar la aplicación en un dispositivo móvil o emulador configurado para pruebas.
* Configurar un proxy para interceptar el tráfico de red (ej., **Burp Suite**,
**OWASP ZAP**).
==== Interceptación y Modificación de Tráfico: ====
* Capturar y analizar el tráfico de red generado por la aplicación.
* Modificar las solicitudes y respuestas para identificar vulnerabilidades como
**Inyección SQL**, **Cross-Site Scripting (XSS)** y **Inyección de Comandos**.
burpsuite
==== Análisis de Comportamiento de la Aplicación: ====
Observar cómo se comporta la aplicación bajo diferentes condiciones, como
pérdida de red, cambio de permisos, y manipulación de datos de entrada.
==== Recursos: ====
* [[https://portswigger.net/burp/documentation|Burp Suite Documentation]]
* [[https://www.zaproxy.org/docs/desktop/start/|OWASP ZAP Documentation]]
===== Explotación de Vulnerabilidades =====
==== Identificación de Vulnerabilidades Específicas: ====
* **Inyección SQL (SQLi):** Manipular las consultas SQL realizadas por la aplicación.
* **Cross-Site Scripting (XSS):** Inyectar scripts maliciosos en páginas web cargadas por la aplicación.
* **Cross-Site Request Forgery (CSRF):** Realizar acciones en nombre de otro usuario.
==== Explotación de Vulnerabilidades: ====
* Utilizar herramientas y técnicas para explotar las vulnerabilidades identificadas.
* Herramientas: **Drozer** (Android), **Frida** (Cross-platform), **Jailbreak/Root Utilities** para iOS/Android.
==== Ejemplos de Uso: ====
* **Drozer:**
drozer console connect
* **Frida:**
frida -U -f -l
==== Recursos: ====
* [[https://labs.mwrinfosecurity.com/tools/drozer/|Drozer Documentation]]
* [[https://frida.re/docs/home/|Frida Documentation]]
===== Post-Explotación =====
==== Mantener el Acceso: ====
* Establecer persistencia en la aplicación comprometida para mantener el acceso.
* Herramientas: **Backdoors**, **Web Shells**.
==== Elevación de Privilegios: ====
* Aumentar los privilegios del atacante dentro de la aplicación o el dispositivo.
* Técnicas: **Rooting/Jailbreaking**, **Exploit Development**.
==== Recopilación de Información: ====
* Extraer información sensible y crítica del sistema comprometido.
* Herramientas: **Data Exfiltration Scripts**.
==== Recursos: ====
* [[https://www.xda-developers.com/root/|Android Rooting Guide]]
* [[https://www.theiphonewiki.com/wiki/Jailbreak|iOS Jailbreaking Guide]]
===== Análisis y Reporte de Resultados =====
==== Documentación de Hallazgos: ====
Describir detalladamente las vulnerabilidades encontradas, incluyendo cómo
fueron explotadas y el impacto potencial.
==== Recomendaciones: ====
Proporcionar recomendaciones específicas para mitigar cada vulnerabilidad
identificada.
==== Presentación del Informe: ====
Crear un informe claro y conciso para los stakeholders, incluyendo resumen
ejecutivo, detalles técnicos y pasos para la remediación.
==== Recursos: ====
* [[https://github.com/0x4D31/pentest_report|Sample Penetration Testing Report]]
===== Conclusión =====
Las pruebas de penetración en aplicaciones móviles son cruciales para
identificar y mitigar vulnerabilidades que podrían ser explotadas por atacantes.
Utilizando una metodología estructurada y herramientas adecuadas, los pentesters
pueden descubrir debilidades en la seguridad de las aplicaciones móviles y
ayudar a mejorar la postura de seguridad general de una organización. Dominar
estas técnicas es esencial para cualquier profesional en el campo de la
seguridad informática y el hacking ético.
===== Recursos Adicionales =====
* [[https://owasp.org/www-project-mobile-security-testing-guide/|Mobile Security Testing Guide]] (OWASP)