Hemos descubierto una versión, no documentada previamente, del spyware para Android utilizada por APT-C-23, un grupo de amenazas conocido también como “Two-tailed Scorpion” cuyos ataques se dirigen principalmente a Medio Oriente. Los productos de ESET detectan el malware como Android/SpyC23.A.

El grupo APT-C-23 es conocido por haber utilizado componentes de Windows y Android en sus operaciones, y los componentes de Android se describieron por primera vez en 2017. Ese mismo año se publicaron varios análisis del malware para dispositivos móviles del grupo.

En comparación con las versiones documentadas en 2017, Android/SpyC23.A tiene funcionalidades de espionaje más extendidas, que incluyen la lectura de notificaciones de aplicaciones de mensajería, grabación de llamadas y de pantalla, y nuevas funciones para permanecer oculto, como descartar notificaciones de aplicaciones de seguridad integradas a Android. Una de las formas en que se distribuye el spyware es utilizando como señuelo apps conocidas a través de una falsa tienda de aplicaciones para Android.

Cronología y descubrimiento

Las actividades de este grupo fueron descritas por primera vez en marzo de 2017 por la compañía Qihoo 360 Technology bajo el nombre de Two-tailed Scorpion, que en español significa “escorpión de dos colas”. Ese mismo año, Palo Alto Networks, Lookout y Trend Micro describieron otras versiones del malware para móviles, que fueron denominadas VAMP, FrozenCell y GnatSpy, respectivamente. En abril de 2018 Lookout publicó un análisis de otra versión del malware, llamada Desert Scorpion, mientras que a principios de 2020 Check Point informó sobre nuevos ataques de malware para móviles atribuidos al grupo APT-C-23.

En abril de 2020, MalwareHunterTeam publicó en Twitter el hallazgo de una nueva muestra de malware para Android. Según el servicio VirusTotal, ningún proveedor de seguridad además de ESET detectó la muestra en ese momento. En cooperación con MalwrHunterTeam, reconocimos que el malware es parte del arsenal de APT-C-23.

Figura 1. Tasa de detección de VirusTotal para una de las muestras recientemente descubiertas

En junio de 2020, MalwareHunterTeam tuiteó sobre otra muestra de malware para Android poco detectada, que resultó estar relacionada con la muestra de abril. Un análisis más profundo mostró que los descubrimientos de abril y junio eran variantes del mismo -y nuevo- malware para Android utilizado por el grupo APT-C-23.

La Figura 2 muestra la línea de tiempo de estos eventos.

Figura 2. Cronología del malware móvil de APT-C-23 previamente documentado y la investigación de ESET de 2020.

Distribución

Gracias a la información de MalwareHunterTeam identificamos una falsa tienda de aplicaciones para Android utilizada para distribuir la amenaza. Al momento del análisis, la tienda "DigitalApps" (ver Figura 3) contenía elementos tanto maliciosos como no maliciosos. Los elementos no maliciosos redirigirían a los usuarios a otra tienda de aplicaciones para Android, que si bien no es oficial, ofrece aplicaciones legítimas. El malware estaba oculto en aplicaciones que se hacían pasar por AndroidUpdate, Threema y Telegram. En el caso de las dos últimas, las apps utilizadas como señuelo contenían, además del malware, las funcionalidades completas de las apps cuya identidad se suplantó. Este mecanismo se describe en detalle en la sección Funcionalidad de este artículo.

Figura 3. La falsa tienda de apps desde la que se puede descargar el spyware de APT-C-23

Curiosamente, para poder descargar estas apps se necesita ingresar un código de seis dígitos, tal como se observa en la Figura 4. Esta puede ser una forma de evitar que aquellos que no son objetivo del grupo instalen el malware y, por lo tanto, mantener un perfil más bajo. Aunque no teníamos un código, descargar la aplicación no fue un problema; todo lo que se necesitaba era agregar "/download" a la URL.

