Informe sobre Cerberus, un troyano bancario para Android


Cerberus es un conocido troyano bancario para Android, del que ya os hablamos en un amplio informe sobre su funcionamiento en octubre de 2019, momento en el que comenzó a afectar a entidades españolas y latinoamericanas. 

En los últimos meses su popularidad ha ido creciendo con rapidez, hasta tal punto de que las diferencias entre la cantidad de detecciones de esta familia frente a la familia ‘Anubis Bankbot’, la más popular hasta la fecha, se ha visto reducida. De las novedades que incorpora, quizá la más interesante es su conversión en un troyano de acceso remoto (RAT).

Este malware bancario vuelve a ser noticia, no solo por su popularidad, sino por la nueva versión que se ha comenzado a detectar desde el 19 de febrero de 2020. En el apartado de robo de credenciales bancarias no se introducen novedades, manteniendo el modus operandi habitual en los troyanos bancarios de Android (uso de ‘overlays’ con phishing).

Sin embargo, estas versiones recientes del popular troyano bancario incorporan varias novedades interesantes que, poco a poco, lo equiparan en funcionalidades a su rival, ‘Anubis Bankbot’. Entre las novedades, encontramos en Cerberus además de la incorporación de funcionalidad para control remoto del dispositivo (RAT), también el robo del patrón de desbloqueo del dispositivo y varias novedades en el protocolo de conexión con el servidor de control. Así, este malware avanzado se ha actualizado y nos obliga a seguir sus pasos con mejoras en la detección y análisis forense.

 

Funcionalidades de Remote Access Trojan (RAT)

En las nuevas muestras detectadas se incluye funcionalidad RAT que permite el control total remoto del dispositivo infectado. Ahora hablamos con Cerberus de un troyano de acceso remoto. Para ello, se introducen dos novedades: comandos para acceder a los ficheros del dispositivo y comandos para iniciar la aplicación oficial de TeamViewer para tomar control total del dispositivo, incluida la interfaz de usuario.

cerberus-v2-01
Código encargado de recibir el comando del servidor de control a ejecutar por el módulo RAT

 

En el código anterior, podemos ver como el troyano comprueba si debe iniciar la sesión de TeamViewer. El comando ‘connect_teamviewer’ incluye entre sus parámetros la contraseña que debe configurarse en el cliente de TeamViewer.

Cuando se recibe este comando el malware bancario inicia la app legítima  y utiliza el servicio de accesibilidad para detectar su apertura y modificar la contraseña de conexión por la contraseña proporcionada por el servidor de control.

cerberus-v2-02
Código que comprueba si el campo de texto de contraseña está en la vista actual de TeamViewer

 

cerberus-v2-03
Función que modifica el campo de contraseña con el proporcionado por el servidor

 

Como podemos ver, una vez detectada la apertura de la app de TeamViewer, se utilizan los permisos de accesibilidad para modificar el contenido del campo de texto de la contraseña, permitiendo así la sesión de control remoto.

Por otro lado, las nuevas funcionalidades de RAT también permiten listar ficheros de una carpeta del sistema y subir el contenido de los ficheros deseados al servidor de control.

cerberus-v2-04
Recepción de comandos RAT para gestión de ficheros

 

Robo de patrón de desbloqueo y códigos de Google Authenticator

Aunque no hay novedades en el robo de credenciales bancarias, lo que sí se ha introducido en Cerberus es una inyección específica para robar el patrón de desbloqueo que haya configurado el usuario en su dispositivo. En la siguiente imagen podemos ver el código de este malware avanzado en el que, además de iniciar las inyecciones para robar las credenciales de Gmail y números de tarjetas de crédito, ahora incluye la inyección para realizar el robo del patrón de desbloqueo.

cerberus-v2-05
Código encargado de mostrar las inyecciones para robo de credenciales y patrones

cerberus-v2-06Inyección que simula la pantalla de desbloqueo para robar el patrón 

 

