marzo 29, 2024

Herramientas para el análisis de aplicaciones maliciosas en Android.

0
Voiced by Amazon Polly
Comparte en redes sociales

Existen herramientas para el análisis de aplicaciones maliciosas en Android, que permiten analizar los archivos APK sin necesidad de instalar la aplicación. La mayoría de estas herramientas utilizan técnicas sandbox (aislamiento de procesos) es un mecanismo para ejecutar programas con seguridad y de manera separada. A menudo se utiliza para ejecutar código nuevo, o software de dudosa confiabilidad proveniente de terceros. Ese aislamiento permite controlar de cerca los recursos proporcionados a los programas, tales como espacio temporal en discos y memoria. Habitualmente se restringen las capacidades de acceso a redes, la habilidad de inspeccionar la máquina anfitrión y dispositivos de entrada entre otros. En este post citare varias como: CuckooDroid, AndroL4b, AppUsey HelDroid, otras online como: AndroTotal, Anubis, CopperDroid, SandDroid y Tracedroid.

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/

      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.

      Contiene las siguientes herramientas y laboratorios:
       
      Herramientas.

       
      APKStudio,es un IDE multiplataforma para la ingeniería inversa y recompilación de binarios de aplicaciones Android, dentro de una sola interfaz de usuario. Cuenta con un diseño amigable, con un editor de código que soporta el resaltado de sintaxis para Android smali y archivos de código (* .smali).

      ByteCodeViewer,suite de Ingeniería inversa de aplicaciones Android, con cinco descompiladores Java diferentes, dos editores de código de bytes, un compilador de Java y plugins…

      Mobile Security Framework (MobSF), es una aplicación de código abierto para móviles (Android/iOS). Un  framework capaz de realizar el análisis estático y dinámico (Sólo esta permitido el análisis estático en esta maquina virtual). Puede ser utilizado para un análisis de seguridad de aplicaciones eficaz y rápido, es compatible con los binarios (APK y IPA) y el código fuente comprimido. MobSF también puede realizar 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. 

      Dorzer, marco de evaluación de seguridad de aplicaciones para Android. Permite realizar búsquedas de vulnerabilidades de seguridad en aplicaciones y dispositivos, asumiendo el papel de una aplicación, permitiendo interaccionar con: la máquina virtual Dalvik, los puntos finales del IPC de otras aplicaciones y el sistema operativo subyacente. 

      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.

      AndroidStudio,IDE para el desarrollo de aplicaciones Android. Es un entorno de desarrollo integrado (IDE) para el desarrollo de aplicaciones Android, basado en IntelliJ IDEA.  Android Studio ofrece características que mejoran la productividad en la construcción de aplicaciones Android.

      ClassyShark,es una herramienta para desarrolladores Android. Permite navegar de forma fiable a través de un archivo ejecutable Android y mostrar información importante como: las interfaces de clase y los miembros, el recuento de dex y dependencias. Soporta múltiples formatos incluyendo: bibliotecas (.dex, .aar, .so), ejecutables (.apk, .jar, .class) y todos los binarios XMLs Android: AndroidManifest, recursos, diseños, etc.

      BurpSuite,es una plataforma integrada para la realización de pruebas de seguridad de aplicaciones web. Sus diversas herramientas funcionan perfectamente para apoyar todo el proceso de: pruebas, cartografía y análisis de la superficie de ataque de una petición inicial, a través de la búsqueda y explotación de vulnerabilidades de seguridad.

      Wireshark,es el analizador de protocolos de red más importante del mundo. Permite ver lo que está ocurriendo en una red a nivel microscópico. Es el estándar de facto de la industria y las instituciones educativas.

      MARA, marco de análisis de seguridad y ingeniería inversa de aplicación para móviles. Es un conjunto de herramientas comúnmente utilizadas en ingeniería inversa y análisis de aplicaciones para móviles bajo los estándares de OWASP.

      FindBugs-IDEA,análisis estático de código de bytes en busca de fallos en el código Java

      AndroBugs Framework, escáner de vulnerabilidades de seguridad de Android que ayuda a los desarrolladores y pentesters a encontrar posibles vulnerabilidades de seguridad en aplicaciones de Android.

      Metasploit, es un proyecto de código abierto de seguridad informática que proporciona información acerca de vulnerabilidades de seguridad y ayuda en tests de penetración «Pentesting» y el desarrollo de firmas para sistemas de detección de intrusos.

      Laboratorios.

      DIVA Android, es una aplicación diseñada expresamente para ser insegura. El objetivo de la aplicación es enseñar a los desarrolladores profesionales, defectos que generalmente están presentes en las aplicaciones, generalmente debido a prácticas de codificación pobres o inseguras.

      InsecureBankv2, ese una aplicación Android hecha para entusiastas de la seguridad informática y desarrolladores para aprender las inseguridades de aplicaciones de Android. Su componente de servidor de fondo está escrito en Python. El componente de cliente es decir, el InsecureBank.apk para Android se puede descargar junto con la fuente.

      DroidBench,es un conjunto de pruebas de codigo abierto para evaluar la eficacia de las herramientas de análisis específicas para aplicaciones Android.  La suite se puede utilizar para evaluar los análisis tanto estáticos como dinámicos, pero en particular, contiene interesantes casos de prueba para problemas de análisis estático (sensibilidad de campo, la sensibilidad de objetos, ventajas y desventajas en longitudes de vía de acceso, etc.), así como modelar correctamente el ciclo de vida de una aplicación, manejo de devoluciones de llamadas asincrónicas e interaccionar con la interfaz de usuario.

      GoatDroid, es un entorno de formación totalmente funcional y autónomo para educar a los desarrolladores y probadores de seguridad de Android. GoatDroid requiere dependencias mínimas y es ideal tanto para principiantes como para los usuarios más avanzados.

      Sieve, un gestor de contraseñas de aplicaciones, que muestra algunas vulnerabilidades comunes de aplicaciones Android.

      Más información y descarga de AndroL4b:
      https://github.com/sh4hin/Androl4b

      AppUse.
      Fue creado como una máquina virtual específica los pentester que están interesados en una plataforma personalizada para las pruebas de seguridad de aplicaciones  Android, con opciones de captura de los problemas de seguridad y análisis del tráfico de aplicaciones.

      No hay necesidad de instalar emuladores, ni herramientas de prueba, sin necesidad de certificados SSL del software de proxy, todo viene pre-instalado. Prácticamente es como una BackTrack, ajustada específicamente para las pruebas de seguridad de aplicaciones Android. No solo permite realizar test de penetración de aplicaciones, también es posible analizarlas en busca de malware.

      Entre sus características destaca:

      • Totalmente compatible con varios dispositivos.
      • Asistentes para realizar técnicas hacking.
      • Proxy con soporte de protocolos binarios.
      • Posee sección con datos de aplicación.
      • Vista en árbol de carpeta y estructura de archivos de la aplicación.
      • Capacidad para eliminar, ver y editar archivos.
      • Capacidad para extraer las bases de datos.
      • Proxy dinámico.
      • Permite realizar ingeniería inversa de aplicaciones.
      • Indicador dinámico para el estado del dispositivo Android.
      • Analizadores avanzados de APK.
      • Compatible con Android 5.
      • Análisis de malware.

      Más información y descarga de AppUse:
      http://sourceforge.net/projects/appuse-android-pentest/?source=directory

      HelDroid.
      Es una herramienta para hacer frente al análisis de ransomware en aplicaciones Android. Lo que hace en pocas palabras es encontrar pistas en el bytecode de aplicaciones Android, que indican la presencia de código utilizado para implementar las características típicas de ransomware.
      Las pistas que busca HelDroid para detectar si es un ransomware son:

      • Uso de rutinas de cifrado sin intervención del usuario.
      • Bloquear la pantalla y hacer que el dispositivo quede inutilizable.
      • Mostrar mensajes amenazantes en la pantalla para pedir un rescate.
      • Abuso de la API de administración de dispositivos para el bloqueo o limpieza sin supervisión.

      Esta herramienta se centra en las rutinas que están vinculadas al abuso de la API de Android para la implementación de ransomware. El enfoque de HelDroid es casi 100% de análisis estático de archivos APK, es decir, no ejecuta la muestra a menos que sea necesario. Por un lado esto hace las cosas más sencillas, por otro lado, no trata el comportamiento de ransomware expresado dinámicamente.

      HelDroid analiza cada APK Android para decidir si se trata de una muestra de ransomware empleamos tres, detectores independientes, que pueden ejecutarse en paralelo:

      • Detector de texto amenazante.
      • Detector de cifrado.
      • Detector de bloqueo.

      Cada detector busca un indicador específico de comportamiento de ransomware. El detector de texto amenazante analiza texto para detectar tentativas de mensajes amenazantes. Si el resultado de esta clasificación es positivo, pero los otros no lo son, etiqueta la muestra como scareware. Esto significa que la aplicación se limita a mostrar algún texto amenazador para convencer a la víctima de hacer alguna acción. Si también es marcado por el detector de cifrado o el detector de bloqueo, esto significa que la aplicación está realizando activamente una acción en el dispositivo infectado, en este caso, se etiqueta la muestra como ransomware.

      Hay que tener en cuenta que si el detector de texto amenazante no se activa, la muestra es descartada y no puede ser considerado como ransomware o scareware. Aunque estos tres detectores podrían combinarse de otras maneras (por ejemplo, incluyendo la ponderación), en esta herramienta han considerado que la presencia de un texto amenazador es obligatorio para que el ransomware alcance su meta.

      Más información y descarga de HelDroid:
      https://github.com/necst/heldroid

      Las herramientas de análisis online son las siguientes:

      AndroTotal.

      Es un servicio gratuito para escanear archivos APK sospechosos contra múltiples aplicaciones antivirus móviles.

      http://andrototal.org/

      Anubis.

      Es una herramienta de análisis que se basa en ejecutar los binarios en un entorno emulado (sandbox). El análisis se centra en los aspectos relevantes para la seguridad de las acciones de la aplicación, lo que hace que el proceso de análisis sea más fácil y permite obtener resultados más precisos.

      http://anubis.iseclab.org/

      CopperDroid.

      Reconstruye automáticamente y con precisión eventos de interés que describen, no sólo interacciones, sino también las comunicaciones entre procesos, cuya semántica es típicamente contextualizado a través de objetos Android complejos. Debido a que los mecanismos de reconstrucción de CopperDroid son agnósticos a los métodos de acción de invocación, es capaz de capturar acciones tanto de Java como de ejecución de código nativo. El análisis de CopperDroid genera perfiles de comportamiento detallados, que son muy adecuados para proporcionar rasgos interesantes y abrir la posibilidad de nuevas líneas de investigación de malware.

      http://copperdroid.isg.rhul.ac.uk/copperdroid/

      SandDroid.

      Es un sistema de análisis de aplicaciones Android automático que combina técnicas de análisis estático y dinámico.

      http://sanddroid.xjtu.edu.cn/#home

      Tracedroid.

      Permite subir cualquier archivo Android APK para el análisis automatizado. Registra el comportamiento de la aplicación ejecutada, tales como: su comunicación de la red, la interfaz de usuario, sus llamadas a funciones internas y el código Java que se ejecuta. Para desencadenar el comportamiento real de la aplicación, Tracedroid emula algunas acciones como: la interacción del usuario, las llamadas entrantes y mensajes SMS … Esto revelará la mayoría de los intentos maliciosos de una aplicación.

      http://tracedroid.few.vu.nl/

      Deja un comentario