Figura 4. La falsa tienda de aplicaciones que requiere un código para descargar malware

Es probable que esta tienda de aplicaciones falsa sea solo uno de los métodos de distribución utilizados por el grupo de amenazas. Datos de nuestra telemetría en 2020 arrojaron muestras que se hacían pasar por aplicaciones que no formaban parte de esta tienda.

Datos de telemetría de ESET

Según la telemetría de ESET y los datos de VirusTotal, Android/SpyC23.A ha estado activo desde mayo de 2019.

En junio de 2020, los sistemas de ESET bloquearon este spyware en dispositivos de clientes en Israel. Las muestras de malware detectadas se hacían pasar por la aplicación de mensajería "WeMessage" (ver Figura 5).

Si bien hay una aplicación de mensajería legítima llamada weMessage en Google Play, como se ve en la Figura 6, la aplicación maliciosa usa gráficos completamente diferentes y no parece suplantar la identidad de la aplicación legítima más allá de hacer uso del mismo nombre. En nuestra investigación, no hemos encontrado otra aplicación que utilice la misma interfaz o una interfaz similar a la aplicación maliciosa WeMessage, por lo que es posible que los atacantes hayan creado gráficos personalizados.

No sabemos cómo se distribuyó esta versión particular del software espía: la aplicación maliciosa WeMessage no estaba disponible para su descarga en la tienda de aplicaciones falsa mencionada anteriormente.

Figura 5. Gráficos utilizados por la aplicación maliciosa WeMessage

Figura 6. La aplicación legítima de weMessage en Google Play

Funcionalidad

Según nuestra investigación, el malware se hace pasar principalmente por aplicaciones de mensajería. Los atacantes podrían haber elegido este disfraz para justificar los diversos permisos solicitados por el malware.

Instalación y permisos

Antes de la instalación, Android/SpyC23.A solicita una serie de permisos invasivos, que incluyen: tomar fotografías y videos, grabar audio, leer y modificar contactos y leer y enviar SMS.

Después de la instalación, el malware solicita una serie de permisos adicionales sensibles. Para ello utiliza técnicas similares a la ingeniería social para engañar a usuarios sin experiencia técnica. Estas solicitudes de permisos adicionales hacen creer a la víctima que se trata de características de seguridad y privacidad:

  • Bajo la apariencia de "Cifrado de mensajes", la aplicación solicita permiso para leer las notificaciones del usuario.
  • Bajo la apariencia de "Mensajes privados", la aplicación solicita permiso para desactivar Play Protect.
  • Bajo la apariencia de "Video chat privado", la aplicación solicita permiso para grabar la pantalla del usuario.

Estos pasos se aprecian en el video a continuación.

 

 

 

 

 

Una vez que el malware es inicializado, en la mayoría de los casos se solicita a las víctimas que instalen manualmente la aplicación legítima utilizada como señuelo (por ejemplo, Threema), la cual es almacenada en los recursos del malware. Mientras se instala la aplicación legítima, el malware oculta su presencia en el dispositivo afectado. De esta manera, las víctimas terminan instalando una aplicación que pretendían descargar y corriendo silenciosamente en segundo plano un spyware. En algunos casos (por ejemplo, WeMessage, AndroidUpdate), las aplicaciones descargadas no tenían ninguna funcionalidad real y solo se utilizaron como cebo para lograr la instalación del spyware.

Cuando se lanza por primera vez, el malware comienza a comunicarse con su servidor de Comando y Control (C&C). Registra a la nueva víctima y envía la información del dispositivo de la víctima al C&C.

Capacidades

