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:
- 2017 – Bellingcat [1][2]
- 2018 – Talos [1][2]
- 2018 – Trend Micro
- 2020 – BlackBerry [pdf]
- 2020 – SonicWall
- 2021 – 打假的Hunter
- 2021 – Cyble
- 2022 – CoreSec360
- 2022 – Cyble
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).
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.
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.
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.
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.
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.
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.
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.
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. |