El equipo de investigación de ESET identificó una campaña en curso dirigida a los usuarios de Android y que lleva adelante el grupo de APT Bahamut. Esta campaña ha estado activa desde enero de 2022 distribuyendo aplicaciones maliciosas a través de un sitio web falso de SecureVPN que solo ofrece para descargar apps de Android. Vale la pena tener en cuenta que aunque el malware empleado a lo largo de esta campaña utiliza el nombre SecureVPN, no tiene asociación alguna con el servicio y el software multiplataforma legítimo SecureVPN.

Hallazgos clave:

  • La aplicación utilizada son versiones troyanizadas de dos apps de VPN legítimas, SoftVPN u OpenVPN, que se volvieron a empaquetar con el código del spyware Bahamut, el cual fue utilizado en el pasado por el grupo Bahamut.
  • Pudimos identificar al menos ocho versiones de estas aplicaciones parcheadas maliciosamente con cambios de código y actualizaciones disponibles a través del sitio web de distribución, lo que podría significar que la campaña recibe mantenimiento.
  • El objetivo principal de las modificaciones realizadas a la aplicación es extraer datos confidenciales de la víctima y espiar activamente las aplicaciones de mensajería que utiliza.
  • Creemos que los objetivos apuntados por los actores maliciosos son elegidos cuidadosamente, ya que una vez que se inicia el spyware Bahamut, solicita una clave de activación antes de que se pueda habilitar la funcionalidad de VPN y spyware. Es probable que tanto la clave de activación como el enlace del sitio web se envíen a usuarios específicos.
  • Desconocemos el vector de distribución inicial (correo electrónico, redes sociales, aplicaciones de mensajería, SMS, etc.).

Los investigadores de ESET descubrieron al menos ocho versiones del spyware Bahamut. El malware se distribuye a través de un sitio web falso de SecureVPN bajo la forma de versiones troyanizadas de dos aplicaciones legítimas: SoftVPN y OpenVPN. Estas aplicaciones maliciosas nunca estuvieron disponibles para descargar desde Google Play.

El malware tiene la capacidad de exfiltrar datos confidenciales del equipo de la víctima, como la lista de contactos, mensajes SMS, registros de llamadas, ubicación del dispositivo y llamadas telefónicas grabadas. También es capaz de espiar activamente los mensajes de chat intercambiados a través de aplicaciones de mensajería muy populares, como Signal, Viber, WhatsApp, Telegram y Facebook Messenger. La exfiltración de datos se realiza a través de la funcionalidad de keylogging del malware, que hace un uso malintencionado de los servicios de accesibilidad. La campaña parece estar dirigida a blancos muy específicos, ya que no vemos instancias en nuestros datos de telemetría.

Acerca de Bahamut

El grupo de APT Bahamut generalmente apunta a entidades e individuos ubicados en Medio Oriente y en el sur de Asia a utilizando como vector de ataque mensajes de phishing y aplicaciones falsas. Bahamut se especializa en ciberespionaje, y creemos que su objetivo es robar información sensible de sus víctimas. Bahamut también se conoce como un grupo de mercenarios que ofrece servicios de piratería a sueldo a una amplia gama de clientes. El nombre con el que se nombró a este actor de amenazas está vinculado al grupo de periodismo de investigación Bellingcat. Bellingcat nombró al grupo por el enorme pez que flota en el vasto Mar Arábigo mencionado en “El Libro de los Seres Imaginarios” escrito por Jorge Luis Borges. Bahamut se describe con frecuencia en la mitología árabe como un pez inimaginablemente enorme.

El grupo ha sido objeto de varias publicaciones en los últimos años, entre ellas:

Distribución

La falsa app de SecureVPN que analizamos fue cargada a VirusTotal el 17 de marzo de 2022 desde una dirección IP que apunta a Singapur, junto con un enlace a un sitio web falso que activó una de nuestras reglas YARA.

Al mismo tiempo, recibimos un mensaje directo en Twitter de @malwrhunterteam acerca de la misma muestra.

La aplicación maliciosa para Android que fue utilizada en esta campaña se distribuyó a través del sitio web thesecurevpn[.]com (ver la Figura 1), que utiliza el nombre, pero no el contenido ni el estilo del servicio SecureVPN legítimo (en el dominio securevpn.com).

Figura 1. El falso sitio web de SecureVPN ofrece para su descarga una aplicación troyanizada