Según los comandos recibidos, Android/SpyC23.A puede realizar las siguientes acciones:

  • Tomar fotografías
  • Grabar audio
  • Reiniciar Wi-Fi
  • Exfiltrar registros de llamadas
  • Exfiltrar todos los mensajes SMS
  • Exfiltrar todos los contactos
  • Descargar archivos en el dispositivo
  • Eliminar archivos del dispositivo
  • Robar archivos con extensiones particulares (pdf, doc, docx, ppt, pptx, xls, xlsx, txt, text, jpg, jpeg, png)
  • Desinstalar cualquier aplicación instalada en el dispositivo
  • Robar instaladores de APK de aplicaciones instaladas en el dispositivo
  • Ocultar su icono
  • Obtener el saldo de crédito de la SIM en el dispositivo (puede obtener un saldo haciendo una llamada a tres operadores diferentes: Jawwal, Wataniya, Estisalat)

En comparación con las versiones documentadas anteriormente, las siguientes características en Android/SpyC23.A son nuevas:

  • Grabar la pantalla y realizar capturas de pantalla
  • Grabar llamadas entrantes y salientes en WhatsApp
  • Hacer una llamada mientras crea una actividad de superposición de pantalla negra (para ocultar que está realizando la llamada)
  • Leer el texto de las notificaciones de las aplicaciones de mensajería y redes sociales seleccionadas: WhatsApp, Facebook, Telegram, Instagram, Skype, Messenger, Viber, imo
  • Descartar notificaciones de aplicaciones de seguridad integradas en algunos dispositivos Android:
    • Notificaciones de SecurityLogAgent en dispositivos Samsung (el nombre del paquete contiene "securitylogagent")
    • Notificaciones de Samsung (el nombre del paquete contiene "samsung.android")
    • Notificaciones de seguridad MIUI en dispositivos Xiaomi (el nombre del paquete contiene "com.miui.securitycenter")
    • Phone Manager en dispositivos Huawei (el nombre del paquete contiene “huawei.systemmanager”)
  • Descartar sus propias notificaciones (una característica inusual, posiblemente utilizada en caso de errores o advertencias mostradas por el malware)

Comunicación con el C&C

Además de sus capacidades de espionaje, aspectos relacionados a la comunicación con el C&C por parte del malware también se actualizaron. En versiones anteriores, el C&C en uso estaba hardcodeado y disponible en texto plano o trivialmente ofuscado, por lo que era más fácil de identificar. Sin embargo, en la versión actualizada, el C&C es escondido mediante el uso de varias técnicas y el atacante puede cambiarlo de forma remota.

En esta sección, describiremos cómo Android/SpyC23.A recupera su servidor C&C.

El malware utiliza una biblioteca nativa con tres funciones. Dos de ellas devuelven etiquetas HTML de apertura y cierre para el título (title) y la tercera devuelve una string cifrada.

Figura 7. Strings devueltas desde la biblioteca nativa

La string cifrada tiene dos propósitos: la primera parte, antes del guion ("-"), se utiliza como parte de la contraseña para cifrar los archivos extraídos del dispositivo afectado. La segunda parte se decodifica primero (base64) y luego se descifra (AES). La string descifrada podría, por ejemplo, sugerir una página de perfil de Facebook para el C&C, pero aún está ofuscada.

Figura 8. URL descifrada pero aún ofuscada

Algunas de las substrings de esta string son reemplazadas en función de una simple tabla de sustitución y luego se reemplaza la parte del dominio de la aparente URL.

Figura 9. URL descifrada y desofuscada

A partir de esta URL, el malware analiza el HTML para su etiqueta title.

Figura 10. Análisis del “title” del sitio web para recuperar el servidor C&C

El último paso es reemplazar el primer espacio por un guion y el segundo por un punto. Con eso, se realiza la obtención del C&C. Este proceso permite a los operadores de malware cambiar su servidor C&C de forma dinámica.

Figura 11. Comunicación con el C&C

Los servidores de C&C del malware generalmente se hacen pasar por sitios web en mantenimiento, todos con el mismo logotipo (ver Figura 12).

Figura 12. El servidor C&C del malware

Conclusión

