Tienda Wifi

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

Buscador

Entradas Mensuales

Suscripción

¿Quieres recibir las últimas novedades del blog en tu correo?

¡Suscríbete al feed!

Foro de elhacker.net - Noticias

elhacker.NET en Facebook

Entradas populares

PostHeaderIcon Herramientas de análisis de malware automatizado en Android




Mobile Security Framework (MobSF) es una aplicación todo-en-uno de código abierto para móviles (Android / iOS) capaz de realizar el análisis estático y dinámico automatizado.CuckooDroid es una extensión de Cuckoo Sandbox framework de análisis de software de código abierto para la automatización de análisis de archivos sospechosos de malware. Por su parte AppMon es un framework automatizado basado en Frida para el seguimiento y la manipulación de llamadas a la API del sistema de aplicaciones nativas en MacOS, iOS y Android.






Análisis estático de código, se trata de la auditoría de aplicaciones en Android. Una aplicación en Android está programada en JAVA por lo que se podría pensar (equivocadamente) que en esencia el análisis de código es un análisis tradicional de JAVA. Esto no es así ya que han de tenerse en cuenta tanto la arquitectura de Android (Intents, Broadcast, Estados, etc) como la API SDK de interacción con los dispositivos (funciones de GPS, SMS, 3G, Escritura en SD, etc). Es decir, cambian dos aspectos fundamentales respecto al análisis tradicional de JAVA: los sinks y el dataflow.

Muy pocas aplicaciones en el Market oficial son OpenSource, por lo que el código no está disponible. Sin embargo si que podemos acceder a los ficheros apk, ya que son copiados a los dispositivos en la ruta “/data/apk“.
 

APKtool, es una herramienta para la ingeniería inversa de binarios de aplicaciones Android. Puede decodificar los recursos de forma casi original y reconstruirlos, después de hacer algunas modificaciones, que hace posible depurar código smali paso a paso. También hace más fácil trabajar con la aplicación debido a la estructura de archivos en proyectos y con la automatización de algunas tareas repetitivas como la construcción de apk.
 
Tenemos por tanto acceso a la aplicación apk, ¿de qué nos sirve? la extensión apk es una variante de jar, por lo que podemos extraerla con la genial herramienta apktool. Para ello seguiremos los siguientes pasos:

  • 1. Obtención del fichero AndroidManifest.xml
    Para obtener este fichero a través del apk utilizamos la herramienta apktool con la opción b.
    Este fichero contiene información esencial acerca de la aplicación. Para nuestra tarea la parte que nos interesa es la referente a los permisos que requiere, contenidos en el apartado uses-permission. Para una completa comprensión recomiendo leer la amplia documentación oficial al respecto.
  • 2. Adquirir el fichero jar
    Para ello nos servimos de la herramienta dex2jar. El funcionamiento de esta herramienta es el siguiente: traduce el fichero .dex (ejecutable de dalvik byetcode) a un fichero jar corriente.
  • 3. Extraer el fichero jar
    Es tan sencillo como utilizar un descompresor normal y corriente.
  • 4. Acceso al código fuente
Al seguir el paso tres tendremos un directorio con ficheros .class de JAVA, los cúales pueden traducirse en sus .java correspondientes a través de herramientas como JAD, o incluso visualizarse directamente mediante herramientas como JD-GUI.

Hay que destacar que al hacer la decompilación se pierde mucha información, como nombre de variables, lo que dificulta el análisis manual del código. Normalmente se suele empezar por identificar ciertas funciones susceptibles de mal uso (funciones sink) y seguir el dataflow manualmente a través de entornos de desarrollo (Eclipse, NetBeans, etc).

Fuente:
https://buguroo.com/es/como-ejecutar-analisis-estatico-de-aplicaciones-apk-en-android


Mobile-Security-Framework (MobSF)


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.


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.
 
Mobile Security Framework realiza dos tipos de análisis:

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

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.



Más información y descarga de  Mobile Security Framework:
https://github.com/ajinabraham/Mobile-Security-Framework-MobSF

AndroL4b es una máquina virtual orientada a los aspectos de seguridad en Android basado en ubuntu-mate, que incluye la colección de los últimos framework, tutoriales y laboratorios, de seguridad, para la ingeniería inversa y análisis de malware en aplicaciones Android.

Herramientas de AndroL4b

  • APKStudio Cross-platform Qt5 based IDE for reverse-engineering android applications
  • ByteCodeViewer Android APK Reverse Engineering Suite (Decompiler, Editor, Debugger)
  • Mobile Security Framework (MobSF) (Android/iOS) Automated Pentesting Framework (Just Static Analysis in this VM)
  • Drozer Security Assessment Framework for Android Applications
  • APKtool Reverse Engineering Android Apks
  • AndroidStudio IDE For Android Application Development
  • ClassyShark Android executable browser
  • BurpSuite Assessing Application Security
  • Wireshark Network Protocol Analyzer
  • MARA Mobile Application Reverse engineering and Analysis Framework
  • FindBugs-IDEA Static byte code analysis to look for bugs in Java code
  • AndroBugs Framework Android vulnerability scanner that helps developers or hackers find potential security vulnerabilities in Android applications
 

Análisis de APK con AppMon



Esta aplicación hace uso de potente entorno de instrumentación dinámica multiplataforma del cual ya hemos hablado en pasadas ocasiones: Frida. Con base en esta plataforma, AppMon incluye una serie de scripts que permitirán a los analistas espiar los eventos que la aplicación estudiada va generando en el sistema, cuyos resultados podrán luego ser visualizados a través de una interfaz web con filtros de búsqueda y ordenamiento.

