Los investigadores de ESET han identificado doce aplicaciones de espionaje para Android que comparten el mismo código malicioso: seis estaban disponibles en Google Play y seis se encontraron en VirusTotal. Todas las aplicaciones observadas se anunciaban como herramientas de mensajería, salvo una que se hacía pasar por una aplicación de noticias. En segundo plano, estas aplicaciones ejecutan de forma encubierta un código troyano de acceso remoto (RAT) llamado VajraSpy, utilizado para el espionaje selectivo por el grupo Patchwork APT.

VajraSpy tiene una serie de funcionalidades de espionaje que pueden ampliarse en función de los permisos concedidos a la aplicación incluida con su código. Roba contactos, archivos, registros de llamadas y mensajes SMS, pero algunas de sus implementaciones pueden incluso extraer mensajes de WhatsApp y Signal, grabar llamadas telefónicas y tomar fotografías con la cámara.

Según nuestra investigación, esta campaña Patchwork APT se dirigía principalmente a usuarios de Pakistán.

Puntos clave del informe:
  • Descubrimos una nueva campaña de ciberespionaje que, con un alto nivel de confianza, atribuimos al grupo Patchwork APT.
  • La campaña aprovechó Google Play para distribuir seis aplicaciones maliciosas con el código de la RAT VajraSpy; otras seis se distribuyeron de forma no autorizada.
  • Las aplicaciones en Google Play alcanzaron más de 1.400 instalaciones y siguen disponibles en tiendas de aplicaciones alternativas.
  • La escasa seguridad operativa de una de las aplicaciones nos permitió geolocalizar 148 dispositivos comprometidos.

Resumen

En enero de 2023, detectamos una aplicación de noticias troyanizada llamada Rafaqat رفاقت (la palabra urdu se traduce como Compañerismo) que se utilizaba para robar información de los usuarios. Investigaciones posteriores descubrieron varias aplicaciones más con el mismo código malicioso que Rafaqat رفاقت. Algunas de estas aplicaciones compartían el mismo certificado de desarrollador y la misma interfaz de usuario. En total, analizamos 12 apps troyanizadas, seis de las cuales (incluida Rafaqat رفاقت) habían estado disponibles en Google Play, y seis de las cuales se encontraron en la naturaleza. Las seis aplicaciones maliciosas que habían estado disponibles en Google Play se descargaron más de 1.400 veces en total.

Según nuestra investigación, los responsables de las aplicaciones troyanizadas probablemente utilizaron una estafa romántica para atraer a sus víctimas e inducirlas a instalar el malware.

Nota: Esta investigación abarca nombres de paquetes específicos y cualquier parecido de estos nombres con los nombres de las aplicaciones que todavía están disponibles en Google Play es pura coincidencia.

Todas las aplicaciones que en algún momento estuvieron disponibles en Google Play se subieron allí entre abril de 2021 y marzo de 2023. La primera de las apps en aparecer fue Privee Talk, subida el1 de abril de 2021, alcanzando unas 15 instalaciones. Después, en octubre de 2022, le siguieron MeetMe, Let's Chat, Quick Chat y Rafaqat رفاق, instaladas en total más de 1.000 veces. La última app disponible en Google Play fue Chit Chat, que apareció en marzo de 2023 y alcanzó más de 100 instalaciones.

Las apps tienen varios puntos en común: la mayoría son aplicaciones de mensajería, y todas están empaquetadas con el código RAT de VajraSpy. MeetMe y Chit Chat utilizan una interfaz de inicio de sesión de usuario idéntica; véase la Figura 1. Además, las aplicaciones Hello Chat (no disponible en Google Play store) y Chit Chat estaban firmadas por el mismo certificado único de desarrollador (huella SHA-1: 881541A1104AEDC7CEE504723BD5F63E15DB6420), lo que significa que las creó el mismo desarrollador.

VajraSpy – Figure 1
Figura 1. Pantalla de inicio de sesión de Hello Chat (izquierda) Pantalla de inicio de sesión de Hello Chat (izquierda) y MeetMe y Chit Chat (derecha)