Este falso sitio web que se hace pasar por SecureVPN se creó en base a una plantilla web gratuita (consulte la Figura 2), que probablemente fue utilizada por el actor de amenazas como inspiración, ya que solo requirió pequeños cambios y parece confiable.

Figura 2. Plantilla para sitio web gratuita que fue utilizada para crear el sitio web que distribuye la falsa app de VPN

thesecurevpn[.]com se registró el 27 de enero de 2022; sin embargo, se desconoce el momento de la distribución inicial de la falsa versión de la aplicación de SecureVPN. La aplicación maliciosa se proporciona directamente desde el sitio web y nunca ha estado disponible en la tienda Google Play.

Atribución

La presencia de código malicioso en una falsa muestra de SecureVPN se ha observado en una campaña de SecureChat documentada por Cyble y CoreSec360. De nuestro lado hemos visto este código en uso solamente en campañas realizadas por Bahamut. Las similitudes entre campañas incluyen el almacenamiento de información confidencial en una base de datos local antes de cargarla en el servidor de C&C. La cantidad de datos almacenados en estas bases de datos probablemente depende de la campaña. En la Figura 3 puede observarse las clases de paquetes maliciosos de esta variante en comparación con una muestra anterior del código Bahamut.

Figura 3. Comparación de nombres de clase entre el paquete de SecureChat malicioso (izquierda) y el paquete de SecureVPN falso (derecha)

Al comparar la Figura 4 y la Figura 5, se pueden observar las similitudes en las consultas SQL del anterior malware de SecureChat, atribuido a Bahamut, y del malware oculto en la falsa versión de SecureVPN.

Figura 4. Consultas SQL utilizadas en el código malicioso de la campaña anterior de SecureChat

Figura 5. Consultas SQL utilizadas en el código malicioso en la campaña que usa una falsa versión de SecureVPN

Por lo tanto, creemos que la falsa aplicación de SecureVPN está vinculada al grupo Bahamut.

Análisis

Desde que el sitio web utilizado para la distribución ha estado en línea, hubo al menos ocho versiones del spyware Bahamut disponibles para su descarga. Estas versiones fueron creadas por el actor de amenazas, donde el nombre de la aplicación falsa fue seguido por el número de versión. Pudimos extraer las siguientes versiones del servidor. Creemos que la versión con el sufijo de versión más bajó se distribuyó en el pasado, mientras que los números de versión más altos fueron distribuidas más recientemente (secureVPN_104.apk, SecureVPN_105.apk, SecureVPN_106.apk, SecureVPN_107.apk, SecureVPN_108.apk, SecureVPN_109.apk, SecureVPN_1010.apk, secureVPN_1010b.apk).

Dividimos estas versiones en dos ramas, ya que el código malicioso de Bahamut se colocó en dos aplicaciones apps de VPN legítimas diferentes.

En la primera rama, que va desde la versión secureVPN_104 hasta la secureVPN_108, se insertó un código malicioso en la aplicación legítima de SoftVPN, que se puede encontrar en Google Play, y utiliza el nombre de paquete único com.secure.vpn. Este nombre de paquete también puede verse en el valor PARENT_APPLICATION_ID en la información de la versión que encontramos en el código fuente descompilado de la primera rama de la falsa aplicación de SecureVPN, como se observa en la Figura 6.

Figura 6. Falsa app de SecureVPN v1.0.4 con código malicioso incluido en SoftVPN como aplicación principal

En la segunda rama, que va desde la versión secureVPN_109 hasta la secureVPN_1010b, se insertó código malicioso en la aplicación legítima de código abierto OpenVPN, que está disponible en Google Play, y que usa el nombre de paquete único com.openvpn.secure. Al igual que con las versiones troyanizadas de SoftVPN, el nombre del paquete de la aplicación original también es visible en la información de la versión de la falsa aplicación de SecureVPN, y se puede observar en el código fuente descompilado, tal como se muestra en la Figura 7.

Figura 7. Falsa app de SecureVPN v1.0.9 (SecureVPN_109) con código malicioso incluido en OpenVPN como su aplicación principal, aunque el VERSION_NAME (1.0.0) hardcodeado no se cambió entre versiones

Además de la división en estas dos ramas, donde el mismo código malicioso se implanta en dos aplicaciones de VPN diferentes, otras actualizaciones falsas de la versión SecureVPN contenían solo cambios o correcciones menores en el código, sin nada significativo teniendo en cuenta su funcionalidad general.

