Fundamentos

Pentesting de aplicaciones móviles: por qué tu app lo necesita

·9 min de lectura
Pentesting de aplicaciones móviles: por qué tu app lo necesita

El pentesting de aplicaciones móviles revisa qué guarda tu app en el teléfono, qué manda por la red y qué puede hacer alguien con ella una vez descargada. Se audita contra OWASP MASVS, a mano, y parte de 1.140 €.

La diferencia con una auditoría web está en el punto de partida. Una aplicación web vive en tu servidor. Una app móvil vive en un teléfono que no controlas, y cualquiera puede bajarla de la tienda, abrirla y leer lo que lleva dentro. Ese es el trabajo del atacante, y es por donde empieza el nuestro.

Por qué la app se queda fuera de la auditoría

Una persona usa una aplicación en su teléfono en plena calle, con la pantalla mostrando conexiones de red hacia el exterior.

Casi siempre es un problema de reparto. Seguridad audita la infraestructura. Desarrollo publica la app. Nadie la tiene en su lista. Cuando además la mantiene un proveedor externo, el hueco crece: se revisa el contrato y no el binario.

Hay una razón técnica encima. La app no está en tu perímetro, así que no aparece en un escaneo de red ni en el inventario de activos expuestos. Para verla hay que ir a la tienda y descargarla, exactamente igual que haría cualquiera.

Qué se encuentra al auditar apps de verdad

Un analista revisa en su teléfono un panel de métricas de seguridad, con más cuadros de mando en los monitores del escritorio.

No es una impresión nuestra. En su Global Mobile Threat Report de 2025, Zimperium midió que el 43 % de las aplicaciones Android y cerca del 60 % de las de iOS son vulnerables a fugas de datos personales, y que más del 60 % de las de iOS no llevan protección básica del código.

El dispositivo tampoco ayuda. Ese mismo informe cifra en más del 50 % los teléfonos que funcionan con un sistema operativo desactualizado o comprometido. Una app bien construida sigue expuesta si no comprueba dónde se está ejecutando.

Los diez riesgos que mide OWASP

El Mobile Top 10 de OWASP, en su edición de 2024, ordena lo que de verdad se explota. Traducido a lo que se ve en una auditoría:

RiesgoQué significa en una app real
M1 · Uso indebido de credencialesClaves de API y tokens escritos en el código o guardados sin protección.
M2 · Cadena de suministro inseguraSDK y librerías de terceros que entran con sus permisos y con sus fallos.
M3 · Autenticación y autorización rotasSesiones que no caducan, o permisos que comprueba la app en vez del servidor.
M4 · Validación de entrada y salida insuficienteDatos que llegan del servidor o de otra app y se usan sin comprobar.
M5 · Comunicaciones insegurasTráfico sin cifrar, o cifrado pero sin fijación de certificado.
M6 · Controles de privacidad inadecuadosDatos personales que salen del teléfono sin que el usuario lo sepa.
M7 · Protección del binario insuficienteLa app se descompila, se modifica y se vuelve a firmar.
M8 · Configuración de seguridad deficienteDepuración activa, copias de seguridad permitidas, componentes expuestos.
M9 · Almacenamiento de datos inseguroTokens y datos de cliente escritos en claro en el dispositivo.
M10 · Criptografía insuficienteAlgoritmos obsoletos, o la clave guardada junto a lo que cifra.

Los dos primeros son los que más han cambiado el trabajo en los últimos años. Ya no basta con revisar el código propio: hay que mirar qué entra con cada dependencia, quién la mantiene y qué permisos se llevó el día que se integró.

Qué se rompe, en concreto

Portátil con un mapa de conexiones de ataque y un candado, junto a otro con código fuente, en un puesto de trabajo.

En el teléfono

Lo primero que se mira es qué queda escrito cuando la app se cierra. Tokens de sesión, credenciales y datos de cliente aparecen en bases de datos locales, en preferencias sin cifrar y en los registros del sistema. En Android, un android:allowBackup a true en el AndroidManifest.xml permite sacar esos ficheros con adb backup sin tocar el teléfono por dentro.

Lo correcto es que los secretos vivan en el Keystore de Android o en el Keychain de iOS, y que nada sensible acabe en un registro. Suena obvio y es de lo que más encontramos.

En la red

