Pentest Mobile Android e iOS
El pentest mobile es el test de intrusión de aplicaciones Android e iOS realizado con la metodología OWASP MASVS/MASTG, que evalúa almacenamiento de datos, comunicación de red, criptografía, autenticación y resistencia a la ingeniería inversa y al tampering para probar, con evidencias, qué extraería o manipularía un atacante en su app.
¿Qué es un pentest mobile?
El pentest mobile es el test de intrusión de una aplicación móvil — Android o iOS — desde la óptica de un atacante real, cubriendo el código de la app, los datos que guarda en el dispositivo, su comunicación con el backend y sus controles de seguridad embebidos. A diferencia de un pentest web tradicional, un pentest de aplicación debe lidiar con el binario instalado en el dispositivo, con el sistema operativo móvil y con la posibilidad de que el dispositivo esté comprometido (root o jailbreak).
Berghem sigue el OWASP MASVS (Mobile Application Security Verification Standard) y la guía de pruebas OWASP MASTG, combinando análisis estático del binario, ingeniería inversa, instrumentación dinámica en tiempo de ejecución y pruebas sobre la API que consume la app. El resultado es un mapa concreto de lo que un atacante alcanzaría — del dato sensible olvidado en disco a la autenticación que puede eludirse — con prueba de concepto, evidencia y recomendaciones priorizadas por impacto.
Para instituciones reguladas, el alcance mobile también debe cumplir requisitos sectoriales — incluyendo las resoluciones del BACEN/CMN sobre ciberseguridad. Las apps que procesan pagos exigen controles adicionales, y estructuramos el test para generar evidencias útiles a su proceso de conformidad.
Qué está incluido
¿Qué probamos en un pentest mobile?
Seguimos las categorías de verificación del OWASP MASVS. Cada dominio se analiza de forma estática y dinámica, se valida manualmente y se encadena en escenarios de ataque que demuestran el impacto real — nunca solo el hallazgo aislado de una herramienta.
Almacenamiento inseguro de datos
El dato que queda en el dispositivo es el primer objetivo. Revisamos bases SQLite, SharedPreferences, plists, cachés, logs y la Keychain/Keystore en busca de credenciales, tokens, datos personales e información sensible almacenada sin protección. También revisamos backups, capturas en segundo plano y fugas por teclado y portapapeles.
Comunicación de red
Interceptamos el tráfico entre la app y el backend para evaluar el uso de TLS, la validación de certificados y la robustez del SSL pinning. Probamos si el pinning puede eludirse, si hay endpoints en texto claro, downgrade de protocolo y exposición de datos en tránsito — el clásico vector man-in-the-middle contra apps móviles.
Criptografía y gestión de claves
Analizamos los algoritmos, modos y bibliotecas de criptografía que usa la app, buscando implementaciones débiles, claves e IVs embebidos en el código, aleatoriedad predecible y almacenamiento inadecuado de material criptográfico. Verificamos que los datos sensibles estén realmente cifrados y que la Keystore/Keychain se use correctamente.
Autenticación, sesión y biometría
Probamos los flujos de login, tokens, expiración de sesión, logout y la lógica de autenticación local — incluyendo PIN y biometría. Evaluamos si la autenticación puede eludirse con la app modificada, si la validación ocurre en el servidor y no solo en el cliente, y si las sesiones pueden reutilizarse o fijarse.
Interacción con la plataforma e IPC
Cada plataforma expone sus propias superficies. Probamos Activities, Services, Broadcast Receivers y Content Providers exportados en Android, esquemas de URL y universal links en iOS, WebViews, deep links y la comunicación entre procesos. Buscamos componentes expuestos que permitan eludir controles o inyectar datos.
Resiliencia, reversing y tampering
Aplicamos ingeniería inversa al binario para evaluar la ofuscación, los secretos embebidos y la resistencia de la app a la manipulación. Probamos la detección de root/jailbreak, anti-hooking y anti-debug, y cuánto resisten esos controles a la instrumentación con Frida y al repacking de la app modificada.
Cobertura por plataforma
Android e iOS tienen modelos de seguridad, formatos de binario y superficies de ataque distintos. Adaptamos la metodología a las particularidades de cada sistema, con dispositivos de prueba reales y emulados.
Pentest Android
Test de intrusión de apps Android a partir del APK/AAB: descompilación con jadx y apktool, análisis del AndroidManifest y componentes exportados, inspección de almacenamiento, instrumentación dinámica con Frida y bypass de detección de root y SSL pinning. Evaluamos apps en Java/Kotlin y código nativo.
Pentest iOS
Evaluación de apps iOS desde el IPA: análisis del binario y de clases Objective-C/Swift, inspección de la Keychain y del almacenamiento local, esquemas de URL y universal links, e instrumentación en dispositivo con jailbreak. Probamos protección de datos, biometría (Face ID/Touch ID) y resistencia a tampering.
¿Cómo ejecutamos el test?
Trabajamos con reglas de enganche acordadas y un canal seguro con el cliente de principio a fin. El test combina análisis estático del binario, pruebas dinámicas en dispositivo y evaluación de la API que consume la app, alineado con el OWASP MASTG.
Alcance y preparación
Definimos las plataformas y versiones en alcance, el nivel MASVS objetivo, credenciales de prueba, entornos y límites. Recibimos los binarios (APK/IPA) y, cuando aplica, el acceso al backend, y acordamos los objetivos y el modelo del ejercicio.
Análisis estático y reversing
Descompilamos y analizamos el binario en busca de secretos embebidos, endpoints, lógica de autenticación, uso de criptografía y componentes expuestos. Mapeamos la superficie de ataque de la app antes de pasar a la explotación dinámica.
Análisis dinámico y explotación
Ejecutamos la app en un dispositivo instrumentado, interceptamos el tráfico, eludimos controles de seguridad cuando es posible y explotamos fallas de almacenamiento, autenticación, red e IPC — encadenando los hallazgos en escenarios de ataque completos y preservando la estabilidad del entorno.
Informe y remediación
Entregamos cada hallazgo con prueba de concepto, evidencia, clasificación de severidad y recomendación priorizada por impacto, mapeada al MASVS. Hacemos la presentación técnica y ofrecemos retest para validar las correcciones aplicadas.
Servicios relacionados
El pentest de aplicación suele ir de la mano con el test de la API que consume y con otras líneas de seguridad ofensiva y desarrollo seguro.
Pentest de API
Toda app móvil habla con un backend. Probamos autenticación, autorización y lógica de negocio de las APIs REST y GraphQL que sostienen la aplicación.
Pentest Cloud
El backend de la app suele correr en la nube. Evaluamos IAM, exposición de storage y misconfigurations en AWS, Azure y GCP.
DevSecOps
Seguridad integrada al pipeline de build móvil — SAST, análisis de dependencias y pruebas automatizadas que corrigen fallas de la app en el origen.
Offensive Security
Visión general del pilar de seguridad ofensiva de Berghem: pentest, Red Team y simulación de adversarios.
Preguntas frecuentes sobre pentest mobile
¿Qué es un pentest mobile?
¿Cuál es la diferencia entre pentest mobile y pentest web?
¿Qué es el OWASP MASVS y por qué lo siguen?
¿Necesitan el código fuente de la aplicación?
¿El pentest mobile incluye probar la API de la app?
¿Listo para probar su app?
En una conversación de 30 minutos mapeamos su app Android o iOS y diseñamos el alcance ideal del pentest mobile.
Hable con un especialista