EspañolEnglish

Pentest de aplicación móvil

La app se publica con las llaves dentro. Las buscamos.

Un pentest de aplicación móvil cubre la app en el dispositivo y el backend con el que habla: almacenamiento local, mal uso de la plataforma, defensas de red y la API que hay detrás. iOS y Android, estático y dinámico, contra el build real.

iOS o Android, una app por alcance. En remoto. Presupuesto tras el scoping.

Qué responde un pentest móvil.

Una app móvil corre en un dispositivo que no controlas, en manos de alguien que quizá sí. Todo lo que se publica en el binario se puede leer: claves incrustadas, criptografía débil, secretos en el almacenamiento local, endpoints que nunca debieron ser públicos. El test mira la app como lo haría un atacante motivado con el binario y un dispositivo rooteado, y la API que confía en ella.

Por qué importa.

El binario suelta sus secretos

Claves de API, claves de cifrado y endpoints están todos en el paquete. Revertimos la app y sacamos lo que nunca debió publicarse dentro.

El backend es el verdadero premio

Casi todo el riesgo móvil está en la API, no en la app. Un control del lado cliente que un atacante quita en segundos vale solo lo que imponga el servidor. Probamos ambos, y la confianza entre ellos.

Datos que quedan en el dispositivo

Tokens en texto plano, datos personales en una base de datos sin cifrar, secretos en logs y backups. En un dispositivo perdido o compartido, eso es toda la brecha.

Cómo lo probamos.

Estático y dinámico, alineado con OWASP MASVS y MASTG.

Análisis estático

Revertir el binario: secretos incrustados, criptografía débil, configuración insegura y los endpoints con los que habla.

Análisis dinámico

La app corriendo en un dispositivo rooteado o con jailbreak: interceptación de tráfico, instrumentación en runtime y bypass de controles.

Pruebas de API

El backend del que depende la app, probado como su propia superficie, porque ahí suele estar el impacto.

Cómo se ejecuta.

La app, el dispositivo y el backend, en una sola pasada.

  1. 01

    Reconocimiento y reversing

    Desempaquetar la app, mapear sus componentes y sacar secretos, endpoints y lógica del binario.

  2. 02

    Almacenamiento y plataforma

    Datos locales, uso de keychain y keystore, IPC, permisos y configuraciones inseguras propias de la plataforma.

  3. 03

    Red y transporte

    Validación de TLS, certificate pinning y su bypass, y el tráfico entre app y backend.

  4. 04

    API y backend

    Autenticación, autorización y lógica de negocio en el servidor en el que la app confía.

  5. 05

    Runtime y hardening

    Detección de root y jailbreak, anti-tampering, y hasta dónde merece la pena confiar en cada uno.

Qué se prueba.

La app, el dispositivo y el backend que hay detrás.

  • Almacenamiento local inseguro (bases de datos, ficheros, preferencias)
  • Secretos y claves incrustados en el binario
  • Uso de Keychain y Keystore
  • Certificate pinning y validación de TLS
  • Autenticación y gestión de sesión
  • La API del backend y su autorización
  • IPC y componentes exportados (Android)
  • Criptografía débil o mal usada
  • Detección de root y jailbreak, anti-tampering
  • Logging, backups y fuga de datos

Lo que solemos encontrar.

  • Una clave de API incrustada en el binario, válida para el backend de producción.
  • Tokens de sesión guardados en texto plano en una base de datos local.
  • Certificate pinning que un hook de una línea desactiva.
  • Una API que se fía de un flag de rol del lado cliente que la propia app pone.

Qué recibes.

  • Hallazgos con puntuación CVSS y pasos de reproducción
  • Resultados estáticos y dinámicos, app y API
  • Remediación escrita para iOS o Android
  • Mapeo a OWASP MASVS
  • Reprueba gratuita de los hallazgos críticos en 30 días

Los pentests móviles se dimensionan en la llamada, por app y plataforma. Ver servicios y precios.

Preguntas.

¿iOS, Android o ambos?

Cualquiera, o ambos. Comparten backend pero difieren en almacenamiento, APIs de plataforma y hardening, así que cada plataforma es su propio alcance. Los builds multiplataforma se prueban por plataforma.

¿Necesitáis el código fuente?

No. Trabajamos desde el build como lo hace un atacante. El código acelera algunas comprobaciones y puede incluirse, pero no es obligatorio.

¿Entra el backend?

La API de la que depende la app entra en alcance, porque ahí está casi todo el impacto. Un backend grande o separado puede dimensionarse como su propio proyecto web/API.

¿Hace falta un dispositivo con jailbreak?

No, de eso nos ocupamos. Las pruebas corren en dispositivos rooteados o con jailbreak que controlamos, así que no necesitas nada por tu parte más allá del build y una cuenta de prueba.

Aplicación móvil

Todo lo que hay en el binario se puede leer.

Treinta minutos, con NDA primero. Hablas con el operador que la prueba.

Reserva una llamada de scoping gratuita

¿Prefieres correo? engagements@redghostops.com