Image
Android: Hobbit

Android: Hobbit

¡Buenas! Hoy traemos al blog el análisis de Hobbit. Se trata de un malware bancario para plataformas Android que afecta principalmente a entidades españolas.

Este malware tiene como finalidad engañar al usuario suplantando una entidad bancaria como en un Phishing. A través de una configuración de la aplicación, es capaz de simular la banca online de esta entidad bancaria para poder obtener credenciales y datos de la víctima cuando intente entrar en ella. A su vez, este malware dispone de la funcionalidad de SMS stealing, que consiste en capturar cada uno de los SMS recibidos en el dispositivo para posteriormente enviarlos a los atacantes. Esta práctica es común a otras familias de malware bancario para poder saltar la verificación en dos pasos que disponen la mayoría de entidades bancarias.

Esta información recopilada por la aplicación maliciosa se envía a través de un bot de Telegram a un canal para almacenarla.

Al analizar algunas muestras de este malware se ha podido ver que está aún en desarrollo ya que hay algunas funcionalidades que están implementadas pero no se usan en estos momentos.

Las principales infecciones por este malware

La afectación de este malware puede venir de distintas formas pero las formas más comunes de infección son:

  • Descarga de aplicaciones en marketplaces de terceros. Esto suele ocurrir ya que cualquier persona podría subir una aplicación a este marketplace sin ningún tipo de restricción, ni comprobación de la misma antes de ponerse pública.
  • A través de un SMS con una URL de descarga. Es una práctica muy común para hacer que los usuarios descarguen este tipo de software en sus dispositivos móviles. Esta técnica es conocida como Smishing
  • Páginas web fraudulentas. Esta consiste en crear una web fraudulenta y alentar a descargar este tipo de software malicioso para infectar a la víctima.

Análisis técnico

Entrando más en profundidad en el análisis técnico, se observa que este malware está escrito en kotlin por el uso de corrutinas en Android. El funcionamiento de estas corrutinas consiste en poder tener concurrencia en la ejecución de distintas partes de código.

Este malware contiene un fichero de configuración donde se obtiene tanto el identificador del canal de Telegram, como el token del bot que se usa. Además en este fichero también se encuentra la dirección del servidor de Comando y Control (C&C).

Una vez se ha identificado la clase principal del malware se observa que tiene tres funciones principalmente que se irán analizando una a una.

Comenzando con la función sendFile, se observa que es una función para enviar ficheros desde el dispositivo al canal de Telegram mencionado anteriormente a través del bot. Se observa también que esta función no está en uso en las muestras analizadas pero sí que está implementada por lo que se podría utilizar en un futuro.

La manera en la que se ejecuta esta funcionalidad es a través de las corrutinas de kotlin en Android. Desde la función se llama a la clase appRequest$sendFile$1 que tiene la llamada a la API de Telegram con la configuración del bot correspondiente para enviar el documento.

Continuando con la función sendText se puede ver que es una función para enviar al canal de Telegram, mediante el bot, la información obtenida por la aplicación maliciosa. Al contrario que la función anterior, sí que se está utilizando en estas muestras.

Analizando cada uno de los usos que se le dan a esta función se observan varios.

  • Envío de la información recogida a través de keylogging (capacidad de registrar las pulsaciones realizadas en el teclado, en este caso de la pantalla). En este uso se envía el nombre del dispositivo, la aplicación donde se está escribiendo y la información que se escribe.

  • Envío de las notificaciones recibidas en el dispositivo. La información que se envía en este caso es el nombre del dispositivo, la aplicación que notifica, el título de la notificación, el subtítulo de la notificación y el texto que pueda incorporar.

  • Envío de los SMS recibidos. En este caso, la información que se envía son los datos almacenados por la aplicación maliciosa como son el usuario, contraseña, el número de teléfono y el nombre del dispositivo. Además se añade la información del SMS como son el origen del SMS y el texto que incorpora.

  • Envío de una notificación al infectar un dispositivo. La información se envía en el momento en que se pulsa el botón de Log in en la aplicación que simula la aplicación de la entidad bancaria.

Se ha podido comprobar la información que se enviaría a través de bot de Telegram al canal.



 Entre los datos que se envían al canal de Telegram, destaca el usuario y contraseña del usuario para el acceso a la entidad bancaria.

  • Envío de la notificación “APK Fuera de Fecha”. Esta notificación informa que se está ejecutando una aplicación fuera de una fecha que se establece en una función que la denominan isValidApp, como se puede observar en la siguiente captura.




    La función getValidAPK solo se usa en la función sendFile analizada previamente y que ya se explicó que no estaba en uso en las muestras analizadas.

Finalmente, se encuentra la función sendPOSTtoWebService que se encargaría de hacer una petición web POST a la C&C con el número de teléfono del dispositivo infectado.

Dentro de la aplicación maliciosa se han encontrado una serie de URL de las distintas bancas online a las que afecta y que, principalmente, son entidades españolas.

¡Esto es todo! Espero que os haya sido de ayuda y que de esta manera hayáis conocido algo más sobre este malware bancario que aún parece estar en desarrollo. ¡Nos vemos pronto!

Muestras analizadas:

  • 403775a84bf6fb2520c1748cf1795a9c48ac4525a1122aeef066365727952d7b
  • e6cd6c217a1f1e36d6430438609104f8161032ccddf02ef237d3a691ab93c32f