APK Deep Lens
Vamos a instalar en nuestra máquina de ataque Parrot un aplicación que está desarrollada para Linux aunque también la hay para Windows. Esa aplicación es APKDeepLens y lo que hace es muy simple: dado un fichero APK, lo escanea y genera un informe de ciberseguridad sobre esa aplicación móvil basado en el ToP 10 vulnerabilidades de la Fundación OWASP que a fecha de la creación de este post, son las siguientes:
Una descripción de como se instala la aplicación en Parrot Linux y una demostración de su uso la podéis encontrar en el vídeo de mas abajo.
Top 10 Mobile Vulnerabilities OWASP Foundation
M1: Uso inadecuado de la plataforma
Esta categoría cubre el uso indebido de una función de la plataforma o la falta de uso de los controles de seguridad de la plataforma. Podría incluir intents de Android, permisos de plataforma, uso indebido de TouchID, el llavero o algún otro control de seguridad que forme parte del sistema operativo móvil.
M2: Almacenamiento de datos inseguro
Los agentes de amenazas incluyen lo siguiente: un adversario que ha obtenido un dispositivo móvil perdido o robado; malware u otra aplicación reempaquetada que actúa en nombre del adversario y se ejecuta en el dispositivo móvil.
M3: Comunicación insegura
Al diseñar una aplicación móvil, los datos comúnmente se intercambian en forma cliente-servidor. Cuando la solución transmite sus datos, debe atravesar la red del operador del dispositivo móvil e Internet. Los agentes de amenazas pueden aprovechar las vulnerabilidades para interceptar datos confidenciales mientras viajan por la red. Existen los siguientes agentes de amenaza: Un adversario que comparte su red local (Wi-Fi comprometido o monitoreado); Dispositivos de operador o de red (enrutadores, torres de telefonía móvil, proxy, etc.); o Malware en su dispositivo móvil.
M4: Autenticación insegura
Los agentes de amenazas que explotan las vulnerabilidades de autenticación generalmente lo hacen mediante ataques automatizados que utilizan herramientas disponibles o personalizadas.
M5: Criptografía insuficiente
Los agentes de amenaza incluyen los siguientes: cualquier persona con acceso físico a datos que hayan sido cifrados incorrectamente o malware móvil que actúe en nombre de un adversario.
M6: Autorización insegura
Los agentes de amenazas que explotan las vulnerabilidades de autorización normalmente lo hacen mediante ataques automatizados que utilizan herramientas disponibles o personalizadas.
M7: Mala calidad del código
Los agentes de amenazas incluyen entidades que pueden pasar entradas que no son de confianza a llamadas a métodos realizadas dentro del código móvil. Este tipo de problemas no son necesariamente problemas de seguridad en sí mismos, sino que generan vulnerabilidades de seguridad. Por ejemplo, los desbordamientos del búfer en versiones anteriores de Safari (una vulnerabilidad de mala calidad del código) condujeron a ataques Jailbreak de alto riesgo. Los problemas de mala calidad del código suelen explotarse mediante malware o estafas de phishing.
M8: manipulación de código
Normalmente, un atacante aprovechará la modificación del código a través de formas maliciosas de las aplicaciones alojadas en tiendas de aplicaciones de terceros. El atacante también puede engañar al usuario para que instale la aplicación mediante ataques de phishing.
M9: Ingeniería inversa
Un atacante normalmente descargará la aplicación objetivo de una tienda de aplicaciones y la analizará dentro de su propio entorno local utilizando un conjunto de diferentes herramientas.
M10: Funcionalidad extraña
Normalmente, un atacante busca comprender funciones extrañas dentro de una aplicación móvil para descubrir funciones ocultas en los sistemas backend. El atacante normalmente explotará funciones extrañas directamente desde sus propios sistemas sin la participación de los usuarios finales.