← Volver al inicio

Seguridad Móvil: Un Ecosistema Diferente

Objetivo de esta Guía

Romper la ilusión de que un celular es solo "una computadora pequeña". Hackear una aplicación móvil requiere un conjunto de habilidades totalmente distinto al de hackear una página web. Un analista de ciberseguridad moderno debe entender por qué las reglas del juego cambian drásticamente cuando pasamos de Windows/Linux a Android e iOS.


1. El Mito de la "Mini-Web"

Mucha gente asume que una aplicación móvil (como la app del banco) es simplemente una página web disfrazada con botones más grandes. Esto es un error.

  • En la Web: Tu navegador web (Google Chrome) es un intermediario ciego. Descarga el código HTML/JavaScript del servidor en tiempo real, lo muestra, y cuando cierras la pestaña, lo destruye. Tú no posees el código del servidor del banco.
  • En Móvil: Cuando descargas la App del banco de la Play Store, estás descargando todo el código fuente del cliente directamente a tu disco duro físico. Tú eres el dueño de ese código. Puedes abrirlo, desarmarlo, leerlo y modificarlo antes de ejecutarlo.

Esta diferencia cambia toda la estrategia del atacante. El atacante móvil tiene la aplicación en la palma de su mano para experimentar de forma offline, sin que el servidor del banco lo detecte.


2. Android (El Mundo de Java/Kotlin)

Android está construido sobre un núcleo modificado de Linux, pero las aplicaciones se escriben en lenguajes como Java o Kotlin (y más recientemente con frameworks híbridos como Flutter o React Native).

  • El Archivo APK: Cuando descargas una app, descargas un archivo con extensión .apk (Android Package Kit).
  • El Gran Secreto: Un archivo .apk no es código alienígena. Es literalmente un archivo comprimido .zip. Si tomas la app del banco (banco.apk), le cambias el nombre a banco.zip y lo descomprimes, podrás ver todos los archivos de sonido, las imágenes y el código empaquetado adentro.

El Riesgo del Android Abierto

Por diseño, Android permite a los usuarios habilitar opciones de desarrollador e instalar aplicaciones fuera de la tienda oficial (sideloading). Esto lo hace un ecosistema increíblemente fértil para el malware, ya que un usuario puede ser engañado fácilmente para descargar un "juego gratis" desde una página rusa.


3. iOS (El Fuerte Sandboxing)

Apple diseñó iOS con la paranoia militar en mente. Mientras que en Android tú tienes el control (si lo deseas), en iOS el usuario no tiene control de su propio dispositivo. Apple dicta qué corre y qué no.

  • El Sandboxing (La Cárcel de Arena): En iOS, cada aplicación vive en una celda de aislamiento virtual absoluta (Sandbox). La app de Facebook no puede leer los archivos que están guardados en la app de WhatsApp. No tienen forma de comunicarse entre sí sin pasar por el permiso explícito de Apple.
  • El Archivo IPA: El equivalente al APK en Apple es el .ipa (iOS App Store Package).

El Jailbreak

Para hackear aplicaciones en iOS (o para investigar malware en iPhones), los analistas de seguridad se ven obligados a hacer un Jailbreak (Fuga de la cárcel). Esto es un proceso de explotación física del teléfono que rompe el sistema operativo para permitir que las aplicaciones salgan de su "sandbox" y el investigador tenga permisos de Dios (Root). Sin un iPhone con Jailbreak, el Mobile Pentesting en Apple es casi imposible.


Criterio de Dominio (Autoevaluación)

  1. En una auditoría de Red Team, ¿Por qué tienes una ventaja táctica mucho mayor al auditar la Aplicación Móvil del banco frente a auditar su Página Web oficial? (Piensa en la propiedad del código).
  2. Si sospechas que una aplicación descargada en tu Android es un malware que roba las fotos de tu cámara, ¿Cuál es el primer paso rudimentario que podrías hacer en tu propia computadora para ver los archivos internos de esa aplicación?
  3. Explica el concepto de "Sandboxing" en iOS y por qué un analista defensivo no puede instalar un software "Antivirus" tradicional en un iPhone para escanear otras aplicaciones.