Nuestra investigación muestra que el grupo APT-C-23 todavía está activo, mejorando su conjunto de herramientas para móviles y ejecutando nuevas operaciones. Android/SpyC32.A, la versión del spyware más reciente del grupo, presenta varias mejoras que la convierten en una amenaza más peligrosa para las víctimas.

Para evitar ser víctimas del spyware, recomendamos a los usuarios de Android instalar únicamente aplicaciones desde de la tienda oficial de Google Play. En caso de que los usuarios no puedan seguir este consejo debido a problemas de privacidad, problemas de acceso u otras restricciones, los usuarios deberán tener especial cuidado al descargar aplicaciones de fuentes no oficiales. Recomendamos examinar al desarrollador de la aplicación, verificar los permisos solicitados y utilizar una solución de seguridad móvil confiable y actualizada.

Por cualquier consulta, contáctenos a través de la siguiente dirección de correo: threatintel@eset.com.

Indicadores de Compromiso (IoCs)

Nombres de detección de ESET

Android/SpyC23.A

Hashes

9e78e0647e56374cf9f429dc3ce412171d0b999e
344f1a9dc7f8abd88d1c94f4323646829d80c555
56f321518401528278e0e79fac8c12a57d9fa545
9e1399fede12ce876cdb7c6fdc2742c75b1add9a
6f251160c9b08f56681ea9256f8ecf3c3bcc66f8
91c12c134d4943654af5d6c23043e9962cff83c2
78dd3c98a2074a8d7b5d74030a170f5a1b0b57d4
1c89cea8953f5f72339b14716cef2bd11c7ecf9a
e79849c9d3dc87ff6820c3f08ab90e6aeb9cc216

C&Cs

https://linda-gaytan[.]website
https://cecilia-gilbert[.]com
https://david-gardiner[.]website
https://javan-demsky[.]website

URL de distribución

https://digital-apps[.]store

Técnicas de MITRE ATT&CK

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

Tactic ID Name Description
Initial Access T1444 Masquerade as Legitimate Application Android/SpyC23.A impersonates a legitimate chat application.
T1476 Deliver Malicious App via Other Means SpyC23.A can be downloaded from a malicious alternative app store.
Execution T1575 Native Code SpyC23.A uses a native method to retrieve an encrypted string to obtain its C&C.
Persistence T1402 Broadcast Receivers SpyC23.A listens for the BOOT_COMPLETED broadcast, ensuring that the app's functionality will be activated every time the device starts.
Defense Evasion T1508 Suppress Application Icon SpyC23.A hides its icon.
Discovery T1418 Application Discovery SpyC23.A retrieves a list of installed apps.
T1420 File and Directory Discovery SpyC23.A retrieves the content of the external storage directory.
T1426 System Information Discovery SpyC23.A retrieves details about the device.
Collection T1433 Access Call Log SpyC23.A exfiltrates call log history.
T1432 Access Contact List SpyC23.A exfiltrates the victim’s contact list.
T1517 Access Notifications SpyC23.A exfiltrates messages from messaging and social media apps.
T1429 Capture Audio SpyC23.A can record surroundings and calls.
T1512 Capture Camera SpyC23.A can take pictures from the front or rear cameras.
T1412 Capture SMS Messages SpyC23.A can exfiltrate sent and received SMS messages.
T1533 Data from Local System SpyC23.A steals files with particular extensions from external media.
T1513 Screen Capture SpyC23.A can take screenshots.
Command and Control T1438 Alternative Network Mediums SpyC23.A can use SMS to receive C&C messages.
T1437 Standard Application Layer Protocol SpyC23.A communicates with C&C using HTTPS and Firebase Cloud Messaging (FCM).
T1544 Remote File Copy SpyC23.A can download attacker-specified files.
Exfiltration T1532 Data Encrypted Extracted data is transmitted in password-protected ZIP files.
Impact T1447 Delete Device Data SpyC23.A can delete attacker-specified files from the device.