Pentesting de aplicaciones Android: del APK a la API

Cualquiera puede descargar tu APK, descompilarlo y lanzar sus componentes desde otra app. Auditamos tu aplicación Android con la metodología de OWASP MASVS y MASTG, en un dispositivo real y contra su API, y te entregamos cada hallazgo con su prueba de concepto y la corrección para tu equipo en Kotlin o Java.

Dimensiona tu proyecto · Solicitar auditoría Android

¿Prefieres hablarlo? Llámanos al +34 960 730 013

  • OWASP MASVS — Las ocho categorías del estándar, de almacenamiento a privacidad
  • Componentes — Activities, servicios, receivers y providers exportados, uno a uno
  • App + API — El backend que usa la app entra en el mismo alcance
  • Retest — Verificación de las correcciones incluida

Por qué una app Android necesita su propia auditoría

Android es el sistema operativo móvil más usado del mundo y también el más abierto: el APK se descarga y se descompila en minutos, otras apps del mismo teléfono pueden hablar con la tuya y cada fabricante añade su capa. Eso no hace a Android inseguro, pero sí pone en manos del desarrollador decisiones que en otras plataformas vienen cerradas.

Los fallos que vemos con más frecuencia salen de ahí: una Activity exportada sin protección que cualquier app puede lanzar, un deep link que abre cualquier URL en un WebView con acceso a funciones de la app, un ContentProvider que expone datos, un token guardado en SharedPreferences sin cifrar o una configuración de red que confía en certificados instalados por el usuario. La revisión de Google Play busca malware e incumplimientos de políticas; no prueba nada de esto.

Un pentest Android lo busca con las herramientas de un atacante —descompilación, instrumentación con Frida, interceptación del tráfico y llamadas directas a los componentes— y lo ordena según OWASP MASVS.

Anatomía de una app Android bajo prueba

Cada capa es una categoría de OWASP MASVS. Elige una para ver qué probamos, qué solemos encontrar y el tipo de evidencia que acompaña al hallazgo en el informe.

  • MASVS-STORAGE · Almacenamiento local: SharedPreferences, SQLite y Room, almacenamiento externo, cachés, logcat y qué se lleva una copia de seguridad. Hallazgo habitual: Token de sesión en SharedPreferences sin cifrar y copia de seguridad permitida.
  • MASVS-CRYPTO · Criptografía y Keystore: Algoritmos y modos, claves escritas en el código, uso del Android Keystore y de hardware seguro (StrongBox) para guardarlas. Hallazgo habitual: Clave de cifrado escrita en el código en vez de generada y guardada en el Android Keystore.
  • MASVS-AUTH · Autenticación y biometría: Inicio de sesión, sesiones y tokens, segundo factor y BiometricPrompt: si la huella desbloquea una clave criptográfica o solo dispara un callback. Hallazgo habitual: BiometricPrompt sin CryptoObject: la huella se salta con un hook al callback de éxito.
  • MASVS-NETWORK · Comunicaciones: Network Security Configuration, tráfico en claro, validación de certificados, certificate pinning y datos sensibles en URLs. Hallazgo habitual: Una configuración de red que confía en certificados instalados por el usuario y permite tráfico en claro hacia la API.
  • MASVS-PLATFORM · Componentes, intents y WebViews: Activities, servicios, receivers y providers exportados, deep links y App Links, PendingIntents y WebViews con interfaces de JavaScript. Hallazgo habitual: Una Activity exportada que abre cualquier URL en un WebView con addJavascriptInterface: una web ajena llama a funciones de la app.
  • MASVS-CODE · Código y dependencias: Librerías y SDK de terceros con sus versiones, minSdk, builds de depuración, validación de entradas y qué se escribe en logcat. Hallazgo habitual: Build de producción con android:debuggable activo y SDK con vulnerabilidades públicas.
  • MASVS-RESILIENCE · Resiliencia: Detección de root, verificación de integridad con Play Integrity, antidepuración, antimanipulación y ofuscación con R8: suben el coste del ataque en apps de banca o juego. Hallazgo habitual: Detección de root y veredicto de integridad que se anulan en el cliente porque el servidor no los valida.
  • MASVS-PRIVACY · Privacidad y permisos: Permisos pedidos frente a los que se usan, sección de seguridad de los datos de Google Play y qué envían los SDK de terceros y cuándo. Hallazgo habitual: Permisos de ubicación y contactos pedidos al arrancar, sin relación con la función que los necesita.

Hallazgos y salidas ilustrativos, construidos con patrones habituales en auditorías Android; no describen una app concreta.

Qué cubre un pentest Android

  • Análisis estático del APK o AAB: descompilación con jadx y apktool, manifiesto, permisos, secretos embebidos y librerías nativas
  • Componentes exportados: Activities, servicios, broadcast receivers y content providers, probados uno a uno con intents a medida
  • Deep links, App Links, PendingIntents y WebViews: interfaces de JavaScript, acceso a ficheros y carga de contenido externo
  • Almacenamiento: SharedPreferences, SQLite y Room, almacenamiento externo, cachés, logcat y copias de seguridad
  • Criptografía y Android Keystore
  • Comunicaciones: Network Security Configuration, tráfico en claro y certificate pinning
  • Autenticación, sesiones y biometría con BiometricPrompt
  • Análisis dinámico con Frida en dispositivo con root: hooking y anulación de controles de root, integridad y depuración
  • Privacidad: permisos, SDK de terceros y coherencia con la sección de seguridad de los datos de Google Play
  • API backend de la app: autorización entre usuarios, tokens y endpoints ocultos

