> MobSF: Instalación mediante Docker. Análisis Estático. (Parte I)

Normalmente, antes de instalar cualquier aplicación me gusta "curiosear" acerca de su funcionamiento: conocer a qué servidores va a lanzar peticiones y qué tipos de datos recopila sobre mi dispositivo. Para ello, utilizo una herramienta que es MobSF.

Normalmente, antes de instalar cualquier aplicación me gusta «curiosear» acerca de su funcionamiento: conocer a qué servidores va a lanzar peticiones y qué tipos de datos recopila sobre mi dispositivo. Para ello, utilizo una herramienta que es MobSF.

Este artículo constará de tres partes:

  • PARTE I: MobSF y el análisis estático.
  • PARTE II: Análisis dinámico.
  • PARTE III: Análisis y explotación de una APK vulnerable.

 ¿Qué es MobSF?

MobSF es una herramienta automatizada para auditar, encontrar y verificar vulnerabilidades en aplicaciones Android e iOS. Esta herramienta cuenta con múltiples opciones y configuraciones que irás descubriendo a medida que vayamos publicando las diferentes partes del artículo. 

 Instalación de MobSF

Puedes instalarlo de diferentes formas, aunque yo suelo recomendar generalmente el uso del un contenedor de Docker siempre y cuando se quiera realizar solo un análisis estático, para el análisis dinámico es mejor tenerlo instalado en el equipo.

Para ello se puede instalar el contenedor de la siguiente forma:

docker run -it -p 8000:8000 opensecurity/mobile-security-framework-mobsf

Una vez lo hayas ejecutado, si accedes al puerto 8000 de tu equipo deberías obtener una página muy similar a la siguiente:

Lo único que tienes que hacer para que MobSF analice tu aplicación es subir el fichero.

Aplicaciones Android

Todas las aplicaciones (hasta la versión de Android 12) se distribuyen en un fichero APK que cuenta con los siguientes directorios/archivos:

  • AndroidManifest.xml: define el nombre del paquete, permisos de la aplicación y otras características como: compatibilidad de dispositivos, si una aplicación es depurable, etc.
  • Classes.dex: código de las aplicaciones compilado. Android utiliza ART o Dalvik VM que están más optimizadas que la Java VM para dispositivos móviles por lo tanto se convierten a .dex.
  • Resources.arsc: un fichero con todos los recursos precompilados.
  • Res: contiene recursos como imágenes, diseño, ficheros con strings, etc.
  • Assets: contiene recursos «extra» como ficheros HTML, fuentes, videos, etc.
  • Lib: contiene librerías compiladas.
  • META-INF: contiene un manifesto con metadatos sobre la aplicación, CERT.RSA con el contenido firmado del CERT.SF junto a la cadena de certificados de clave pública que se ha utilizado para firmar ese contenido, y también el CERT.SF que contiene una lista de todos los ficheros junto a su correspondiente SHA-1 (codificado en base64).

Las aplicaciones de Android cuentan con 4 tipos de componentes:

  • Actividades: cada ventana que nos muestra la aplicación.
  • Servicios: tareas que se ejecutan en segundo plano.
  • Receptores de emisiones: recibe mensajes que le manda el sistema y según el tipo de mensaje puede realizar diferentes acciones.
  • Proveedores de contenido: para poder compartir datos de la aplicación con otras aplicaciones y/o componentes.

 Formas de analizar la aplicación

Hay dos formas de analizar una aplicación:

  • Análisis estático: intenta encontrar las vulnerabilidades analizando el código fuente y otros ficheros de la aplicación.
  • Análisis dinámico: podemos ir analizando la aplicación sobre la marcha mientras la estamos ejecutando.

 Análisis Estático

Para realizar en análisis estático de la aplicación emplea algunas de las siguientes herramientas:

  • APKiD: le aporta información sobre cómo se ha programado dicha aplicación, es decir, le permite identificar en muchos casos cosas como los compiladores y ofuscadores.
  • Jadx: sirve para decompilar la aplicación (y también cuenta con un deofuscador).
  • Quark Engine: es una herramienta para el análisis de malware en Android.

Una vez obtiene toda esa información, busca en el código fuente de cadenas de texto que pueda ser interesantes (contengan contraseñas, tokens de APIs, URLs a páginas web, emails) y también lanza un análisis de malware en los dominios que haya encontrado.

Una vez ha finalizado el análisis, se refleja toda esa información en un panel web en diferentes secciones:

  • Permisos: indica todos los permisos que tiene dicha aplicación y una breve descripción de qué se puede hacer con cada uno.
  • Análisis de seguridad: indica las diferentes vulnerabilidades que se hayan podido encontrar durante el escaneo en el fichero AndroidManifest.xml, en el código y en posibles ficheros que haya podido encontrar.
  • Reconocimiento: indica posibles URLs, bases de datos de Firebase, emails, trackers, cadenas de texto y claves.
  • Componentes: contiene un listado de actividades, servicios, receptores, proveedores, librerías y archivos de la aplicación.

En la parte II del artículo explicaremos como realizar un análisis dinámico de una aplicación con MobSF para entender su funcionamiento.

Os dejamos un video con lo explicado anteriormente, y si os queréis poner en contacto con Rafa podéis hacerlo a través de su buzón de MyPublicInbox

Recursos gratuitos en tu email

Otra vuelta al Sol

Otra vuelta al Sol, si ya sé que es un tópico muy repetido, pero cuando trabajas con tecnología, la vida parece que pasa mas rápido, un nuevo descubrimiento, otro avance, un nuevo protocolo o cómo alguien publica que se puede explotar una vulnerabilidad de una manera todavía más creativa.

Directivas de Seguridad en el Correo con M365

En Hack by Security sabemos que uno de los pilares de la ciberseguridad en entornos modernos es la Seguridad en el Correo, uno de los vectores de ataque más frecuentes de una organización, tanto en empresas pequeñas como grandes multinacionales están expuestas al mismo riesgo, un usuario que abra un enlace o archivo malicioso puede iniciar un incidente de seguridad con un alto impacto.

BCDO Bootcamp de Ciberseguridad Defensiva y Ofensiva

El próximo 09 de Octubre en Hack By Security, comienza una nueva edición del Bootcamp de Ciberseguridad Defensiva y Ofensiva, 104 horas de sesiones online en directo, con acceso después a las clases, por si quieres repasar o volver a ver alguna parte de la sesión.
Resumen de privacidad

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.