Mobile Security Framework (MobSF) es una aplicación todo-en-uno de código abierto escrita en Python para analizar aplicaciones móviles (Android / iOS) capaz de realizar el análisis estático y dinámico automatizado. MobSF es un entorno completo de análisis que permite hacer pruebas estáticas y dinámicas en ejecutables de Android (APK), iOS (IPA) y Windows Mobile (APPX). APK, IPA & APPX
Puede ser utilizado para el análisis de seguridad eficaz y rápida de Android y iOS Aplicaciones y es compatible con los binarios (APK y IPA) y el código fuente comprimido. MobSF también puede realizar la Web API Pruebas de seguridad con su Fuzzer API que puede hacer de recopilación de información, análisis de cabeceras de seguridad, identificar vulnerabilidades específicas de la API móvil como la XXE, FRSS, de traspaso de rutas, IDOR, y otras cuestiones lógicas relacionadas con la Sesión y la API de limitación de velocidad.
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
Mobile Security Framework, es una herramienta de código abierto para realizar test de penetración automatizado en aplicaciones Android y iOS, capaz de realizar análisis estático y dinámico. Esta herramienta pretende minimizar el tiempo, que con un conjunto de herramientas llevaría realizar: la decodificación, la depuración, revisión de código y el test de penetración. Mobile Security Framework se puede utilizar para el análisis de seguridad rápido y eficaz, siendo compatible con los binarios (APK y IPA) y el código fuente comprimido.
Características:
- Recopilación de información y análisis de encabezados de seguridad.
- Análisis dinámico y estático.
- API web fuzzing para vulnerabilidades de seguridad.
- Evaluación de seguridad automatizada gratuita y de código abierto para aplicaciones.
- Identifique las vulnerabilidades de la API móvil (XXE, SSRF, Path Traversal, IDOR)
Mobile Security Framework realiza dos tipos de análisis:
- 1) El analizador estático es capaz de realizar: la revisión de código automático, detección de permisos y configuraciones inseguras, detectar código inseguro SSL, derivación SSL, cifrado débil, códigos ofuscados, permisos incorrectos, secretos codificados, el uso indebido de APIs peligrosas, fugas de información sensible y el almacenamiento de archivos inseguros.
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.
- 2) El analizador dinámico ejecuta la aplicación en una máquina virtual o en un dispositivo configurado y detecta los problemas en tiempo de ejecución. Se realiza un análisis más detallado en los paquetes de red capturados descifrando: el tráfico HTTPS, los informes de registros, informes de error, la información de depuración y seguimiento de la pila. Sobre los activos de aplicaciones como: archivos de configuración, las preferencias y bases de datos. https://mobsf.github.io/docs/#/dynamic_analyzer
Mobile Security Framework es altamente escalable, permite agregar reglas personalizadas con facilidad. Permite generar al final del test de penetración informes de una forma rápida y concisa.
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.
Más información y descarga de Mobile Security Framework:
Documentación
sudo apt install python3-dev python3-venv python3-pip build-essential libffi-dev libssl-dev libxml2-dev libxslt1-dev libjpeg8-dev zlib1g-dev wkhtmltopdf
- Git
sudo apt-get install git
- Python 3.7/3.8/3.9
sudo apt-get install python3.9
- JDK 8+
sudo apt-get install openjdk-8-jdk
pip3 install -r requirements.txt
git clone https://github.com/MobSF/Mobile-Security-Framework-MobSF.gitcd Mobile-Security-Framework-MobSF./setup.sh
Arrancar el servicio en el puerto 8000
./run.sh 127.0.0.1:8000
Para acceder basta con escribir en el navegador escribir la URL
http://127.0.0.01:8000
Pantalla de bienvenida:
Para realizar el análisis bastará con subir el fichero y analizarlo. Bien, en nuestro caso hemos subido una apk o un *.IPA
Últimos escaneos:
Análisis Dinámico
- MobSF x86 Android VM requiere Oracle VirtualBox
- MobSF Android Virtual Device (AVD) (ARM Emulator), requiere Android Studio y un AVD configurado
- Requisitos de hardware: Mínimo 4 GB de RAM, HDD / SSD de 5 GB y soporte de virtualización para ejecutar MobSF VM e Intel HAXM si está ejecutando MobSF ARM Emulator.
Para el análisis dinámico solo hay que seguir las instrucciones:
Añadir Plugin VirusTotal Scan
- https://www.virustotal.com/gui/user/[username]/apikey
# ----------VirusTotal--------------------------VT_ENABLED = TrueVT_API_KEY = 'XXX'VT_UPLOAD = True
¿Qué es Android Debug Bridge (adb)?
Android Debug Bridge (ADB) es una herramienta de línea de comandos que viene incluida con el SDK de Android, permite a los desarrolladores comunicarse con un emulador o un dispositivo Android conectado directamente desde la línea de comandos.
El comando adb permite realizar una variedad de acciones en el dispositivo, como instalar y depurar apps, y proporciona acceso a un shell de Unix que puedes usar para ejecutar distintos comandos en un dispositivo. Es un programa cliente-servidor que incluye tres componentes:
- Un cliente, que envía comandos. El cliente se ejecuta en tu máquina de desarrollo. Puedes invocar un cliente desde un terminal de línea de comandos emitiendo un comando adb.
- Un daemon (adbd), que ejecuta comandos en un dispositivo. El daemon se ejecuta como un proceso en segundo plano en cada dispositivo.
- Un servidor, que administra la comunicación entre el cliente y el daemon. El servidor se ejecuta como un proceso en segundo plano, en tu máquina de desarrollo.
Instalar el servicio adb en diferentes sistemas
Adb puede ser instalado en muchos sistemas
Windows
Para instalar esta herramienta solo tenemos que irnos al siguiente link y descargar el instalador:
https://dl.google.com/android/installer_r24.4.1-windows.exe
Linux
En linux este paso es dependiendo del sistema. Para sistemas Debian/Ubuntu y Fedora puedes instalar con apt-get y yum/dnf respectivamente los paquetes android-tools-adb y android-tools-fastboot
Debian/Ubuntu
sudo apt-get install android-tools-adb android-tools-fastboot
Fedora
dnf install android-tools
MobSF en Docker
También podemos usar contenedor Docker
docker pull opensecurity/mobile-security-framework-mobsf
La imagen docker ocupa bastante 2,2GB:
docker images |grep mobsf
Iniciar el contenedor:
docker run -it -p 8000:8000 opensecurity/mobile-security-framework-mobsf:latest
Almacenamiento Persistente
Primero debemos crear el directorio y darle permisos correctos:
mkdir <your_local_dir>
chown 9901:9901 <your_local_dir>
Después:
docker run -it --rm --name mobsf -p 8000:8000 -v <your_local_dir>:/root/.MobSF opensecurity/mobile-security-framework-mobsf:latest
Crear el contenedor de forma local
- Samsung Galaxy S10
- Samsung Galaxy S9
- Samsung Galaxy S8
- Samsung Galaxy S7 Edge
- Samsung Galaxy S7
- Samsung Galaxy S6
- Nexus 4
- Nexus 5
- Nexus One
- Nexus S
- Nexus 7
Informes
La propia herramienta, nos posibilita un apartado en el cual podremos exportar estos datos a un informe en PDF. Os dejamos con unas imágenes para que podáis ver un ejemplo de los mismos. Para generar el PDF requiere instalación de wkhtmltopdf
Phishing (engaño) por SMS --> SMiShing
De la misma forma que el phishing es la suplantación de identidad, normalmente mediante el envío de emails que redirigen a una web o a la descarga de un archivo malicioso, el SMiShing utiliza mensajes SMS para incluir enlaces que descargan aplicaciones maliciosas en nuestro dispositivo o nos redirigen a webs fraudulentas preparadas por los delincuentes.
Ejemplo Análisis APP DHL.apk
Descargue nuestra aplicación para rastrear su paquete
Resultados - Informe Completo en PDF
Análisis Strings
Para actualizar el repositorio:
Drozer
Fuentes:
https://y000o.medium.com/introducci%C3%B3n-al-pentesting-con-adb-17a8cda3d3b3
No hay comentarios:
Publicar un comentario