CMAE: Mi experiencia con la Certified Mobile AppSec Expert

Certified Mobile AppSec Expert (CMAE)

Después de varios años especializándome en hacking web, quería dar el salto y empezar a aprender algo nuevo como hacking de aplicaciones móviles, comenzando por Android. Elegí la CMAE (Certified Mobile AppSec Expert) de Enciphers, y en este post te cuento todo lo que necesitas saber si estás pensando en presentarte.

¿Qué es la CMAE?

Es una certificación de hacking mobile centrada en Android e iOS. Te da acceso a un curso y a un examen de 10 challenges prácticos sobre una aplicación real.

El precio es de 300$ por el curso (vídeos) + el examen. La CMAE no incluye un lab de preparación, pero VantagePoint ofrece uno aparte, el Mobile Hacking Launchpad, al que tienes que apuntarte por separado. Puedes practicar en el entorno de examen tanto tiempo como desees antes de comenzar un desafío. Cada desafío cuenta con su propio tiempo asignado, pero puedes solicitar un reinicio hasta un máximo de tres veces durante todo el examen.

El curso

El curso son 17 vídeos para Android y 12 para iOS, de unos 15 minutos cada uno, con diapositivas y ejemplos prácticos. Lo mejor del material es que cubre ambos sistemas operativos, así que puedes aprender ambos. Yo me centré en Android porque prefería empezar por aquí y, una vez aprenda lo suficiente, dar el salto a iOS más adelante.

El temario cubre:

  • Introducción general al pentesting mobile.
  • Repaso del OWASP Mobile Top 10.
  • Herramientas clave: Frida, Objection, MobSF, jadx.
  • Técnicas: SSL Pinning Bypass, Anti-Root Bypass, Deep Links, SQLi, Path Traversal, componentes y activities exportadas, entre otras.

Es aconsejable tener conocimientos previos de hacking web antes de presentarte, porque hay cosas que en el curso no se ven y que luego entran en el examen, sobre todo el uso de Burp Suite. Si ya vienes de ese mundo, vas a poder completar varios challenges fácilmente.

Formato del examen

Aquí viene lo interesante. El examen son 10 challenges sobre una única aplicación. Te entregan la APK y el IPA equivalente, y tú eliges en qué plataforma resolver cada challenge (los enunciados y soluciones son los mismos para ambos). Puedes incluso resolverlos en las dos si te apetece.

El total son 400 puntos repartidos así:

Nº de challengesPuntos cada unoTiempo cada uno
42090 min
130120 min
250150 min
260180 min
170240 min

En total son 1.380 minutos (23 horas) de examen efectivo.

La nota de corte está en el 80%, es decir 320 puntos.

Gestión del tiempo

  1. Duración del lab: Cuando pulsas Solve Challenge en cualquier reto, se pone en marcha un cronómetro del laboratorio y debes resolver ese reto antes de que se agote el tiempo. El entorno general del laboratorio sigue funcionando todo el tiempo que quieras y también puedes volver a iniciarlo cada 7 días, cuando caduque.
  2. Tiempo por challenge: Cada laboratorio tiene su propio cronómetro (entre 90 y 240 minutos). Una vez lo inicias, no se puede pausar.

Puedes abrir los challenges en cualquier orden y hacerlos cuando quieras, pero una vez pulsas el botón de un challenge concreto, su cronómetro arranca sin opción de parar.

Antes de pulsar Take Challenge tienes una vista previa con el título y los prerequisitos de cada laboratorio (herramientas que vas a necesitar: Burp, jadx, etc…). El enunciado completo solo lo ves al entrar en el challenge.

Evaluación y entrega

Resets: En todo el examen tienes 3 resets, que te permiten volver a resolver un challenge si no te fue bien en el primer intento, en mi caso hubo un challenge que lo resolví de forma parcial y obtuve 10 puntos de 20, pero me permitieron repetirlo y en el segundo intento encontré la solución correcta.

Esto te permite ir con menos presión, sabes que si se te complica alguno de los challenges podrás reiniciarlo e intentarlo de nuevo.

Cada challenge se entrega con un PDF subido al propio laboratorio. La corrección la hace una persona, no es automática, y además de la puntuación te dan feedback sobre tu método para resolver el challenge, así que sirve también para aprender. Suelen tardar unas pocas horas en corregirlo.

La nota de cada challenge se reparte así:

  • 80% demostración de la solución (explotación, análisis, etc…).
  • 20% calidad de la documentación.

Aquí viene algo importante: la CMAE no es solo «hackear». Hay challenges en los que te piden explicar la configuración de un componente de la app, proponer remediaciones concretas, o documentar vulnerabilidades sin necesariamente explotarlas a fondo.

Si vienes de certs tipo OSCP, aquí tienes que cambiar la forma de pensar, la solución no es una flag, sino resolver el lab a tu manera, ya que no hay un método fijo. Además, el reporte también cuenta.

