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.
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.
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.
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.
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.
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.
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.
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.
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 |
Boot or Logon Initialization Scripts |
VajraSpy receives the BOOT_COMPLETED broadcast intent to activate at device startup. |
|
Discovery |
File and Directory Discovery |
VajraSpy lists available files on external storage. |
|
System Network Configuration Discovery |
VajraSpy extracts the IMEI, IMSI, phone number, and country code. |
||
System Information Discovery |
VajraSpy extracts information about the device, including SIM serial number, device ID, and common system information. |
||
Software Discovery |
VajraSpy can obtain a list of installed applications. |
||
Collection |
Data from Local System |
VajraSpy exfiltrates files from the device. |
|
Location Tracking |
VajraSpy tracks device location. |
||
Protected User Data: Call Logs |
VajraSpy extracts call logs. |
||
Protected User Data: Contact List |
VajraSpy extracts the contact list. |
||
Protected User Data: SMS Messages |
VajraSpy extracts SMS messages. |
||
Access Notifications |
VajraSpy can collect device notifications. |
||
Audio Capture |
VajraSpy can record microphone audio and record calls. |
||
Video Capture |
VajraSpy can take pictures using the camera. |
||
Input Capture: Keylogging |
VajraSpy can intercept all interactions between a user and the device. |
||
Command and Control |
Application Layer Protocol: Web Protocols |
VajraSpy uses HTTPS to communicate with its C&C server. |
|
Web Service: One-Way Communication |
VajraSpy uses Google’s Firebase server as a C&C. |
||
Exfiltration |
Exfiltration Over C2 Channel |
VajraSpy exfiltrates data using HTTPS. |
|
Impact |
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