No está claro por qué el actor de amenazas cambió de parchear SoftVPN a OpenVPN como su aplicación principal; sin embargo, sospechamos que el motivo podría ser que la aplicación legítima de SoftVPN dejó de funcionar o de recibir mantenimiento y ya no estaba disponible para crear conexiones VPN. Esto último lo confirmamos realizando pruebas con la última aplicación de SoftVPN disponible Google Play. Esta podría ser una razón para que Bahamut decida cambiar a OpenVPN, ya que es probable que las víctimas potenciales desinstalen de sus dispositivos una aplicación de VPN que no funciona. Cambiar de una aplicación principal a otra probablemente implicó para los actores de amenazas dedicar más tiempo, recursos y esfuerzo.

El código malicioso empaquetado con la aplicación de OpenVPN se implementó una capa por encima del código VPN. Ese código malicioso implementa la funcionalidad de spyware que solicita una clave de activación y luego compara la clave proporcionada con el servidor C&C del atacante. Si la clave se ingresa con éxito, el servidor devolverá un token que es necesario para una comunicación exitosa entre el spyware Bahamut y su servidor de C&C. Si la clave no es correcta, no se habilitará ni el spyware de Bahamut ni la funcionalidad de VPN. Desafortunadamente, sin la clave de activación, es posible que los entornos de análisis dinámico de malware no lo marquen como una aplicación maliciosa.

En la Figura 8 se puede observar una solicitud de clave de activación inicial y en la Figura 9 el tráfico de red detrás de dicha solicitud y la respuesta del servidor C&C.

Figura 8. Falsa app de SecureVPN solicita la clave de activación antes de habilitar las funciones de VPN y spyware

Figura 9. Solicitud de activación de la falsa app de SecureVPN y la respuesta de su servidor de C&C

Las campañas que utilizan la aplicación falsa de SecureVPN intentan mantener un perfil bajo, ya que lo más probable es que la URL del sitio web se entregue a las potenciales víctimas con una clave de activación que no se proporciona en el sitio web. Desafortunadamente, no pudimos obtener una clave que funcione.

La capa de clave de activación no pertenece a la funcionalidad original de OpenVPN y no la reconocemos como código de ninguna otra aplicación legítima. Creemos que fue desarrollada por Bahamut, ya que también se comunica con su servidor C&C.

La implementación de una capa para proteger un payload de ser ejecutado justo después que es abierta en el dispositivo de un usuario al cual no se apuntaba o cuando se analiza no es una característica única. Ya vimos la implementación de una protección similar en otra campaña del grupo Bahamut con la aplicación SecureChat analizada por CoreSec360. Eso requería un esfuerzo adicional por parte de la víctima, que tenía que crear una cuenta e iniciar sesión en ella, para luego habilitar la funcionalidad del spyware Bahamut. También hemos observado que APT-C-23 utiliza una protección comparable, donde la potencial víctima necesita un código de cupón válido para descargar la aplicación maliciosa.

Funcionalidad

Si el spyware Bahamut es habilitado, los operadores de Bahamut pueden controlarlo de forma remota y exfiltrar varios datos confidenciales del dispositivo, como:

  • contactos,
  • mensajes SMS,
  • registros de llamadas,
  • una lista de aplicaciones instaladas,
  • ubicación del dispositivo,
  • cuentas de dispositivo,
  • información del dispositivo (tipo de conexión a Internet, IMEI, IP, número de serie de SIM),
  • llamadas telefónicas grabadas y
  • una lista de los archivos en el almacenamiento externo.

Al abusar del servicio de accesibilidad, como se observa en la Figura 10, el malware puede robar notas de la aplicación SafeNotes y espiar activamente los mensajes de chat e información sobre llamadas en aplicaciones de mensajería muy populares, como:

  • imo-International Calls & Chat,
  • Facebook Messenger,
  • Viber,
  • Signal Private Messenger,
  • WhatsApp,
  • Telegram,
  • WeChat, y
  • Conion.

Figura 10. Solicitud falsa de SecureVPN para habilitar manualmente los servicios de accesibilidad

Todos los datos extraídos se almacenan en una base de datos local y luego se envían al servidor de C&C del atacante. La funcionalidad del spyware Bahamut incluye la capacidad de actualizar la aplicación mediante un enlace con una nueva versión del servidor C&C.

Conclusión

La campaña dirigida a dispositivos móviles operada por el grupo de APT Bahamut sigue en curso y utiliza el mismo método para distribuir sus aplicaciones de spyware para Android: a través de sitios web que se hacen pasar por servicios legítimos, como se ha visto en el pasado. Además, el código del spyware y, por lo tanto, su funcionalidad, es la misma que en campañas anteriores, incluida la capacidad de recopilar datos para exfiltrarlos en una base de datos local antes de enviarlos al servidor de los atacantes, una táctica que rara vez se ve en las aplicaciones móviles para ciberespionaje.

