[[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)