Tienda Wifi

Tienda Wifi
CiudadWireless es la tienda Wifi recomendada por elhacker.NET

Entradas Mensuales

Síguenos en:

Canal Oficial Telegram de elhacker.NET Grupo Facebook elhacker.NET Twitter elhacker.NET Canal Youtube elhacker.NET Comunidad Steam: Grupo elhacker.NET Mastodon

Entradas populares

PostHeaderIcon Mobile Security Framework (MobSF): Herramienta análisis aplicaciones para móviles para Android - iOS


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

Dependencias
sudo apt install python3-dev python3-venv python3-pip build-essential libffi-dev libssl-dev libxml2-dev libxslt1-dev libjpeg8-dev zlib1g-dev wkhtmltopdf
Además deberemos tener instalado en nuestro equipo:

  • 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

Instalar todas las dependencias del fichero requirements.txt (una vez clonado el repositorio, pero en teoría ya no hace falta, setup.sh se encarga de instalar dependencias)
pip3 install -r requirements.txt
Instalación (cuidado ocupa más de 1Gb de espacio en el disco) (clonar el repositorio)
git clone https://github.com/MobSF/Mobile-Security-Framework-MobSF.git
cd 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:

Menú opciones disponibles


Análisis Dinámico

Puedes usar  android VM en genymotion

Para el análisis dinámico, primero tendríamos que iniciar la VM de Android en genymotion. Puedes crear una máquina virtual de Android en la versión 7.1

Cuando presionas la opción del analizador dinámico presente en el panel de navegación superior, MobSF se adjuntará automáticamente a la VM en ejecución si MobSF y genymotion se están ejecutando en la misma máquina base.

Sin embargo, si MobSF está en otra máquina virtual, es posible que debas conectar el agente de MobSF a la IP y el puerto remotos de la VM de genymotion. 

Debajo de la barra de estado del analizador, podemos ver varios scripts de frida predeterminados disponibles que verificarían varias vulnerabilidades básicas, como el bypass de fijación de SSL y las comprobaciones de detección de raíz. 

También hay otros scripts auxiliares que permiten al analista enumerar varias clases y también capturar comparaciones de cadenas en tiempo real (de nuevo, útil para el punto de vista de los analistas de malware).

  • 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


VirusTotal Scan no está desactivado por defecto. Necesitas una API Key  (registrarte) en VirusTotal.


Accede con tu API Key desde

  • https://www.virustotal.com/gui/user/[username]/apikey

En mobsf/MobSF/settings.py, añade tu API Key a VT_API_KEY y establece VT_ENABLED a True para luego reiniciar MobSF.

# ----------VirusTotal--------------------------
    VT_ENABLED = True
    VT_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

git clone https://github.com/MobSF/Mobile-Security-Framework-MobSF.git cd Mobile-Security-Framework-MobSF docker build -t mobsf . docker run -it --rm -p 8000:8000 mobsf 
También se puede hacer el Análisis dinámico con una imagen para ello.
Creamos la red:
docker network create mobile 
Dispositivo virtual (cuidado, las imágenes ocupan 5-6GB)
docker run --network=mobile --privileged -d -p 6080:6080 -p 5554:5554 -p 5555:5555 -e DEVICE="Samsung Galaxy S6" --name android-container budtmo/docker-android-x86-7.1.1
Y los unimos las dos imágenes en la misma red:
mobsf docker run --network=mobile -it --rm -d --name mobsf -p 8000:8000 -e ADB_BINARY=/usr/bin/adb -e ANALYZER_IDENTIFIER='android-container:5555' mobsf 



 

El usuario https://hub.docker.com/u/budtmo tiene imágenes creadas para varias versiones Android,6. 7, 8, 8, 9, 10, 11 y 12.
Podemos emular gran cantidad de teléfonos y tablets:

  • 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 Permisos

 

Análisis Strings

Para actualizar el repositorio:

cd Mobile-Security-Framework-MobSF/ git pull origin master . venv/bin/activate pip install --no-cache-dir -r requirements.txt python manage.py makemigrations python manage.py makemigrations StaticAnalyzer python manage.py migrate deactivate

Drozer


Framework para realizar pruebas de penetración en Android, permite interactuar con la aplicación en tiempo de ejecución, mediante del uso de IPC o Binder tal como lo hace cualquier aplicación que se instala en un dispositivo Android.

Además nos permite explotar vulnerabilidades remotamente en dispositivos Android, mediante el uso de archivos o páginas que explotan vulnerabilidades conocidas. El payload utilizado en estos exploits inicia la instalación del drozer-agent que básicamente sería una herramienta de administración remota. 


Para instalar drozer nos vamos al siguiente link.


Descargamos el paquete compatible con nuestra versión de sistema operativo, en nuestro caso, Linux y por último descargamos el drozer-agent (APK file), este agente lo utilizamos para comunicarnos con nuestro Android Emulado.

A continuación realizamos la instalación de drozer en nuestro host. En nuestro caso estamos usando Ubuntu y empleamos el comando dpkg -i 


El siguiente paso es instalar el agente de drozer en nuestro Android emulado, para ello utilizamos el comando adb install seguido el nombre del paquete .apk, tal como se muestra en la siguiente imagen:


Para que drozer se comunique con el agente tenemos que realizar un port forwarding empleando el comando ADB, tal como  se muestra a continuación:


El siguiente paso es habilitar el LISTENING del agente, lo hacemos abriendo el agente de DROZER en el emulador y presionando el botón OFF, esto dejará el agente escuchando en el puerto 31415.


El último paso es conectar DROZER con el agente, lo hacemos mediante el comando drozer console connect esto nos habilita el prompt (dz).


Fuentes:
https://y000o.medium.com/introducci%C3%B3n-al-pentesting-con-adb-17a8cda3d3b3

https://www.inmune7.com/drozer-mobsf-setup-parte-2


0 comentarios :

Publicar un comentario

Los comentarios pueden ser revisados en cualquier momento por los moderadores.

Serán publicados aquellos que cumplan las siguientes condiciones:
- Comentario acorde al contenido del post.
- Prohibido mensajes de tipo SPAM.
- Evite incluir links innecesarios en su comentario.
- Contenidos ofensivos, amenazas e insultos no serán permitidos.

Debe saber que los comentarios de los lectores no reflejan necesariamente la opinión del STAFF.