Parece que esta campaña ha mantenido un perfil bajo, ya que no vemos instancias en nuestros datos de telemetría. Esto probablemente se logra a través de una distribución altamente dirigida, donde junto con un enlace al spyware Bahamut, la potencial víctima recibe una clave de activación, que es necesaria para habilitar la capacidad de espionaje del malware.

Indicadores de Compromiso

Archivos

SHA-1 Package name ESET detection name Description
3144B187EDF4309263FF0BCFD02C6542704145B1 com.openvpn.secure Android/Spy.Bahamut.M OpenVPN app repackaged with Bahamut spyware code.
2FBDC11613A065AFBBF36A66E8F17C0D802F8347 com.openvpn.secure Android/Spy.Bahamut.M OpenVPN app repackaged with Bahamut spyware code.
2E40F7FD49FA8538879F90A85300247FBF2F8F67 com.secure.vpn Android/Spy.Bahamut.M SoftVPN app repackaged with Bahamut spyware code.
1A9371B8AEAD5BA7D309AEBE4BFFB86B23E38229 com.secure.vpn Android/Spy.Bahamut.M SoftVPN app repackaged with Bahamut spyware code.
976CC12B71805F4E8E49DCA232E95E00432C1778 com.secure.vpn Android/Spy.Bahamut.M SoftVPN app repackaged with Bahamut spyware code.
B54FFF5A7F0A279040A4499D5AABCE41EA1840FB com.secure.vpn Android/Spy.Bahamut.M SoftVPN app repackaged with Bahamut spyware code.
C74B006BADBB3844843609DD5811AB2CEF16D63B com.secure.vpn Android/Spy.Bahamut.M SoftVPN app repackaged with Bahamut spyware code.
4F05482E93825E6A40AF3DFE45F6226A044D8635 com.openvpn.secure Android/Spy.Bahamut.M OpenVPN app repackaged with Bahamut spyware code.
79BD0BDFDC3645531C6285C3EB7C24CD0D6B0FAF com.openvpn.secure Android/Spy.Bahamut.M OpenVPN app repackaged with Bahamut spyware code.
7C49C8A34D1D032606A5E9CDDEBB33AAC86CE4A6 com.openvpn.secure Android/Spy.Bahamut.M OpenVPN app repackaged with Bahamut spyware code.

Red

IP Domain First seen Details
104.21.10[.]79 ft8hua063okwfdcu21pw[.]de 2022-03-20 C&C server
172.67.185[.]54 thesecurevpn[.]com 2022-02-23 Distribution website

Técnicdas de MITRE ATT&CK

Esta tabla fue creada utilizando la versión 11 del framework ATT&CK .

Tactic ID Name Description
Persistence T1398 Boot or Logon Initialization Scripts Bahamut spyware receives the BOOT_COMPLETED broadcast intent to activate at device startup.
T1624 Event Triggered Execution Bahamut spyware uses Observers to be informed about changes in SMS, contacts, and calls.
Defense Evasion T1627 Execution Guardrails Bahamut spyware won’t run unless a valid activation key is provided at app startup.
Discovery T1420 File and Directory Discovery Bahamut spyware can list available files on external storage.
T1418 Software Discovery Bahamut spyware can obtain a list of installed applications.
T1426 System Information Discovery Bahamut spyware can extract information about the device including type of internet connection, IMEI, IP address, and SIM serial number.
Collection T1417.001 Input Capture: Keylogging Bahamut spyware logs keystrokes in chat messages and call information from targeted apps.
T1430 Location Tracking Bahamut spyware tracks device location.
T1429 Audio Capture Bahamut spyware can record phone calls.
T1532 Archive Collected Data Bahamut spyware stores collected data in a database prior to exfiltration.
T1636.002 Protected User Data: Call Logs Bahamut spyware can extract call logs.
T1636.003 Protected User Data: Contact List Bahamut spyware can extract the contact list.
T1636.004 Protected User Data: SMS Messages Bahamut spyware can extract SMS messages.
Command and Control T1437.001 Application Layer Protocol: Web Protocols Bahamut spyware uses HTTPS to communicate with its C&C server.
Exfiltration T1646 Exfiltration Over C2 Channel Bahamut spyware exfiltrates stolen data over its C&C channel.