Aparte de las aplicaciones que solían estar disponibles en Google Play, se subieron a VirusTotal otras seis aplicaciones de mensajería. Cronológicamente, YohooTalk fue la primera en aparecer allí, en febrero de 2022. La aplicación TikTalk apareció en VirusTotal a finales de abril de 2022; casi inmediatamente después, MalwareHunterTeam en X (antes Twitter) la compartió con el dominio donde estaba disponible para su descarga (fich[.]buzz). Hello Chat se subió en abril de 2023. Nidus y GlowChat se subieron allí en julio de 2023, y por último, Wave Chat en septiembre de 2023. Estas seis aplicaciones troyanizadas contienen el mismo código malicioso que las encontradas en Google Play.

La Figura 2 muestra las fechas en las que cada aplicación estuvo disponible, ya sea en Google Play o como muestra en VirusTotal.

VajraSpy - Figure 2
Figura 2. Cronología de las fechas de disponibilidad de las aplicaciones troyanizadas

ESET es miembro de la App Defense Alliance y socio activo en el programa de mitigación de malware, cuyo objetivo es encontrar rápidamente aplicaciones potencialmente dañinas (PHA) y detenerlas antes de que lleguen a Google Play.

Como socio de Google App Defense Alliance, ESET identificó Rafaqat رفاقت como malicioso y compartió rápidamente estos hallazgos con Google. En ese momento, Rafaqat رفاقت ya se había eliminado de la tienda. Otras aplicaciones, en el momento de compartir la muestra con nosotros, fueron escaneadas y no marcadas como maliciosas. Todas las aplicaciones identificadas en el informe que estaban en Google Play ya no están disponibles en Play Store.

Victimología

Aunque los datos de telemetría de ESET sólo registraron detecciones en Malasia, creemos que se trataba de casos fortuitos y que no constituían los objetivos reales de la campaña. Durante nuestra investigación, la débil seguridad operativa de una de las aplicaciones llevó a que se expusieran algunos datos de las víctimas, lo que nos permitió geolocalizar 148 dispositivos comprometidos en Pakistán e India. Estos eran probablemente los objetivos reales de los ataques.

Otra pista que apunta a Pakistán es el nombre del desarrollador utilizado para el listado de Google Play de la aplicación Rafaqat رفاقت. Los autores de la amenaza utilizaron el nombre de Mohammad Rizwan, que es también el nombre de uno de los jugadores de críquet más populares de Pakistán. Rafaqat رفاقت y varias más de estas aplicaciones troyanizadas también tenían el código de llamada del país pakistaní seleccionado por defecto en su pantalla de inicio de sesión. Según Google Translate, رفاقت significa "compañerismo" en urdu. El urdu es una de las lenguas nacionales de Pakistán.

Creemos que las víctimas fueron abordadas a través de una estafa romántica en la que los operadores de la campaña fingían un interés romántico y/o sexual en sus objetivos en otra plataforma, y luego les convencían para descargar estas aplicaciones troyanizadas.

Atribución a Patchwork

QiAnXin descubrió por primera vez el código malicioso que ejecutaban las aplicaciones en marzo de 2022. Lo llamaron VajraSpy y lo atribuyeron a APT-Q-43. Este grupo APT tiene como objetivo principalmente entidades diplomáticas y gubernamentales.

En marzo de 2023, Meta publicó su primer informe trimestral sobre amenazas adversas, que contiene las operaciones de desmantelamiento y las tácticas, técnicas y procedimientos (TTP) de varios grupos APT. El informe incluye la operación de desmantelamiento llevada a cabo por el grupo Patchwork APT, que consiste en cuentas de redes sociales falsas, hashes de malware para Android y vector de distribución. La sección Indicadores de amenazas de dicho informe incluye muestras analizadas y notificadas por QiAnXin con los mismos dominios de distribución.

En noviembre de 2023, Qihoo 360 publicó de forma independiente un artículo que coincidía con las aplicaciones maliciosas descritas por Meta y este informe, atribuyéndolas al malware VajraSpy operado por Fire Demon Snake (APT-C-52), un nuevo grupo APT.

Nuestro análisis de estas aplicaciones reveló que todas comparten el mismo código malicioso y pertenecen a la misma familia de malware, VajraSpy. El informe de Meta incluye información más completa, lo que podría dar a Meta una mejor visibilidad de las campañas y también más datos para identificar al grupo APT. Por ello, atribuimos VajraSpy al grupo Patchwork APT.