El cifrado en tránsito está casi siempre. Lo que falta es la fijación de certificado, y sin ella basta con instalar un certificado propio en el teléfono para leer todo el tráfico entre la app y su servidor. En iOS conviene además comprobar que nadie ha desactivado App Transport Security con NSAllowsArbitraryLoads en el Info.plist para salir de un apuro en desarrollo.

En el binario

Una app publicada es un fichero que cualquiera descarga y descomprime. Dentro aparecen direcciones de entornos de pruebas, claves de servicios de terceros y la lógica de negocio que se puede modificar en tiempo de ejecución. Si una comprobación importante vive solo en la app, no es una comprobación.

En lo que viene de fuera

Los SDK de analítica, publicidad y pagos entran con los permisos que pidieron el día que se integraron. Una app con cuatro SDK hereda la superficie de los cuatro, y el equipo que la mantiene solo escribió el código del primero. Es el punto que más sorprende en la presentación de resultados.

La vía más rentable, aun así, suele ser la API. La app es el cliente; el trabajo lo hace el backend. Si la API confía en que quien llama es la app, basta con hablar con ella directamente y saltarse todas las comprobaciones de la pantalla. Por eso una auditoría de app acaba mirando también el pentesting de APIs.

Cómo se prueba un pentesting de aplicaciones móviles

MASVS es el estándar de verificación de OWASP para aplicaciones móviles y MASTG es la guía de pruebas que lo acompaña. El primero dice qué hay que cumplir; el segundo, cómo se comprueba. Auditamos contra los dos, en iOS y en Android.

Grupo de controlQué verifica
MASVS-STORAGEQué guarda la app en el dispositivo y con qué protección.
MASVS-CRYPTOQué se cifra, con qué algoritmo y dónde vive la clave.
MASVS-AUTHAutenticación, caducidad de sesión y autorización.
MASVS-NETWORKCifrado en tránsito y confianza en los certificados.
MASVS-PLATFORMPermisos, componentes expuestos y trato con otras apps.
MASVS-CODECalidad del código y dependencias de terceros.
MASVS-RESILIENCEResistencia a la ingeniería inversa y a la manipulación.
MASVS-PRIVACYQué datos personales se tratan y qué sale del teléfono.

El análisis estático lee el binario y su configuración. El dinámico ejecuta la app y comprueba lo que el estático solo puede sospechar. Los dos hacen falta: un secreto escrito en el código lo ve el primero, y una sesión que no caduca al cambiar la contraseña solo la ve el segundo.

Qué se juega la empresa

Depende de lo que guarde la app, y conviene decirlo en plazos y en dinero. En abstracto no mueve a nadie.

Si el fallo da acceso a datos de clientes, hay una brecha que notificar. El RGPD da 72 horas desde que se conoce, y el reloj empieza antes de que nadie sepa el alcance real. Lo contamos paso a paso en qué hacer ante una brecha de datos.

Si el fallo permite suplantar a un usuario, el problema deja de ser de datos y pasa a ser de dinero: pedidos, pagos y devoluciones hechos con la cuenta de otro, y un servicio de atención que no sabe qué contestar.

Y queda el coste que no se factura. Una app retirada de la tienda mientras se corrige es una semana sin canal de venta, y la revisión para volver a publicarla no la controlas tú.

Cómo trabajamos: seis fases

Equipo auditor revisando código en pantalla durante una sesión de trabajo con el cliente.

El proceso es el mismo en las trece auditorías que hacemos, y esa es la parte que tranquiliza a un equipo de desarrollo: sabe qué va a pasar y cuándo.

  1. 01Kick-off: alcance, calendario, cuentas de prueba y reglas del juego.
  2. 02Plan de auditoría por escrito, con fechas de inicio y fin, pruebas previstas y equipo auditor.
  3. 03Ejecución. Si aparece algo crítico, se avisa en el momento y no se espera al informe.
  4. 04Informe técnico: cada vulnerabilidad con impacto, criticidad y evidencia. Si se explotó, con los pasos para reproducirla.
  5. 05Presentación de resultados para perfiles no técnicos, con las dudas resueltas. Entregamos el PowerPoint que usamos.
  6. 06Retest: seis meses para corregir y después una verificación nueva, con informe nuevo.
El objetivo no es entregar un informe. Es que las vulnerabilidades se corrijan.