Además, AppMon incluye scripts que permiten realizar una intrusión dentro de la aplicación modificando su normal curso de acción, como se muestra en el siguiente video. Claro que cada analista podrá también incluir sus propios scripts en la herramienta.


Además, permite instrumentar aplicaciones tanto en Android como iOS y, heredando la flexibilidad de Frida, puede ejecutarse en diferentes plataformas (Linux, Mac OS, y Windows con algunos cambios al código).

El Android Manifest de la aplicación nos indica que el nombre del paquete es com.baseapp. Necesitaremos este dato para poder indicar a AppMon qué proceso interceptar.

Los prerrequisitos para correr AppMon son obviamente instalar Frida y además algunos módulos de python, lo que puede hacerse con el siguiente comando:

sudo -H pip install argparse frida flask termcolor

Luego podemos copiar el proyecto desde el repositorio en Github o descargar el correspondiente archivo comprimido. Si se está trabajando en un equipo Windows, además se deberá modificar la ruta absoluta definida en la variable merge_script_path del archivo appmon.py para apuntar a la carpeta temporal en el sistema de archivos de Windows o bien otra carpeta que el usuario desee. Por ejemplo, podría quedar de la siguiente manera:

merge_script_path = ‘C:/Users//AppData/Local/Temp/merged.js’

Deberemos crear nuestro emulador con una versión de Android 4.4.x ya que Frida solo ha sido demostrado estable para estas versiones, para luego transferir los archivos de Frida e iniciar el servidor, como lo hemos hecho con anterioridad en el tutorial para instrumentar apps.

 Ahora debemos instalar la aplicación que deseamos analizar. Lo mejor es hacerlo vía adb ya que algunos emuladores inicializan la aplicación cuando se instala vía drag and drop y si no estamos listos para correr el comando de AppMon puede que nos perdamos de registrar funcionalidad crítica.

AppMon crea un servidor sencillo con python que por defecto se inicializa en el puerto 5000, donde podremos luego acceder a la interfaz web de filtrado, pero solo después de que vemos la indicación por consola que algo ha sido dumpeado.

Se abrirá un registro de eventos en el cual podremos ver algunas operaciones que tuvieron lugar en el sistema en el corto tiempo de ejecución.

Después de utilizar por un rato la aplicación podemos ver los resultados en el navegador, entre los que encontramos el detalle completo de los paquetes de red que han sido enviados con el protocolo HTTP.

Fuente:

CuckooDroid


CuckooDroid es una extensión de Cuckoo Sandbox marco de análisis de software de código abierto para la automatización de análisis de archivos sospechosos de malware. Es un sistema automatizado, multiplataforma, para la emulación y análisis basado en la popular zona de pruebas Cuckoo y varios otros proyectos de código abierto. Proporcionando la inspección APK tanto estática como dinámica, así como evadir ciertas técnicas como: detección de entorno virtual, extracción de clave de cifrado, inspección SSL, huella de llamada de API, firmas básicas de comportamiento y muchas otras características. El marco es altamente personalizable y extensible aprovechando el poder de la gran comunidad de Cuckoo existente.

Cuckoo Sandbox es un sistema de análisis de malware de código abierto. Esta aplicación permite analizar cualquier archivo sospechoso y en cuestión de segundos, Cuckoo proporcionará resultados detallados que describen lo que resultaría cuando se ejecuta dentro de un entorno aislado.

El malware es la principal herramienta de los cibercriminales y de los principales ciberataques en organizaciones empresariales. En estos tiempos la detección y eliminación de malware no es suficiente: es de vital importancia entender: cómo funcionan, lo que harían en los sistemas cuando se despliega, comprender el contexto, las motivaciones y los objetivos del ataque. De esta manera entender los hechos y responder con mayor eficacia para protegerse en el futuro. Hay infinidad de contextos en los que se puede necesitar implementar un entorno limitado, desde el análisis de una violación interna, recolectar datos procesables y analizar posibles amenazas.

Cuckoo genera un puñado de diferentes datos brutos, que incluyen:


  • Las funciones nativas y API de Windows llamadas huellas.
  • Las copias de los archivos creados y eliminados del sistema de ficheros.
  • Volcado de la memoria del proceso seleccionado.
  • Volcado completo de memoria de la máquina de análisis.
  • Capturas de pantalla del escritorio durante la ejecución del análisis de malware.
  • Volcado de red generado por la máquina que se utiliza para el análisis.

A fin de que tales resultados sean mejor interpretados por los usuarios finales, Cuckoo es capaz de procesar y generar diferentes tipos de informes, que podrían incluir:

  • Informe JSON.
  • Informe HTML.
  • Informe MAEC.
  • Interfaz de MongoDB.
  • Interfaz HPFeeds.

Lo más interesante, es que gracias a la amplia estructura modular del Cuckoo, es posible personalizar tanto el procesamiento y la fase de presentación de informes. Cuckoo proporciona todos los requisitos para integrar fácilmente un entorno aislado con los sistemas existentes, con los datos que se deseen, de la manera que desee y con el formato que desee.

Más información y descarga de CuckooDroid:
https://github.com/idanr1986/cuckoo-droid

Más información y descarga de Cuckoo Sandbox:
http://www.cuckoosandbox.org/

Documentación de Cuckoo Sandbox:
http://docs.cuckoosandbox.org/en/latest/

Fuente:
http://www.gurudelainformatica.es/2016/09/herramienta-de-analisis-de-malware.html

0 comentarios :

Publicar un comentario en la entrada

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.