Análisis técnico

VajraSpy es un troyano personalizable que suele disfrazarse de aplicación de mensajería y que se utiliza para exfiltrar datos de los usuarios. Hemos observado que el malware ha estado utilizando los mismos nombres de clase en todas sus instancias observadas, ya sean las muestras encontradas por ESET o por otros investigadores.

Para ilustrarlo, la Figura 3 muestra una comparación de clases maliciosas de variantes del malware VajraSpy. La captura de pantalla de la izquierda es una lista de las clases maliciosas encontradas en Click App descubierta por Meta, la del medio enumera las clases maliciosas de MeetMe (descubierta por ESET), y la de la derecha muestra las clases maliciosas de WaveChat, una aplicación maliciosa encontrada en la naturaleza. Todas las aplicaciones comparten las mismas clases trabajadoras responsables de la filtración de datos.

VajraSpy – Figure 3
Figura 3: Las mismas clases maliciosas en las aplicaciones Click (izquierda), MeetMe (centro) y WaveChat (derecha

Las figuras 4 y 5 muestran el código responsable de la filtración de notificaciones de las aplicaciones Crazy Talk, mencionada en el informe de Meta, y Nidus, respectivamente.

VajraSpy – Figure 4
Figura 4. Código responsable de interceptar notificaciones
VajraSpy – Figure 5
Figura 5. Código responsable de interceptar notificaciones en la aplicación Nidus

El alcance de las funcionalidades maliciosas de VajraSpy varía en función de los permisos concedidos a la aplicación troyanizada.

Para facilitar el análisis, hemos dividido las aplicaciones troyanizadas en tres grupos.

Primer grupo: aplicaciones de mensajería troyanizadas con funcionalidades básicas

El primer grupo comprende todas las aplicaciones de mensajería troyanizadas que solían estar disponibles en Google Play, es decir, MeetMe, Privee Talk, Let's Chat, Quick Chat, GlowChat y Chit Chat. También incluye Hello Chat, que no estaba disponible en Google Play.

Todas las aplicaciones de este grupo ofrecen funciones de mensajería estándar, pero antes requieren que el usuario cree una cuenta. La creación de una cuenta depende de la verificación del número de teléfono mediante un código SMS de un solo uso: si no se puede verificar el número de teléfono, no se creará la cuenta. Sin embargo, el hecho de que la cuenta se cree o no es irrelevante para el malware, ya que VajraSpy se ejecuta independientemente de ello. La única utilidad posible de hacer que la víctima verifique el número de teléfono podría ser para que los actores de la amenaza aprendan el código de país de su víctima, pero esto es sólo una especulación por nuestra parte.

Estas aplicaciones comparten la misma funcionalidad maliciosa, siendo capaces de filtrar lo siguiente

  • contactos,
  • Mensajes SMS,
  • registros de llamadas,
  • localización del dispositivo,
  • una lista de aplicaciones instaladas, y
  • archivos con extensiones específicas (.pdf, .doc, .docx, .txt,.ppt, .pptx, .xls, .xlsx, .jpg, .jpeg, .png, .mp3, .Om4a, .aac y .opus).

Algunas de las apps pueden explotar sus permisos para acceder a las notificaciones. Si se concede dicho permiso, VajraSpy puede interceptar los mensajes recibidos de cualquier aplicación de mensajería, incluidos los mensajes SMS.

La Figura 6 muestra una lista de extensiones de archivo que VajraSpy es capaz de filtrar de un dispositivo.

VajraSpy – Figure 6
Figura 6. Extensiones de los archivos filtrados

Los operadores detrás de los ataques utilizaron Firebase Hosting, un servicio de alojamiento de contenidos web, para el servidor de C&C. Además de servir como C&C, el servidor también se utilizaba para almacenar la información de las cuentas de las víctimas e intercambiar mensajes. Informamos del servidor a Google, ya que ellos proporcionan Firebase.

Grupo dos: aplicaciones de mensajería troyanizadas con funcionalidades avanzadas

El grupo dos está formado por TikTalk, Nidus, YohooTalk y Wave Chat, así como las instancias del malware VajraSpy descritas en otras investigaciones, como Crazy Talk (cubierta por Meta y QiAnXin).

Al igual que las del Grupo Uno, estas aplicaciones piden a la víctima potencial que cree una cuenta y verifique su número de teléfono mediante un código SMS de un solo uso. La cuenta no se creará si el número de teléfono no está verificado, pero VajraSpy se ejecutará de todos modos.

Las aplicaciones de este grupo tienen más funciones que las del Grupo Uno. Además de las funcionalidades del primer grupo, estas aplicaciones son capaces de explotar las opciones de accesibilidad integradas para interceptar las comunicaciones de WhatsApp, WhatsApp Business y Signal. VajraSpy registra cualquier comunicación visible de estas aplicaciones en la consola y en la base de datos local, y posteriormente la carga en el servidor de C&C alojado en Firebase. A modo de ilustración, la Figura 7 muestra cómo el malware registra la comunicación de WhatsApp en tiempo real.

VajraSpy – Figure 7
Figura 7: Elusuario abrió un chat de WhatsApp (izquierda) y VajraSpy registró y borró todo el texto visible (derecha)

Además, sus capacidades ampliadas les permiten espiar comunicaciones de chat e interceptar notificaciones. En definitiva, las aplicaciones del Grupo Dos son capaces de filtrar, además de los datos que pueden filtrar las aplicaciones del Grupo Uno, los siguientes

  • notificaciones recibidas, y
  • mensajes intercambiados en WhatsApp, WhatsApp Business y Signal.

Una de las aplicaciones de este grupo, Wave Chat, tiene aún más capacidades maliciosas además de las que ya hemos cubierto. También se comporta de manera diferente en el lanzamiento inicial, pidiendo al usuario que permita los servicios de accesibilidad. Una vez permitidos, estos servicios habilitan automáticamente todos los permisos necesarios en nombre del usuario, ampliando el alcance del acceso de VajraSpy al dispositivo. Además de la funcionalidad maliciosa mencionada anteriormente, Wave Chat también puede:

  • grabar llamadas telefónicas,
  • grabar llamadas de WhatsApp, WhatsApp Business, Signal y Telegram,
  • registrar pulsaciones de teclas,
  • hacer fotos con la cámara,
  • grabar el audio del entorno, y
  • buscar redes Wi-Fi.

Wave Chat puede recibir una orden de C&C para hacer una foto con la cámara y otra para grabar audio, ya sea durante 60 segundos (por defecto) o durante el tiempo especificado en la respuesta del servidor. Los datos capturados se filtran al C&C a través de peticiones POST.

Para recibir comandos y almacenar mensajes de usuario, mensajes SMS y la lista de contactos, Wave Chat utiliza un servidor Firebase. Para otros datos filtrados, utiliza un servidor de C&C diferente y un cliente basado en un proyecto de código abierto llamado Retrofit. Retrofit es un cliente Android REST en Java que facilita la recuperación y carga de datos a través de un servicio web basado en REST. VajraSpy lo utiliza para subir datos de usuario sin cifrar al servidor de C&C a través de HTTP.

Grupo tres: aplicaciones que no son de mensajería

Hasta ahora, la única aplicación que pertenece a este grupo es la que inició esta investigación en primer lugar: Rafaqat رفاقت. Es la única aplicación de VajraSpy que no se utiliza para mensajería, y se usa ostensiblemente para ofrecer las últimas noticias. Dado que las aplicaciones de noticias no necesitan solicitar permisos intrusivos como el acceso a mensajes SMS o registros de llamadas, las capacidades maliciosas de Rafaqat رفاقت son limitadas en comparación con las otras aplicaciones analizadas.

Rafaqat رفاقت fue subida a Google Play el26 de octubre de 2022 por un desarrollador que responde al nombre de Mohammad Rizwan, que es también el nombre de uno de los jugadores de críquet pakistaníes más populares. La aplicación alcanzó más de mil instalaciones antes de ser eliminada de la tienda Google Play.

Curiosamente, el mismo desarrollador presentó otras dos aplicaciones con un nombre idéntico y código malicioso para subirlas a Google Play unas semanas antes de que apareciera Rafaqat رفاقت. Sin embargo, estas dos aplicaciones no se publicaron en Google Play.

La interfaz de inicio de sesión de la aplicación con el código de país de Pakistán preseleccionado puede verse en la figura 8.

VajraSpy – Figure 8
Figura 8. Pantalla de inicio de sesión de la aplicación Rafaqat رفاقت

Aunque la aplicación requiere el inicio de sesión con un número de teléfono, no se verifica el número, lo que significa que el usuario puede utilizar cualquier número de teléfono para iniciar sesión.

Rafaqat رفاقت puede interceptar notificaciones y exfiltrar lo siguiente

  • contactos, y
  • archivos con extensiones específicas (.pdf, .doc, .docx, .txt, .ppt, .pptx, .xls, .xlsx, .jpg, .jpeg, .png, .mp3,.Om4a, .aac y .opus).

La figura 9 muestra la exfiltración de un mensaje SMS recibido utilizando el permiso de acceso a notificaciones.

VajraSpy – Figure 9
Figura 9. Exfiltración de una notificación de usuario (para un mensaje SMS recibido)

Conclusión

ESET Research ha descubierto una campaña de espionaje utilizando aplicaciones empaquetadas con el malware VajraSpy llevada a cabo, con un alto nivel de confianza, por el grupo Patchwork APT. Algunas aplicaciones se distribuyeron a través de Google Play y también se encontraron, junto con otras, fuera de esta plataforma. Según las cifras disponibles, las aplicaciones maliciosas que estaban disponibles en Google Play se descargaron más de 1.400 veces. Un fallo de seguridad en una de las aplicaciones reveló además 148 dispositivos comprometidos.

Según varios indicadores, la campaña iba dirigida sobre todo a usuarios paquistaníes: Rafaqat رفاقت, una de las aplicaciones maliciosas, utilizaba el nombre de un popular jugador de cricket paquistaní como nombre del desarrollador en Google Play; las aplicaciones que solicitaban un número de teléfono al crear la cuenta tenían seleccionado por defecto el código de país de Pakistán; y muchos de los dispositivos comprometidos descubiertos a través del fallo de seguridad se encontraban en Pakistán.

Para atraer a sus víctimas, los autores de la amenaza probablemente utilizaron estafas románticas contactando inicialmente con las víctimas en otra plataforma y luego convenciéndolas de que cambiaran a una aplicación de chat troyanizada. Esto también se observó en la investigación de Qihoo 360, en la que los ciberdelincuentes iniciaban la comunicación con las víctimas a través de Facebook Messenger y WhatsApp, y luego pasaban a una aplicación de chat troyanizada.

Los ciberdelincuentes utilizan la ingeniería social como una poderosa arma. Recomendamos, como hacemos a diario, no hacer clic en ningún enlace para descargar una aplicación que se envíe en una conversación de chat. Puede ser difícil mantenerse inmune a los avances románticos espurios, pero merece la pena estar siempre alerta.

Para cualquier consulta sobre nuestras investigaciones publicadas en WeLiveSecurity, póngase en contacto con nosotros en threatintel@eset.com.
ESET Research ofrece informes privados de inteligencia APT y fuentes de datos. Para cualquier consulta sobre este servicio, visite la página de ESET Threat Intelligence.

IoCs

Archivos

SHA-1

Package name

ESET detection name

Description

BAF6583C54FC680AA6F71F3B694E71657A7A99D0

com.hello.chat

Android/Spy.VajraSpy.B

VajraSpy trojan.

846B83B7324DFE2B98264BAFAC24F15FD83C4115

com.chit.chat

Android/Spy.VajraSpy.A

VajraSpy trojan.

5CFB6CF074FF729E544A65F2BCFE50814E4E1BD8

com.meeete.org

Android/Spy.VajraSpy.A

VajraSpy trojan.

1B61DC3C2D2C222F92B84242F6FCB917D4BC5A61

com.nidus.no

Android/Spy.Agent.BQH

VajraSpy trojan.

BCD639806A143BD52F0C3892FA58050E0EEEF401

com.rafaqat.news

Android/Spy.VajraSpy.A

VajraSpy trojan.

137BA80E443610D9D733C160CCDB9870F3792FB8

com.tik.talk

Android/Spy.VajraSpy.A

VajraSpy trojan.

5F860D5201F9330291F25501505EBAB18F55F8DA

com.wave.chat

Android/Spy.VajraSpy.C

VajraSpy trojan.

3B27A62D77C5B82E7E6902632DA3A3E5EF98E743

com.priv.talk

Android/Spy.VajraSpy.C

VajraSpy trojan.

44E8F9D0CD935D0411B85409E146ACD10C80BF09

com.glow.glow

Android/Spy.VajraSpy.A

VajraSpy trojan.

94DC9311B53C5D9CC5C40CD943C83B71BD75B18A

com.letsm.chat

Android/Spy.VajraSpy.A

VajraSpy trojan.

E0D73C035966C02DF7BCE66E6CE24E016607E62E

com.nionio.org

Android/Spy.VajraSpy.C

VajraSpy trojan.

235897BCB9C14EB159E4E74DE2BC952B3AD5B63A

com.qqc.chat

Android/Spy.VajraSpy.A

VajraSpy trojan.

8AB01840972223B314BF3C9D9ED3389B420F717F

com.yoho.talk

Android/Spy.VajraSpy.A

VajraSpy trojan.

Red

IP

Domain

Hosting provider

First seen

Details

34.120.160[.]131

hello-chat-c47ad-default-rtdb.firebaseio[.]com

chit-chat-e9053-default-rtdb.firebaseio[.]com

meetme-abc03-default-rtdb.firebaseio[.]com

chatapp-6b96e-default-rtdb.firebaseio[.]com

tiktalk-2fc98-default-rtdb.firebaseio[.]com

wave-chat-e52fe-default-rtdb.firebaseio[.]com

privchat-6cc58-default-rtdb.firebaseio[.]com

glowchat-33103-default-rtdb.firebaseio[.]com

letschat-5d5e3-default-rtdb.firebaseio[.]com

quick-chat-1d242-default-rtdb.firebaseio[.]com

yooho-c3345-default-rtdb.firebaseio[.]com

Google LLC

2022-04-01

VajraSpy C&C servers

35.186.236[.]207

rafaqat-d131f-default-rtdb.asia-southeast1.firebasedatabase[.]app

Google LLC

2023-03-04

VajraSpy C&C server

160.20.147[.]67

N/A

aurologic GmbH

2021-11-03

VajraSpy C&C server

Técnicas ATT&CK de MITRE

Esta tabla se ha elaborado utilizando la versión 14 del marco MITRE ATT&CK.

Tactic

ID

Name

Description

Persistence

T1398

Boot or Logon Initialization Scripts

VajraSpy receives the BOOT_COMPLETED broadcast intent to activate at device startup.

Discovery

T1420

File and Directory Discovery

VajraSpy lists available files on external storage.

T1422

System Network Configuration Discovery

VajraSpy extracts the IMEI, IMSI, phone number, and country code.

T1426

System Information Discovery

VajraSpy extracts information about the device, including SIM serial number, device ID, and common system information.

T1418

Software Discovery

VajraSpy can obtain a list of installed applications.

Collection

T1533

Data from Local System

VajraSpy exfiltrates files from the device.

T1430

Location Tracking

VajraSpy tracks device location.

T1636.002

Protected User Data: Call Logs

VajraSpy extracts call logs.

T1636.003

Protected User Data: Contact List

VajraSpy extracts the contact list.

T1636.004

Protected User Data: SMS Messages

VajraSpy extracts SMS messages.

T1517

Access Notifications

VajraSpy can collect device notifications.

T1429

Audio Capture

VajraSpy can record microphone audio and record calls.

T1512

Video Capture

VajraSpy can take pictures using the camera.

T1417.001

Input Capture: Keylogging

VajraSpy can intercept all interactions between a user and the device.

Command and Control

T1437.001

Application Layer Protocol: Web Protocols

VajraSpy uses HTTPS to communicate with its C&C server.

T1481.003

Web Service: One-Way Communication

VajraSpy uses Google’s Firebase server as a C&C.

Exfiltration

T1646

Exfiltration Over C2 Channel

VajraSpy exfiltrates data using HTTPS.

Impact

T1641

Data Manipulation

VajraSpy removes files with specific extensions from the device, and deletes all user call logs and the contact list.

 

 

 

 

 

 

 

 

ParafrasearBasicCerrarSinónimosla notificación (f)acuseacusemuestraMostrar todosAlternativas generadas con IA