Pasos que recomiendo:

  1. Redactar cada challenge en Word con capturas de pantalla paso a paso.
  2. Escribir todo en inglés.
  3. Exportar a PDF y subir al laboratorio.

Antes de empezar a redactar, hazte una checklist con los 2-3 requisitos que te pide el enunciado y márcalos a medida que los cubres. Es la forma más rápida de no perder puntos tontos por olvidarte de algo.

Sobre la puntuación: se dan puntos parciales. Lo normal es que te den aproximadamente entre un 90% y 100% de los puntos de cada challenge. En mi caso, en dos de ellos me dijeron que estaban perfectos y recibí todos los puntos. Así que no te obsesiones con sacar la máxima en todos, con cubrir bien los requisitos y documentar correctamente llegarás de sobra al aprobado.

Setup y herramientas

Esta es la parte que más me hubiera gustado leer antes de empezar. Voy a ser concreto.

Dispositivo principal

Un móvil físico rooteado. En mi caso un Google Pixel 4 que ya tenía preparado de auditorías anteriores. Si vas a presentarte, invierte unas horas antes del examen en dejarlo listo:

  • Root.
  • Certificado de Burp instalado como system CA.
  • LSPosed con el módulo TrustMeAlready para bypass de SSL pinning.

Tener esto montado antes de arrancar el examen, te ahorra muchas horas.

Dispositivo secundario: emulador antiguo

Algún challenge requiere una versión antigua de Android, donde ciertas protecciones aún no existen o se comportan de forma distinta. Mi recomendación es tener Genymotion instalado y listo para levantar una máquina de una versión baja en 5 minutos cuando te haga falta.

Herramientas que acabé usando

HerramientaPara qué
jadxDecompilación y lectura del código Java/Kotlin de la APK
MobSFAnálisis estático inicial
Burp SuiteInterceptación de tráfico HTTP(S)
LSPosed + TrustMeAlreadyBypass de SSL pinning pasivo, sin scripts
FridaHooking dinámico en runtime
ObjectionWrapper sobre Frida, comandos rápidos para tareas comunes
JDB (Java Debugger)Debugging dinámico de la app
LogcatLectura de logs del sistema
apktoolDecompilar y recompilar la APK
apksignerFirmar la APK ya modificada antes de instalarla
GenymotionEmulador rápido para versiones antiguas de Android

Mi experiencia personal

Me presenté habiendo visto el curso completo de Android y con el entorno ya configurado. Decidí empezar la certificación aprovechando que estaba de vacaciones, para tener tiempo de sobra.

Este fue mi timeline:

  • Unos 3 meses antes: Investigo por mi cuenta sobre mobile y practico con APKs gratuitas.
  • 10 de septiembre: Empiezo a ver los vídeos del curso y a tomar apuntes.
  • 11 de octubre: Termino todos los vídeos de Android.
  • 14 de octubre: Comienzo el examen.
  • 17 de octubre: Termino el examen.

Impresiones generales:

  • Los tiempos individuales de cada challenge son sobrados en casi todos. Hubo un caso puntual en el que se me quedó corto porque tardé en encontrar la solución, pero por norma general te sobra tiempo.
  • Al no haber un límite total, puedes ir a tu ritmo. Personalmente creo que lo mejor es cogerse algunos días libres para estar más fresco. Yo lo terminé en cuatro días (del 14 al 17 de octubre).
  • Tener base de hacking web ayuda muchísimo con Burp. Si vienes de OSCP, BSCP o similar, ya tienes medio camino hecho.
  • Saber leer código Java/Kotlin es clave para todo el examen, en prácticamente todos los challenges vas a tener que usar jadx. No hace falta ser experto en Java (yo tampoco lo soy), con entender la lógica de la programación es suficiente.

Resultado

Terminé con 348 / 400 puntos (87%). Por encima del 80% de corte con margen suficiente, 10/10 challenges completados.

¿Recomiendo esta certificación?

Personalmente creo que esta certificación es una buena opción si buscas un curso + examen para introducirte en el hacking de apps móviles. Hay poca información en internet sobre esta rama de la ciberseguridad, y empezar por tu cuenta puede ser complicado.

Además, el precio es asequible, al cambio son unos 270€ aproximadamente, y si le dedicas tiempo, como hice yo, en un mes puedes terminar el curso completo.

Como todo, también tiene su parte negativa. Si buscas una certificación reconocida como la OSCP, esta no lo es, la CMAE es una cert más de nicho. Eso sí, te servirá para aprender, que al final es lo más importante.

Tampoco es un curso avanzado de hacking mobile. Te da los conocimientos básicos e intermedios para empezar en este tipo de auditorías, pero no esperes un nivel experto.


Si tienes dudas sobre la certificación, me puedes escribir por LinkedIn. Y si decides presentarte, mucha suerte, es una cert entretenida y aprendes bastante durante el examen.

Scroll al inicio