Gravity RAT vuelve a Android


GravityRAT, tal y como su propio nombre indica, se trata de un software malicioso que permite a sus operadores obtener control remoto del dispositivo infectado. Esto es lo que se conoce como una herramienta de acceso remoto (Remote Access Tool). Este tipo de malware ha sido bastante popular en sistemas de escritorio, aunque no tanto en dispositivos móviles.

Introducción

En ordenadores incluso se está utilizando este tipo de malware como malware bancario, incorporando además del control remoto del equipo, funcionalidad que permite a los atacantes obtener las credenciales del usuario. Un ejemplo muy popular a día de hoy, y que está afectando a entidades españolas y latinoamericanas, es Grandoreiro.

Recientemente se ha detectado una aplicación para Android que afirma ser una app para leer cómics, pero que en realidad se trata de una nueva versión del troyano de acceso remoto GravityRAT.

Este troyano no es exclusivo en dispositivos móviles, sino que existen versiones para Windows y MacOS, que permiten a sus atacantes ejecutar código remotamente, obtener el contenido de ficheros de ordenador infectado, grabar audio o realizar capturas de pantalla. La relación entre las versiones para distintos sistemas operativos y dispositivos se encontró gracias al uso de los mismo servidores de control para las diferentes versiones.

 

Funcionalidad en la versión para Android

Las versiones de escritorio permiten, como se ha adelantado anteriormente, ejecutar comandos de consola (lo que permite la ejecución remota de código si el atacante lo desea), explorar el sistema de ficheros de la víctima y acceder a su contenido, registrar las pulsaciones de teclas, tomar capturas de pantalla y grabar audio. 

En la nueva muestra detectada para Android la funcionalidad es similar, aunque sin incluir la ejecución de código remoto, lo que limita las capacidades de control del dispositivo. Tan pronto como se inicia la aplicación maliciosa, ésta solicita permisos para acceder al sistema de ficheros del dispositivo, a la agenda de contactos, acceso a los SMS enviados y recibidos, y acceso al listado de llamadas. Con estos permisos el troyano puede desplegar toda su funcionalidad, pudiendo así hacerse con la mayor cantidad posible de información del usuario.

gravity-rat-returns-android-01

Solicitud de permisos al iniciar la app

En caso de que el usuario no acepte alguno de los permisos que solicita la app, ésta finalizará inmediatamente indicando al usuario que debe aceptar todos los permisos para poder utilizarla. De esta forma, trata de conseguir que el usuario le proporcione los suficientes permisos para poder ejecutar completamente la funcionalidad maliciosa.

gravity-rat-returns-android-02

Código para solicitar los permisos y continuar la ejecución

A continuación, la aplicación solicita al usuario que inicie sesión para continuar. A partir de ese momento comenzará la comunicación con el servidor de control para enviar los datos almacenados en el dispositivo infectado.

 gravity-rat-returns-android-03

Ventana de inicio de sesión

Tras hacer el login, la aplicación comprueba si el servicio principal que implementa la funcionalidad maliciosa se encuentra en ejecución, y en caso negativo, este es iniciado.

 gravity-rat-returns-android-04

Inicio del servicio malicioso tras el inicio de sesión

A partir de ese momento, comienza la comunicación con el servidor de control, que tal y como se puede apreciar en la siguiente imagen, implica el envío de la agenda completa, el registro de llamadas, y los mensajes de texto enviados y recibidos, además de la información básica del dispositivo.

 gravity-rat-returns-android-05

Comunicación con el C2 al inicio del servicio

gravity-rat-returns-android-06

Parte de la información básica enviada al C2

Para tratar de aumentar el tiempo de vida del troyano, sus autores incluyen dos dominios diferentes para acceder al servidor de control, y realizan una petición inicial para obtener la dirección final a utilizar para realizar la conexión al C&C.

 gravity-rat-returns-android-07

Código que realiza la obtención del C&C final conectando a alguno de los dos incluidos en la app

Por último, se programa también la ejecución de la función walkdir, que se utiliza para acceder a todos los subdirectorios y recopilar todos los ficheros almacenados que tienen alguna de las extensiones en las que está interesado el malware.

 gravity-rat-returns-android-08

Código que programa la ejecución de la subida de ficheros cada 60 minutos

Como se puede apreciar en las siguiente imágenes, los atacantes parecen estar interesados principalmente en ficheros PDF, documentos de Microsoft Word e imágenes, que probablemente son los tipos de ficheros en los que hay una mayor probabilidad de encontrar información interesante.

 gravity-rat-returns-android-09

Código que recorre cada subdirectorio en busca de ficheros con extensiones concretas

Conforme se recorren los subdirectorios, se van almacenando los ficheros interesantes en un vector, que finalmente se almacena en un fichero. Este fichero se leerá después para enviar el contenido de cada uno de los ficheros al servidor de control.

 

Conclusiones

GravityRAT es un software malicioso que permite a sus operadores controlar el dispositivo remotamente, espiar al usuario y obtener información almacenada en el dispositivo infectado. Este malware destaca por su compatibilidad con diferentes sistemas operativos y dispositivos, ya que es posible encontrar versiones para Windows, MacOS y Android. 

Aunque en las versiones de escritorio se permite a los operadores el envío de comandos a ejecutar, lo que les da control del dispositivo a través de ejecución remota de código, en las versiones para Android se ha encontrado este tipo de funcionalidad, lo que limita las posibilidades de estas versiones al robo de información sensible del usuario, tal y como hemos visto durante nuestro análisis de una de las muestras más recientes. 

Aunque la funcionalidad implementada en la versión para dispositivos móviles no permite el robo directo de credenciales bancarias, no quiere decir que este troyano no pueda utilizarse para ello. De hecho, los atacantes podrían combinar el troyano de escritorio con el de Android para robar las credenciales bancarias cuando el usuario accede a su cuenta en su ordenador, y utilizar la versión móvil para obtener los mensajes de texto que contiene las contraseñas de un solo uso requeridas para iniciar sesión o autorizar transacciones.

 

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.

Como solucionamos el RAT

Detección de Troyanos Bancarios de Acceso Remoto

La detección RAT de buguroo ofrece una solución directa para detectar y frenar este tipo de fraude de forma transparente, en tiempo real y eliminando falsos positivos.

¿CÓMO LO RESUELVE BUGUROO?

Solicita una demo

¿Quieres ver cómo te protege nuestra solución?

Comprueba como puede ayudarte nuestra solución a resolver los problemas de fraude online de tu empresa, solicita gratuitamente una DEMO ahora y te explicamos en detalle.

Solicita una DEMO

¿Te ha gustado? Comparte en tus comunidades sociales.