El malware para Android no detiene su actividad. Constantemente vemos distintas campañas que buscan distribuir malware para robar credenciales, robar información, espiar o desplegar anuncios maliciosos. En 2022 hemos visto todo tipo de aplicaciones maliciosas, desde apps de falsas billeteras de criptomonedas, como fue el caso de Coinbase, pasando por troyanos bancarios,  o incluso apps de VPN utilizadas en campañas de espionaje.

Si bien el análisis de aplicaciones en Android suele ser una tarea compleja, en esta oportunidad compartimos nuevas herramientas que pueden resultar de gran ayuda a la hora de realizar tareas de análisis de malware.

JADX

Es una herramienta de línea de comandos que cuenta con una interfaz gráfica. Permite descompilar las aplicaciones APK y obtener los recursos, como el archivo AndroidManifest.xml. También cuenta con un desofuscador para facilitar la tarea al analista de malware.

Jadx en acción

Jadx en acción

Quark-Engine

Quark-Engine es una un sistema de puntuación de malware para Android que permite al analista tener un panorama general de la aplicación. Lo curioso de esta herramienta es que los desarrolladores se basaron en el derecho Penal de Taiwán para programar la lógica de la puntuación y determinar qué tan maliciosa puede ser la aplicación a evaluar. Por ejemplo, Taiwán divide este análisis en cinco etapas, por eso Quark-Engine divide en cinco etapas la actividad maliciosa que puede llegar a realizar una aplicación:

Cinco etapas de actividad maliciosa que evalua Quark-Engine

Cinco etapas de actividad maliciosa que evalua Quark-Engine

De esta manera Quark-Engine nos brinda un primer acercamiento para saber qué tan maliciosa es la aplicación que estamos analizando.

APKLab

Es una herramienta diseñada para Virtual Studio Code que integra otras herramientas, como Quark-Engine, APKtool, JADX, entre otras. Facilita mucho el análisis por su interfaz integrada, desde la cual se puede renombrar varias clases, funciones y variables. Además, con APKLab podemos “buildear” nuevamente la .apk de una manera sencilla con las modificaciones dentro del archivo para facilitar el análisis del malware en concreto.

Vale la pena recordar que si hay algo que a los cibercriminales les gusta hacer es ofuscar el código del malware, y esto no es la excepción en Android. Pero gracias a la amigable interfaz que ofrece APKLab el analista podrá realizar referencias cruzadas y renombrar clases y métodos de una manera rápida.

APKLab en acción

APKLab en acción

Con la extensión de Quark-Engine en APKLab se puede analizar la aplicación de manera mucho más rápida:

Extensión de Quark-Engine en APKLab

Extensión de Quark-Engine en APKLab

Dexcalibur

Realizar ingeniera inversa es un proceso complejo; sin embargo, existen herramientas como Dexcalibur que permiten la automatización de instrumentación dinámica aprovechando Frida. Dexcalibur analiza estáticamente, genera hooks y hasta incluso guarda los datos interceptados. El principal objetivo de Dexcalibur es ofrecerle al analista una herramienta de uso sencillo para la creación de hooks y búsqueda de patrones dentro del archivo malicioso.

Medusa

Al igual que Dexcalibur, Medusa es un framework escrito en Python de instrumentación binaria basado en Frida.

A través de Medusa se puede modularizar la automatización de diversos procesos y técnicas durante el análisis de la aplicación maliciosa seleccionada.

Runtime Mobile Security (RMS)

Runtime Mobile Security (RMS) es un framework que utiliza Frida para poder analizar aplicaciones tanto en Android como iOS. A través de RMS se puede visualizar rápidamente las clases que se van cargando junto con sus métodos.  De esta manera es fácil hacer un seguimiento para poder rastrear los argumentos que se van seleccionando al ejecutar la aplicación.

Cómo funciona Frida

Mas allá de las diversas herramientas que se van diseñando para facilitar el análisis de malware en Android, resulta clave entender de manera general cómo funciona Frida, ya que es la principal herramienta en la que se basan las demás herramientas. Para ello te recomendamos:

Lecturas recomendadas:
 
Cómo analizar apps de Android con Inspeckage
LazyDroid: simplificando el análisis de archivos APK
Introducción al uso de Pintools para el análisis de malware
Análisis de malware en Android con Pindroids
Herramientas y técnicas de análisis para pentesting en aplicaciones iOS
Herramientas gratuitas para análisis de malware