Metodología

  1. Alcance y perfil de pruebas: Acordamos qué builds, funcionalidades y roles entran y qué perfil de pruebas de OWASP MAS aplica según el riesgo de la app.
  2. Manifiesto y análisis estático: Descompilamos la app y revisamos el manifiesto, los componentes exportados, la configuración de red, los permisos y el código en busca de secretos y patrones inseguros.
  3. Componentes e intents: Lanzamos cada componente exportado y cada deep link desde fuera de la app, como haría otra app instalada en el mismo teléfono.
  4. Análisis dinámico: Instrumentamos la app con Frida en un dispositivo con root para ver qué guarda, qué cifra y cómo reacciona cuando se anulan sus controles.
  5. Red y API: Interceptamos el tráfico, anulando el pinning si existe, y probamos la API con dos cuentas por rol, donde aparecen los hallazgos de más impacto.
  6. Informe y retest: Entregamos cada hallazgo clasificado por categoría MASVS, con prueba de concepto y corrección en Kotlin o Java, y verificamos las correcciones en la nueva build.

Entregables

  • Informe ejecutivo con el riesgo para el negocio y las prioridades de corrección
  • Informe técnico con prueba de concepto y pasos para reproducir cada vulnerabilidad
  • Clasificación de los hallazgos por categoría de OWASP MASVS y referencia a los casos de prueba de MASTG
  • Recomendaciones de corrección concretas para el equipo Android (Kotlin o Java) y para el backend
  • Reunión de cierre con el equipo de desarrollo
  • Retest de las correcciones en la nueva build

Casos de uso

  • Apps de banca, pagos y fintech con datos financieros y biometría
  • Apps de salud con datos clínicos de pacientes
  • Apps corporativas con acceso a correo o sistemas internos, gestionadas con MDM
  • Marketplaces y comercio electrónico con pagos integrados
  • Apps de mensajería o con datos privados de los usuarios
  • Startups que deben superar la due diligence de un cliente enterprise o de un inversor

Revisión de Google Play, escáner o pentest: qué mira cada uno

Los tres revisan tu app, pero buscan cosas distintas.

Revisión de Google PlayEscáner automáticoPentest Android manual
ObjetivoMalware e incumplimientos de políticasPatrones conocidos en el APKEncontrar lo que explotaría un atacante
Componentes exportadosNoLos listaLos lanza y demuestra el impacto
WebViews y deep linksNoIndiciosExplotación con una prueba de concepto
API backendNoNoSí, con dos cuentas por rol
EntregableAprobación o rechazoListado sin validarInforme con PoC, corrección y retest

Compara con

Preguntas frecuentes sobre pentesting Android

¿Necesitáis el código fuente de la app Android?

No es imprescindible: podemos trabajar con el APK o el AAB, como lo haría un atacante. El código fuente permite llegar más lejos en el mismo tiempo, sobre todo en la lógica de negocio, y que las recomendaciones apunten a la línea exacta.

¿Podéis hacer el test sin un dispositivo físico?

Parte del análisis estático y de red se puede hacer en emulador. Para el análisis dinámico completo con Frida, y para lo que depende del hardware como el Keystore o la biometría, usamos dispositivos físicos con root que ponemos nosotros.

¿Probáis la app ofuscada de producción?

Sí. La ofuscación con R8 o con herramientas comerciales dificulta el análisis, pero no lo impide, y precisamente medir cuánto cuesta saltarla es parte de la prueba de resiliencia. Si quieres más profundidad en el mismo tiempo, una build sin ofuscar ayuda.

¿Incluye la API que usa la app?

Sí. La mayoría de los hallazgos graves de una app están en su backend: endpoints que devuelven datos de otros usuarios o que aceptan lo que la app ya debería haber validado. La API entra en el mismo alcance.

¿Qué es OWASP MASVS y qué nivel necesitamos?

Es el estándar de verificación de seguridad de apps móviles de OWASP, organizado en ocho categorías: almacenamiento, criptografía, autenticación, red, plataforma, código, resiliencia y privacidad. Desde la versión 2 ya no define niveles L1 y L2 dentro del estándar: el alcance se ajusta con los perfiles de prueba del proyecto OWASP MAS según el riesgo de la app, y lo acordamos contigo en la propuesta.

¿La auditoría ayuda a cumplir el RGPD?

Sí. Identificamos dónde se guardan y por dónde viajan los datos personales, si están bien protegidos y qué permisos sobran. Es información clave para la evaluación de impacto (EIPD) y para que la sección de seguridad de los datos de Google Play diga la verdad.

¿Cuánto dura un pentest de una app Android?

Depende del número de funcionalidades y roles y de si la API entra en el alcance. La fase técnica de un pentest suele llevar entre 3 y 10 días hábiles y el informe llega 2-3 días después; el plazo exacto va en la propuesta.

Plataformas móviles

El backend de la app

Para equipos de producto

Fuentes

¿Listo para proteger tu empresa?

Responde la ficha de alcance a tu ritmo y la usaremos para preparar tu propuesta. Si prefieres hablarlo antes, reserva una llamada gratuita de 30 minutos.

Dimensiona tu proyecto · Solicitar auditoría Android