Qué te llevas

Un informe técnico con cada hallazgo, su criticidad y su evidencia, un resumen ejecutivo para dirección y la presentación con la que lo explicamos. Si quieres el detalle de qué debería traer, lo desglosamos en qué debe incluir un informe de pentesting.

Cada vulnerabilidad va con los pasos para reproducirla. Tu equipo puede comprobarla sin llamarnos, y esa es la diferencia entre un informe que se archiva y uno que se corrige.

Cuánto cuesta y cuánto dura

Un pentesting de aplicación móvil parte de 1.140 €. La auditoría de la API que hay detrás parte de 760 €. El precio final depende del número de pantallas, de los roles de usuario y de si entran iOS, Android o los dos.

En tiempo, de una a tres semanas desde el kick-off hasta la presentación. Para no perder días, la app tiene que llegar en una versión estable y con cuentas de prueba de cada rol.

Qué preparar antes de contratar

  1. 01Decide el alcance: qué plataformas, qué versión y si entra el backend.
  2. 02Prepara cuentas de prueba de cada rol y avisa a quien mantenga la API.
  3. 03Reúne el AndroidManifest.xml, el Info.plist y la lista de dependencias de terceros.
  4. 04Pide un informe de ejemplo y mira si trae evidencias o solo una lista de fallos.
  5. 05Comprueba que el retest está incluido y con qué plazo.
  6. 06Acuerda a quién se avisa si aparece algo crítico a mitad de auditoría.

Con eso resuelto, la auditoría empieza el primer día. Sin ello, la primera semana se va en conseguir un usuario de pruebas.

Cómo lo abordamos

Los servicios con los que resolvemos lo que cuenta este artículo:

  • ›Pentesting de aplicaciones móviles · Pentesting de tu app iOS o Android contra OWASP MASTG: qué guarda en el dispositivo, qué manda por la red y con qué permisos.
  • ›Pentesting de APIs · Pentesting de tus APIs REST y GraphQL con el OWASP API Top 10, empezando por la autorización a nivel de objeto.

Preguntas frecuentes

De una a tres semanas desde el kick-off hasta la presentación de resultados. El margen depende de cuántas pantallas tenga la app, de cuántos roles de usuario haya y de si se auditan iOS y Android o solo una plataforma. La fecha de fin se fija por escrito en el plan de auditoría, antes de empezar.

No es obligatorio. Auditamos en caja negra a partir del binario publicado, que es lo que tiene un atacante. Con acceso al código y a la configuración se llega más lejos en el mismo tiempo, sobre todo en criptografía y gestión de secretos. Se decide en el kick-off y queda escrito en el alcance.

Sí, y es lo habitual. Se trabaja sobre la versión publicada o sobre una compilación equivalente, en un entorno de pruebas con datos que no sean reales. Ni Google Play ni la App Store exigen permiso para auditar tu propia aplicación. Lo que sí conviene es avisar a quien mantenga el backend.

Cubre una parte, y suele ser la más grave, pero deja fuera todo lo que ocurre en el teléfono. El almacenamiento de tokens, la fijación de certificado, los permisos y lo que se saca del binario no se ven desde el servidor. Una auditoría de API parte de 760 € y se puede contratar junto con la de la app.

Tenéis seis meses para corregirlos y después hacemos el retest, con un informe nuevo que dice qué se cerró y qué sigue abierto. Antes está la presentación de resultados, donde se resuelven dudas con el equipo técnico y con dirección. El objetivo no es entregar un informe, es que los fallos se cierren.

¿Listo para saber por dónde te atacarían?

Cuéntanos qué quieres proteger y te devolvemos un alcance y un presupuesto cerrado en menos de 24 horas.

  • Respuesta en menos de 24 horas laborables
  • Presupuesto cerrado, sin sorpresas
  • Confidencialidad bajo acuerdo (NDA)
Servicio de interés

Pentesting Team tratará tus datos personales para dar respuesta a las solicitudes planteadas. Puedes ejercer tus derechos de acceso, rectificación, supresión y portabilidad de tus datos, únicamente en el tratamiento automatizado de los mismos y cuando procedan, en la dirección de correo electrónico pentestingteam@legitec.com. Te recomendamos que leas la política de privacidad antes de proporcionarnos tus datos personales.