Investigadores de ESET descubrieron un ataque de cadena de suministro multiplataforma llevado a cabo por el grupo APT ScarCruft, alineado con Corea del Norte, dirigido a la región de Yanbian en China, hogar de una importante comunidad de etnia coreana y punto de tránsito para refugiados y desertores norcoreanos. En este ataque, probablemente activo desde finales de 2024, ScarCruft comprometió componentes para Windows y Android de una plataforma de videojuegos centrada en títulos sobre Yanbian, troyanizándolos con un backdoor.
El backdoor, denominado BirdCall por ESET, era originalmente conocido por afectar únicamente a Windows; la versión para Android fue descubierta por primera vez como parte de este ataque de cadena de suministro. En este blog post, presentamos una visión general del ataque, junto con el primer análisis público del backdoor en Android.
Puntos clave de este blogpost:
- El grupo APT ScarCruft, alineado con Corea del Norte, comprometió una plataforma de videojuegos utilizada por la comunidad coreana en la región de Yanbian, China.
- El cliente Windows de la plataforma fue comprometido mediante una actualización maliciosa que derivó en el backdoor RokRAT, el cual posteriormente desplegó el backdoor BirdCall.
- Juegos Android disponibles en la plataforma fueron troyanizados para incluir la versión Android del backdoor BirdCall, una nueva herramienta en el arsenal de ScarCruft.
- El objetivo de la campaña es el espionaje, con capacidades para recolectar datos personales y documentos, tomar capturas de pantalla y realizar grabaciones de audio.
Perfil de Scarcruft
ScarCruft, también conocido como APT37 o Reaper, ha estado activo al menos desde 2012 y se sospecha que es un grupo de ciberespionaje vinculado a Corea del Norte. Su foco principal ha sido Corea del Sur, aunque también ha dirigido ataques a otros países de Asia. El grupo tiende a enfocarse en organizaciones gubernamentales y militares, así como en empresas de diversos sectores alineados con los intereses norcoreanos. También ha dirigido operaciones contra desertores norcoreanos, como se observa en esta investigación.
Backdoor BirdCall
Versión para Windows
BirdCall es un backdoor para Windows desarrollado en C++ que ESET identificó en 2021 y atribuyó a ScarCruft en el marco de ESET Threat Intelligence
Este backdoor cuenta con amplias capacidades de espionaje, incluyendo captura de pantalla, registro de teclas y contenido del portapapeles, robo de credenciales y archivos, y ejecución de comandos en el sistema. Para la comunicación con C&C, utiliza servicios legítimos de almacenamiento en la nube como Dropbox o pCloud, así como sitios web comprometidos. BirdCall suele desplegarse mediante una cadena de carga multietapa, iniciada con scripts en Ruby o Python y con componentes cifrados mediante claves específicas del equipo. La versión inicial fue descrita públicamente en 2021 como una evolución avanzada de RokRAT (S2W, AhnLab).
Versión para Android
La versión Android de BirdCall, detectada en este ataque, implementa un subconjunto de las funcionalidades presentes en Windows: recolección de contactos, SMS, registros de llamadas, documentos, archivos multimedia y claves privadas. También puede realizar capturas de pantalla y grabar audio ambiental.
Según nuestra investigación, BirdCall para Android fue desarrollado activamente durante varios meses. Se identificaron siete versiones, desde la versión 1.0 (octubre de 2024) hasta la 2.0 (junio de 2025).
Descubrimiento
La investigación comenzó con un APK sospechoso encontrado en VirusTotal. El análisis inicial confirmó que se trataba de un archivo malicioso con un backdoor.
El APK resultó ser un juego de cartas troyanizado llamado 延边红十 (traducción automática: Yanbian Red Ten), que rastreamos hasta su sitio web oficial, https://www.sqgame[.]net. sqgame es una plataforma de juegos orientada a personas de Yanbian y ofrece juegos tradicionales de la región para Windows, Android e iOS. Los usuarios pueden competir en juegos de cartas y de mesa (ver Figura 1) con amigos o participar en torneos organizados.
Sorprendentemente, el APK disponible para descarga en el sitio oficial es el mismo que encontramos inicialmente en VirusTotal. Además, un segundo juego Android (新画图, traducción automática: New Drawing) disponible en sqgame también estaba troyanizado con el mismo backdoor. Análisis adicional reveló que el backdoor es un port para Android del backdoor BirdCall del grupo ScarCruft.
El enlace al cliente de escritorio Windows en el sitio de sqgame dirige a un instalador de hace varios años que parece limpio. Sin embargo, tras la instalación descarga actualizaciones; durante nuestro análisis no identificamos código malicioso en esa etapa inicial.
Al profundizar en la telemetría de ESET, identificamos una biblioteca mono.dll troyanizada, originada en un paquete de actualización del cliente de escritorio. La telemetría muestra que este paquete era malicioso al menos desde noviembre de 2024, durante un periodo desconocido. Al momento de redactar este artículo, ya no era malicioso.
También analizamos el juego para iOS disponible en el sitio y no encontramos código malicioso. Creemos que ScarCruft omitió esta plataforma, debido a la mayor dificultad de troyanizar y distribuir aplicaciones en iOS, posiblemente por el proceso de revisión de Apple.
Victimología
Dado que el sitio comprometido está dirigido a personas de Yanbian y sus juegos tradicionales, inferimos que los principales objetivos son personas de etnia coreana que viven en esta región. La Prefectura Autónoma Coreana de Yanbian es una región de China que limita con Corea del Norte y alberga la mayor comunidad coreana fuera de Corea.
En este contexto, consideramos probable que el ataque estuviera orientado a recolectar información sobre individuos ubicados en Yanbian (o provenientes de allí) considerados de interés para el régimen norcoreano, probablemente refugiados o desertores.
Descripción del ataque
Android
Dos de los juegos Android disponibles en el sitio web de sqgame fueron encontrados troyanizados para contener el backdoor BirdCall. La página de descarga disponible en https://www.sqgame[.]net/games/gamedownload.aspx se muestra en la Figura 2, con los botones de descarga de los dos juegos troyanizados resaltados en rojo. El tercer juego Android disponible estaba limpio en el momento de nuestro análisis.
Encontramos evidencia de que las víctimas descargaron los juegos troyanizados a través de un navegador web en sus dispositivos y probablemente los instalaron de forma intencional. No hemos identificado otras ubicaciones desde donde se distribuyeran los APK. Tampoco encontramos los APK maliciosos en la tienda oficial Google Play.
No pudimos determinar cuándo el sitio web fue comprometido por primera vez ni cuándo comenzó el ataque de cadena de suministro. Sin embargo, sobre la base de nuestro análisis del malware desplegado, estimamos que ocurrió a finales de 2024.
La Tabla 1 muestra las URLs de hosting de los dos archivos APK troyanizados, junto con los hashes de los archivos servidos en el momento del descubrimiento. Al momento de la redacción de este artículo, los archivos maliciosos seguían disponibles en el sitio web de sqgame. Notificamos a sqgame sobre el compromiso en diciembre de 2025, pero no hemos recibido respuesta.
Tabla 1. Muestras maliciosas
| Time of discovery | URL | SHA‑1 | Description |
| 2025-10 | http://sqgame.com |
03E3ECE9F48CF4104AAF |
Trojanized game with the BirdCall |
| 2025-10 | http://sqgame.com |
FC0C691DB7E2D2BD3B0B |
Trojanized game with the BirdCall |
Windows
Si bien el cliente de escritorio Windows disponible en el sitio de sqgame no contenía código malicioso cuando lo analizamos, posteriormente identificamos una librería mono.dll troyanizada, originada a partir de un paquete de actualización del cliente de escritorio alojado en la URL http://xiazai.sqgame.com[.]cn/dating/20240429.zip. La telemetría de ESET muestra que este paquete de actualización había sido malicioso al menos desde noviembre de 2024, durante un periodo desconocido; sin embargo, al momento de la redacción, este paquete ya no era malicioso.
ScarCruft tomó una biblioteca mono legítima y la parcheó con código y datos adicionales, que contenían un downloader. Este downloader primero verifica los procesos en ejecución en busca de herramientas de análisis y entornos de máquinas virtuales, y no continúa si detecta alguno. De lo contrario, busca el proceso del cliente de sqgame y construye la ruta hacia la biblioteca mono dentro de su carpeta de instalación.
A continuación, descarga y ejecuta shellcode, que al momento del descubrimiento contenía el backdoor RokRAT. Finalmente, el downloader finaliza el proceso del cliente y descarga la versión original limpia de la biblioteca mono, reemplazando la versión troyanizada en la carpeta de instalación del cliente. Tanto el payload como la biblioteca mono limpia son descargados desde sitios web legítimos de Corea del Sur que fueron comprometidos para este propósito, una TTP típica de ScarCruft.
De acuerdo con nuestra telemetría, el backdoor RokRAT fue posteriormente utilizado para descargar e instalar el backdoor BirdCall en los equipos comprometidos.
Análisis de Android BirdCall
En esta sección, ofrecemos un análisis técnico del backdoor Android BirdCall, una adaptación para Android del backdoor homónimo para Windows escrito en C++. Internamente, el backdoor se llama zhuagou, que puede traducirse (del chino) como "atrapar perros".
Juegos Android troyanizados
Android BirdCall se distribuye a través de juegos Android troyanizados. En el ataque descrito en este artículo, creemos que ScarCruft no obtuvo acceso al código fuente del juego, sino únicamente al sitio web o servidor de sqgame, y tomó los APK originales para recompilarlos o reempaquetarlos agregando código malicioso.
En los APK troyanizados, la actividad de entrada definida en AndroidManifest.xml es modificada y apunta al código malicioso agregado, el cual, tras iniciar el backdoor, ejecuta la actividad de entrada original del juego.
En las muestras analizadas, la actividad de entrada modificada era com.example.zhuagou.SplashScreen o com.mob.util.MobSs (en la muestra más reciente). Las modificaciones al AndroidManifest.xml también incluyen nuevas definiciones de actividades y servicios para el backdoor, así como permisos adicionales requeridos para su funcionamiento. En la Figura 3 se muestra una comparación de los paquetes entre el juego legítimo y su versión troyanizada.
Dado que el backdoor BirdCall para Android forma parte de una aplicación troyanizada instalada en el sistema, no se inicia automáticamente después de la instalación ni tras reiniciar el dispositivo; en su lugar, depende de la ejecución por parte del usuario.
Configuración
Android BirdCall contiene una configuración predeterminada, que se inicializa en la primera ejecución. La configuración utiliza formato JSON y se persiste en un archivo. En ejecuciones posteriores se carga el archivo de configuración existente, y la configuración puede modificarse mediante comandos del backdoor. Un ejemplo de configuración formateada se muestra en la Figura 4.
{
"bi": "E823D451D636D0A0",
"skey": "A8FE823D451D636D0A0366C0629EF5C3##@(()(#@",
"si": "20251105141404",
"rft": 20000,
"fst": true,
"kill": false,
"log": true,
"ctm": 10000,
"scr": false,
"rec": false,
"cmd": 0,
"data": 1,
"bd_version": 37,
"extentions": ".jpg;.doc;.docx;.xls;.xlsx;.ppt;.pptx;.txt;.hwp;.pdf;.m4a;.p12;",
"cloud": [
{
"ct": 9,
"idx": 28,
"cid": "1000.2IGB56IS1FHQ1V332R[redacted]",
"cst": "fa7ec5c8b050[redacted]",
"rt": "1000.a7fc479e[redacted]",
"at": "empty",
"fid": "8mwe5bbc0a2759839401f813968808a2f36a6",
"dm": "",
"use": 0
},
[redacted]
]
}
Figura 4. Ejemplo de configuración de BirdCall para Android
La entrada de configuración bd_version codifica la versión del backdoor, almacenada como MAJOR << 5 | MINOR, por lo que el valor 37 corresponde a la versión 1.5.
Android BirdCall contiene una configuración por defecto, que se inicializa en la primera ejecución. La configuración utiliza el formato JSON y se guarda en un archivo. Las ejecuciones posteriores cargan el archivo de configuración existente, y la configuración puede modificarse mediante comandos backdoor. Un ejemplo de una configuración formateada se muestra en la Figura 4.
La entrada de configuración bd_version codifica la versión del backdoor, almacenada como MAJOR << 5 | MINOR, por lo que el valor 37 corresponde a la versión 1.5.
El archivo de configuración persistente se almacena en el directorio de datos de la aplicación y tiene una ruta específica por dispositivo. Además, durante la inicialización de la configuración, la configuración predeterminada de unidades de almacenamiento en la nube hardcodeada en la muestra puede ser sobrescrita por una fuente externa. Si está disponible, el backdoor descarga una imagen JPG que contiene una configuración de nube cifrada incrustada en su overlay. La imagen suele estar alojada en un sitio web surcoreano comprometido.
Comunicación C&C
Android BirdCall utiliza servicios de almacenamiento en la nube para la comunicación C&C, de forma similar a la versión para Windows. En las muestras analizadas, se admiten tres proveedores cloud: pCloud, Yandex Disk y Zoho WorkDrive, aunque únicamente se utiliza Zoho WorkDrive. El backdoor se comunica vía HTTPS, enviando solicitudes a los endpoints de API del proveedor correspondiente utilizando la librería okhttp3.
Durante nuestra investigación, observamos 12 unidades de Zoho WorkDrive utilizadas por el backdoor Android BirdCall con fines de C&C. Los detalles de las cuentas asociadas se muestran en la Tabla 2.
Tabla 2. Cuentas Zoho WorkDrive de Android BirdCall
| client_id | display_name | |
| 1000.AJUEYDUIQQ5G |
tomasalfred37 | tomasalfred37@zohomail[.]com |
| 1000.INXKBHQ3698C |
kalimaxim279 | kalimaxim279@zohomail[.]com |
| 1000.FYRJ46E75TUY |
Smith Bentley | smithbentley0617@zohomail[.]com |
| 1000.8QU6D2LJZ3RC |
Mic haelLarrow19 | michaellarrow19@zohomail[.]com |
| 1000.NT1QEE7V73IH |
dsf sdf | amandakurth94@zohomail[.]com |
| 1000.SKXUYYKYL06F |
dsf sdf | rexmedina89@zohomail[.]com |
| 1000.7BMBOS8GV1ZR |
dsf dsf | alishaross751@zohomail[.]com |
| 1000.V0J0QN7SJ2N7 |
sdf sdf | jamesdeeds385@zohomail[.]com |
| 1000.2IGB56IS1FHQ |
asdf sdaf | joyceluke505@zohomail[.]com |
| 1000.W4V2XMB83C6V |
dfsd sdf | marjoriemiller280@zohomail[.]com |
| 1000.LIUBF67S89H0 |
Bill Jackson | teresadaniels200@zohomail[.]com |
| 1000.8BLOFSFU4WOF |
Zoe Jack | michaelgiesen62@zohomail[.]com |
Capacidades
Android BirdCall cuenta con un mecanismo de actualización: una versión más reciente puede cargarse desde un archivo de actualización, que se espera esté en formato APK dentro del directorio de datos de la aplicación, y cuya descarga se activa mediante el comando MP_SEND_FILE.
Después del procedimiento de actualización opcional, se inicia la actividad original del juego para no generar sospechas. A continuación, el backdoor verifica y espera la disponibilidad de conexión a Internet antes de continuar con su operación principal.
Recolección de datos
En la primera ejecución, el backdoor recopila un listado completo de directorios del almacenamiento externo compartido principal del dispositivo, así como datos del usuario que incluyen la lista de contactos, el registro de llamadas y los mensajes SMS.
El backdoor se comunica periódicamente con el C&C y carga información básica, que incluye:
- valores de identificador de configuración y hora actual,
- temperatura de la batería, RAM e información de almacenamiento, configuración de la nube, versión del backdoor y extensiones de archivos de interés,
- información de geolocalización IP de https://ipinfo[.]io/json, y
- en la primera ejecución, se incluye información adicional sobre el dispositivo, la red y la aplicación
○marca, modelo, SO, kernel y estado del root,
○ número IMEI, dirección IP, dirección MAC y tipo de red, y
○ paquete de aplicaciones y permisos.
El backdoor puede tomar capturas de pantalla de forma periódica (flag scr). En algunas versiones, observamos el uso de una técnica que reproduce un archivo MP3 silencioso en bucle mientras se toman capturas, con el objetivo de evitar que la aplicación troyanizada sea suspendida durante su ejecución en segundo plano.
En algunas versiones, el backdoor puede grabar audio a través del micrófono y espiar el entorno del dispositivo comprometido. Curiosamente, incluso cuando la grabación está habilitada (flag rec), está limitada a un período de tres horas por la noche, de 19:00 a 22:00 hora local.
El backdoor busca periódicamente en el almacenamiento externo compartido archivos con extensiones de interés (extentions) y los prepara para su exfiltración. En las muestras analizadas, la exfiltración estaba orientada a archivos multimedia, documentos y claves privadas: .jpg, .doc, .docx, .xls, .xlsx, .ppt, .pptx, .txt, .hwp, .pdf, .m4a y .p12.
Comandos
Android BirdCall verifica periódicamente la unidad de almacenamiento en la nube en busca de comandos emitidos para la víctima. Los comandos descifrados comienzan con el valor mágico DWORD 0x2A7B4C33, y este valor coincide con el de la versión Windows de BirdCall. Los comandos tienen cero o más parámetros, dependiendo de su tipo. La Tabla 3 muestra una descripción general de los comandos soportados junto con sus descripciones para ambas plataformas.
La versión Android del backdoor implementa solo un subconjunto de los comandos disponibles en la versión Windows.
Tabla 3. Comandos del backdoor BirdCall
| Type | Name | Android description | Windows description |
| 0x48 | MP_SET_FILESEARCH_EXTENTION | Sets file extensions of interest in the configuration. | |
| 0x49 | MP_SET_THREADS | Toggles screenshot taking and voice recording. | Includes additional capabilities such as clipboard stealing and keylogging. |
| 0x4A | MP_SET_CLOUD | Sets cloud API credentials in the configuration. | |
| 0x4B | MP_SET_REGISTER_FILE_CONTROL | N/A | Modifies filter used during file search. |
| 0x4C | MP_SET_MODE | Toggles collection of the backdoor execution logs. | Toggles various collection-related flags. |
| 0x4D | MP_ACTION_KILLME | Disables the backdoor. The original game continues working. | Uninstalls the backdoor and exits. |
| 0x4E | MP_ACTION_KILLPROCESS | N/A | Uses the taskkill utility to kill a process. |
| 0x4F | MP_ACTION_FILE_OR_DIRECTORY | Supports upload of a specified file or directory. | Supports multiple file and directory operations: delete, rename, open, and upload. |
| 0x50 | MP_ACTION_DOWNLOAD_COMMAND | N/A | Downloads and executes commands from a URL or cloud drive. |
| 0x51 | MP_ACTION_RESET_WORKDIRECTORIES | N/A | Can delete working directories used by the backdoor. |
| 0x52 | MP_ACTION_EXECUTE_SIMPLE_COMMAND | N/A | Can restart the backdoor and execute a command via cmd.exe. |
| 0x53 | MP_ACTIONS_MORE | N/A | Can perform three operations: · Delete persisted configuration. · Enable macros in Word (Microsoft and Hancom Office). · Restart the backdoor. |
| 0x54 | MP_ACTION_SHELL | N/A | Starts shell (based on WCMD). |
| 0x55 | MP_ACTION_WEBSCAN | N/A | Performs HTTP scan of specified hosts/ports. |
| 0x56 | MP_GET_DATA | Can obtain: · contacts, call logs, and SMS messages, · full directory listing of the primary shared external storage, and · basic information. |
Can obtain: · backdoor configuration and various system information, · credentials from browsers and other software, · files from IM apps – KakaoTalk, WeChat, and Signal, · camera photos, and · directory listing. |
| 0x57 | MP_GET_TREES | Retrieves directory listing. | |
| 0x59 | MP_SEND_FILE | Supports backdoor updating. | Supports dropping of a file to a specified location, dropping and execution of additional executables, and updating of the backdoor. |
| 0x5A | MP_SEND_SHELL | N/A | Executes shell commands. |
| 0x5C | MP_SET_PROXY | N/A | Connects to a specified <ip>:<port> and forwards traffic from/to the C&C server, acting as a proxy. |
Un volcado que contiene la versión Windows de BirdCall, muy similar a la observada en este ataque y que incluye todos los comandos mencionados anteriormente, puede encontrarse en VirusTotal con el SHA‑1 B06110E0FEB7592872E380B7E3B8F77D80DD1108. La muestra fue subida desde China el 15 de julio de 2024.
Conclusión
Hemos descubierto un ataque de cadena de suministro multiplataforma dirigido a la región de Yanbian a través de una plataforma de videojuegos comprometida. Al analizar los juegos Android troyanizados en la plataforma, identificamos una nueva herramienta en el arsenal de ScarCruft: una versión Android del backdoor BirdCall del grupo. El backdoor para Android ha mostrado desarrollo activo y proporciona capacidades de vigilancia, como la recolección de datos personales y documentos, la toma de capturas de pantalla y la grabación de audio.
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
Puede encontrar una lista completa de indicadores de compromiso (IoC) y muestras en nuestro repositorio de GitHub.
Archivos
| SHA-1 | Filename | Detection | Description |
| 01A33066FBC6253304C9 |
sqybhs.apk | Android/Spy.Agent.EXM | Trojanized game with Android BirdCall version 2.0. |
| 03E3ECE9F48CF4104AAF |
ybht.apk | Android/Spy.Agent.EGE | Trojanized game with Android BirdCall version 1.3. |
| 2B81F78EC4C3F8D6CF8F |
sqybhs.apk | Android/Spy.Agent.EGE | Trojanized game with Android BirdCall version 1.5. |
| 59A9B9D47AE36411B277 |
ybht.apk | Android/Spy.Agent.EGE | Trojanized game with Android BirdCall version 1.0. |
| 7356D7868C81499FB4E7 |
sqybhs.apk | Android/Spy.Agent.EGE | Trojanized game with Android BirdCall version 1.0. |
| FC0C691DB7E2D2BD3B0B |
sqybhs.apk | Android/Spy.Agent.EGE | Trojanized game with Android BirdCall version 1.5. |
| 95BDB94F6767A3CCE6D9 |
mono.dll | Win32/TrojanDownloader |
Trojanized mono library. |
| 409C5ACAED587F62F7E2 |
N/A | Win32/TrojanDownloader |
Downloader leading to the RokRAT backdoor. |
| B06110E0FEB7592872E3 |
N/A | Win64/Agent.EGN | Publicly available dump of Windows BirdCall backdoor. |
Red
| IP | Domain | Hosting provider | First seen | Details |
| 39.106.249[.]68 | sqgame.com[.]cn | Hangzhou Alibaba Advertising Co.,Ltd. | 2024‑06‑01 | Compromised sqgame site hosting trojanized games and malicious updates. |
| 211.239.117[.]117 | 1980food.co[.]kr | Hostway IDC | 2025‑03‑07 | Compromised South Korean site used to host Android BirdCall configuration. |
| 114.108.128[.]157 | inodea[.]com | LG DACOM Corporation | 2025‑07‑03 | Compromised South Korean site used to host Android BirdCall configuration. |
| 221.143.43[.]214 | www.lawwell.co[.]kr | SK Broadband Co Ltd | 2024‑11‑04 | Compromised South Korean site used to host shellcode and clean mono library. |
| 222.231.2[.]20 | colorncopy.co[.]kr swr.co[.]kr |
LG DACOM Corporation | 2025‑03‑18 | Compromised South Korean site used to host shellcode. |
| 222.231.2[.]23 | sejonghaeun[.]com | IP Manager | 2025‑03‑18 | Compromised South Korean site used to host clean mono library. |
| 222.231.2[.]41 | cndsoft.co[.]kr | IP Manager | 2025‑03‑18 | Compromised South Korean site used to host shellcode. |
Técnicas ATT&CK de MITRE
Esta tabla se ha elaborado utilizando la versión 18 del marco MITRE ATT&CK Enterprise.
| Tactic | ID | Name | Description |
| Resource Development | T1584.004 | Compromise Infrastructure: Server | ScarCruft compromised South Korean websites to host payloads and configurations. ScarCruft compromised the sqgame website to perform a supply-chain attack. |
| T1585.003 | Establish Accounts: Cloud Accounts | ScarCruft created Zoho WorkDrive accounts and used their cloud storage drives for C&C purposes. | |
| T1587.001 | Develop Capabilities: Malware | ScarCruft developed the Android version of the BirdCall backdoor. | |
| T1608.001 | Stage Capabilities: Upload Malware | ScarCruft uploaded trojanized games to the compromised sqgame website. | |
| Initial Access | T1195.002 | Supply Chain Compromise: Compromise Software Supply Chain | ScarCruft compromised an sqgame update server to distribute malicious updates. |
| Execution | T1059.003 | Command and Scripting Interpreter: Windows Command Shell | BirdCall can execute shell commands. |
| Defense Evasion | T1027.013 | Obfuscated Files or Information: Encrypted/Encoded File | BirdCall has encrypted strings and loading chain components. The trojanized mono library contains encrypted shellcode. |
| T1070.004 | Indicator Removal: File Deletion | The trojanized mono library is replaced with a clean one. | |
| T1112 | Modify Registry | BirdCall can modify settings of word processors to enable macros. | |
| T1140 | Deobfuscate/Decode Files or Information | BirdCall decrypts strings and loading chain components. | |
| T1480.001 | Execution Guardrails: Environmental Keying | BirdCall’s loading chain has components encrypted with a computer-specific key. | |
| T1497 | Virtualization/Sandbox Evasion | The downloader in the trojanized mono library checks for analysis tools and virtual machine environments. | |
| Credential Access | T1555 | Credentials from Password Stores | BirdCall can obtain saved passwords from browsers and other software. |
| Discovery | T1046 | Network Service Discovery | BirdCall can scan a range of IPs and ports with an HTTP GET request. |
| T1082 | System Information Discovery | BirdCall can obtain various system information. | |
| T1083 | File and Directory Discovery | BirdCall can obtain information about drives and directories. | |
| Collection | T1005 | Data from Local System | BirdCall can collect user files from IM clients KakaoTalk, WeChat, and Signal. |
| T1056.001 | Input Capture: Keylogging | BirdCall can log keystrokes. | |
| T1113 | Screen Capture | BirdCall can capture screenshots. | |
| T1115 | Clipboard Data | BirdCall can collect clipboard contents. | |
| T1119 | Automated Collection | BirdCall can periodically collect files with certain extensions from local and removable drives. | |
| T1125 | Video Capture | BirdCall can capture a webcam photo. | |
| T1560 | Archive Collected Data | BirdCall compresses and encrypts collected data before exfiltration. | |
| Command and Control | T1071.001 | Application Layer Protocol: Web Protocols | BirdCall uses HTTP to communicate with cloud storage services. |
| T1090 | Proxy | BirdCall can act as a proxy. | |
| T1102.002 | Web Service: Bidirectional Communication | BirdCall communicates with cloud storage services to download commands and exfiltrate data. | |
| Exfiltration | T1020 | Automated Exfiltration | BirdCall periodically exfiltrates collected data. |
| T1041 | Exfiltration Over C2 Channel | BirdCall exfiltrates data to its C&C server. | |
| T1567.002 | Exfiltration Over Web Service: Exfiltration to Cloud Storage | BirdCall exfiltrates data to cloud storage services. |
Esta tabla se ha creado utilizando la versión 18 del marco MITRE ATT&CK Mobile.
| Tactic | ID | Name | Description |
| Initial Access | T1474.003 | Supply Chain Compromise: Compromise Software Supply Chain | ScarCruft performed a supply-chain attack, compromising the sqgame website, to distribute trojanized games containing the Android BirdCall backdoor. |
| Defense Evasion | T1406 | Obfuscated Files or Information | Version 2.0 of the Android BirdCall backdoor is obfuscated. |
| T1407 | Download New Code at Runtime | The Android BirdCall backdoor can download and load newer versions of itself. | |
| T1541 | Foreground Persistence | Android BirdCall uses the startForeground API to take screenshots while in the background. | |
| Discovery | T1420 | File and Directory Discovery | Android BirdCall creates a directory listing and searches for files with specified extensions. |
| T1422 | Local Network Configuration Discovery | Android BirdCall obtains the device’s IMEI, IP address, and MAC address. | |
| T1426 | System Information Discovery | Android BirdCall obtains system information of the compromised device including brand, model, OS version, kernel version, rooted status, battery temperature, RAM, and storage information. | |
| Collection | T1532 | Archive Collected Data | Android BirdCall compresses and encrypts collected data. |
| T1429 | Audio Capture | Android BirdCall can record voice using the microphone. | |
| T1430 | Location Tracking | Android BirdCall obtains approximate device location using the ipinfo[.]io service. | |
| T1513 | Screen Capture | Android BirdCall can take screenshots. | |
| T1533 | Data from Local System | Android BirdCall collects local files with the following extensions: .jpg, .doc, .docx, .xls, .xlsx, .ppt, .pptx, .txt, .hwp, .pdf, .m4a, and .p12. | |
| T1636.002 | Protected User Data: Call Log | Android BirdCall collects the call log. | |
| T1636.003 | Protected User Data: Contact List | Android BirdCall collects the contact list. | |
| T1636.004 | Protected User Data: SMS Messages | Android BirdCall collects SMS messages. | |
| Command and Control | T1437.001 | Application Layer Protocol: Web Protocols | Android BirdCall communicates with the C&C cloud storage drive using HTTPS. |
| T1481.002 | Web Service: Bidirectional Communication | Android BirdCall uses a Zoho WorkDrive service cloud storage drive for C&C purposes. | |
| Exfiltration | T1646 | Exfiltration Over C2 Channel | Android BirdCall uses the C&C channel for data exfiltration. |