Además del robo del patrón de desbloqueo, esta nueva versión de Cerberus, ahora también RAT, implementa funcionalidad para robar los códigos de segundo factor de autenticación generados a través de la aplicación de Google Authenticator. Para ello, simplemente hace uso del servicio de accesibilidad, y a través de él lee el contenido de la interfaz y enviar los códigos al servidor de control.

 

Cambios en el envío de datos al servidor

Como podemos apreciar en la siguiente imagen, también se han cambiado las variables que se envían al servidor de control y sus valores cada vez que se desea enviar algún dato.

cerberus-v2-07
Variables enviadas en la petición al servidor

 

El parámetro ‘q’ indica al servidor la acción que se desea realizar, mientras que el resto de parámetros parecen no ser realmente útiles, excepto el parámetro ‘ws’,  cuyo valor se corresponde con el JSON cifrado con RC4 que contiene la información a enviar (datos robados, información del dispositivo, etc.). 

Las peticiones principales son y se realizan en este orden:

  • new_device: registra un nuevo dispositivo infectado, enviando información sobre el dispositivo (identificador, modelo, operador, versión del sistema, etc.)
  • info_device: envía información sobre el dispositivo al servidor, como: identificador del dispositivo, porcentaje de batería, lista de cuentas de Google configuradas, número de teléfono, permisos habilitados, etc.
  • get_new_patch: esta petición se realiza para recibir como respuesta un fichero APK que contiene el módulo completo de robo de credenciales bancarias. Este APK se utiliza para cargar el fichero ‘classes.dex’ de forma dinámica.

 

cerberus-v2-08
Carga del módulo descargado y ejecución de la función ‘main’

 

Tras cargar y ejecutar el código principal del módulo descargado, éste se encarga de hacer la petición ‘is_attacker’ con la lista de aplicaciones instaladas, que recibe como respuesta el subconjunto de aplicaciones afectadas por el malware de entre las instaladas. Finalmente, se realiza la petición ‘d_attacker’ para descargar el fichero HTML cifrado con la web de phishing utilizada en los ‘overlays’ para robar los credenciales bancarios.

 

Conclusiones

En los últimos días los desarrolladores del malware bancario Cerberus han puesto a disposición de sus compradores una reciente versión del troyano. Esta incluye nuevas funcionalidades principalmente pensadas para dotar a los atacantes de las herramientas necesarias para controlar de forma remota el dispositivo a través de la aplicación TeamViewer. Convertido ahora en un troyano de acceso remoto (RAT), Cerberus se muestra renovado y potenciado, y obliga a potenciar medidas de detección RAT.

Este movimiento es un claro intento de desbancar a su principal rival, Anubis Bankbot, que ya contaba con módulos para el control remoto del dispositivo infectado. Los desarrolladores de ‘erberus tratan así de mejorar su creación para ponerse a la par en funcionalidades y en soporte de aplicaciones afectadas, que desde octubre de 2019 ya incluye entidades bancarias españolas y latinoamericanas.

Tras esta actualización debemos seguir alerta, ya que podemos esperar nuevas muestras  y nuevas versiones que vayan introduciendo aún más  novedades en cuanto a funcionalidad y en cuanto a entidades bancarias afectadas por este malware avanzado.

Publicado por David García

In his more than 9-year professional career, he has been involved in multiple projects, the most important being in the fields of managed security, anti-fraud and ethical hacking services, and malware analysis. He has contributed his know-how and security-related improvements to a wide variety of fraud and vulnerability analysis products. He currently oversees the smooth running of our different products and researches current fraud developments in order to showcase buguroo overseas as well as providing the development department with feedback on the latest malware and cybercriminal trends.


¿Te ha gustado? Comparte en tus comunidades sociales.

 
Te recomendamos que leas...

¿Qué piensas sobre este tema?

Deja tus comentarios

 

¿Necesitas reducir el fraude online de tu banco?

Descubre nuestra visión holística aplicada a la detección del fraude online

Solicita una demo