En este blogpost, ofrecemos un análisis técnico de CloudScout, un conjunto de herramientas post-compromiso utilizado por Evasive Panda para atacar una entidad gubernamental y una organización religiosa en Taiwán entre 2022 y 2023. El conjunto de herramientas CloudScout es capaz de recuperar datos de varios servicios en la nube aprovechando las cookies de sesión web robadas. A través de un complemento, CloudScout funciona a la perfección con MgBot, el marco de malware de firma de Evasive Panda.

Puntos clave de este blogpost:
  • El conjunto de herramientas CloudScout fue detectado en Taiwán, entre 2022 y 2023, en la red de una institución religiosa y en una entidad gubernamental.
  • CloudScout utiliza cookies robadas, proporcionadas por plugins de MgBot, para acceder y exfiltrar datos almacenados en varios servicios en la nube.
  • Analizamos tres módulos de CloudScout, cuyo objetivo es robar datos de Google Drive, Gmail y Outlook. Creemos que existen al menos siete módulos adicionales.
  • Los campos codificados en las solicitudes web de CloudScout para robar mensajes de correo electrónico de Outlook sugieren que las muestras en cuestión se diseñaron para usuarios taiwaneses.
  • Cada módulo de CloudScout, programado en C#, se despliega mediante un complemento de MgBot, programado en C++.

Perfil de Evasive Panda

Evasive Panda (también conocido como BRONZE HIGHLAND, Daggerfly o StormBamboo) es un grupo APT alineado con China, que opera al menos desde 2012. El objetivo de Evasive Panda es el ciberespionaje contra países y organizaciones que se oponen a los intereses de China a través de movimientos independentistas como los de la diáspora tibetana, instituciones religiosas y académicas en Taiwán y en Hong Kong, y partidarios de la democracia en China. En ocasiones también hemos observado que sus operaciones de ciberespionaje se extienden a países como Vietnam, Myanmar y Corea del Sur.

Evasive Panda ha acumulado una impresionante lista de vectores de ataque. Hemos visto a sus operadores llevar a cabo sofisticados TTP, como ataques a la cadena de suministro y a las charcas, y secuestros de DNS; además, han abusado de los últimos CVE que afectan a Microsoft Office, Confluence y aplicaciones de servidor web. El grupo también demuestra una gran capacidad para el desarrollo de malware, que se pone de manifiesto en su amplia colección de puertas traseras multiplataforma para Windows, macOS y Android. Para Windows, sus herramientas más utilizadas son MgBot (desde 2012; un marco de malware personalizado que consta de un implante principal y ocho plugins conocidos actualmente, como se detalla en nuestro blog de WLS) y el más reciente Nightdoor (descrito en otro blog de WLS; un backdoor rico en funciones que utiliza servicios de nube pública para las comunicaciones de C&C).

Resumen

A principios de 2023, detectamos que Evasive Panda desplegaba tres módulos .NET desconocidos hasta entonces (denominados internamente CGD, CGM y COL) en una entidad gubernamental de Taiwán. Estos módulos están diseñados para acceder a servicios públicos en la nube como Google Drive, Gmail y Outlook mediante el secuestro de sesiones web autenticadas. Esta técnica se basa en el robo de cookies de la base de datos de un navegador web y su posterior uso en un conjunto específico de solicitudes web para obtener acceso a los servicios en la nube. A diferencia de las credenciales robadas, que pueden ser bloqueadas por funciones de seguridad como la autenticación de dos factores (2FA) y el rastreo de IP, las cookies de sesión web robadas permiten al atacante recuperar datos almacenados en la nube, directamente desde la máquina de la víctima. En 2023, Google publicó el proyecto Device Bound Session Credentials (DBSC) en GitHub y, en 2024, la función App-Bound Encryption en la actualización 127 de Chrome. Se trata de medidas de protección contra el malware de robo de cookies, como CloudScout, y podrían dejar obsoleto este conjunto de herramientas.

Un análisis más detallado del código de los tres módulos revela un marco de desarrollo subyacente, cuyo nombre en código es CloudScout. En este blogpost, ofrecemos un análisis detallado de este marco modular programado en C#. Hasta donde sabemos, el conjunto de herramientas CloudScout no ha sido documentado públicamente con anterioridad.

Victimología

Según la telemetría de ESET, CloudScout fue observado en dos incidentes dirigidos a Taiwán:

  • En mayo de 2022, la red de una institución religiosa taiwanesa fue comprometida con MgBot y Nightdoor. En este incidente, MgBot se utilizó para instalar un complemento que despliega un módulo CloudScout.
  • En febrero de 2023, se detectaron módulos CloudScout y el implante Nightdoor en lo que sospechamos que es una entidad gubernamental taiwanesa.

Además, encontramos en algunas peticiones HTTP hardcoded la inclusión de Taipei Standard Time como zona horaria y zh-CN como paquete de idioma (como se muestra en la Figura 1). Ambos sugieren que estas muestras fueron creadas para dirigirse a usuarios taiwaneses.

Figure 1. HTTP request from COL to Outlook Web Access
Figura 1. Petición HTTP de COL a Outlook Web

Análisis técnico

CloudScout es un marco de malware .NET que consta de varios módulos dirigidos a diferentes servicios en la nube. El nombre CloudScout tiene su origen en las rutas PDB de los módulos obtenidos:

  • E:\project\git_new\MProjects\Code\CloudScout\GoogleDriver\CGD\obj\Debug\CGD.pdb
  • E:\project\git_new\MProjects\Code\CloudScout\Gmail\CGM\obj\Debug\CGM.pdb
  • E:\project\git_new\MProjects\Code\CloudScout\Outlook\COL\obj\Debug\COL.pdb

También hemos encontrado menciones a otros siete módulos del framework (ver la sección CommonUtilities: El corazón de CloudScout); en el momento de escribir esto, todavía no los hemos observado desplegados en máquinas comprometidas, lo que sugiere que los atacantes los despliegan de forma selectiva. En total, la lista completa de módulos de CloudScout es:

  • CGD
  • CGM
  • COL
  • CTW
  • CFB
  • GMQ
  • MEXC
  • CEXC
  • CZI
  • CNE

Basándonos en la convención de nomenclatura (por ejemplo, el módulo dirigido a Google Drive se llama CGD, el dirigido a Gmail CGM y el dirigido a Outlook COL), deducimos que CTW y CFB posiblemente estén dirigidos a Twitter y Facebook. Sin embargo, la finalidad de otros módulos sigue siendo indeterminada.

Calendario de desarrollo

El valor del campo AssemblyCopyright, Copyright © 2020, en el manifiesto .NET de los módulos CloudScout, como se ve en la figura 2, sugiere que el conjunto de herramientas CloudScout podría haberse desarrollado en torno a 2020. Aunque la legitimidad del manifiesto .NET es cuestionable, es coherente en todas las muestras que encontramos. Además, las diferentes versiones indicadas en el AssemblyVersion de CGD y CGM reflejan los cambios añadidos a su base de código.

Figure 2. Manifest of CGD module
Figura 2. Manifiesto del módulo CGD

También encontramos diferentes versiones del paquete de librerías internas a medida CommonUtilities. La Tabla 1 muestra diferentes versiones de CGD, CGM y COL que contienen diferentes versiones de CommonUtilities.

Tabla 1. Versiones de los módulos CloudScout Versiones de los módulos CloudScout

Module Version SHA-1 CommonUtilities version
CGD 1.0.11 67028AEB095189FDF18B2D7B775B62366EF224A9 1.0.08
1.0.14 B3556D1052BF5432D39A6068CCF00D8C318AF146 1.0.10
1.0.17 84F6B9F13CDCD8D9D15D5820536BC878CD89B3C8 1.0.11
CGM 1.0.11 4A5BCDAAC0BC315EDD00BB1FCCD1322737BCBEEB 1.0.08
1.0.13 C058F9FE91293040C8B0908D3DAFC80F89D2E38B 1.0.10
1.0.14 621E2B50A979D77BA3F271FAB94326CCCBC009B4 1.0.11
COL 1.0.10 93C1C8AD2AF64D0E4C132F067D369ECBEBAE00B7 1.0.08

Suponiendo que el manifiesto .NET sea exacto, sólo en 2020 observamos tres nuevos conjuntos de herramientas de Evasive Panda. Los otros dos casos son la primera aparición de Nightdoor y una nueva variante UDP de MgBot (que sucede a la variante UDT).

Perro viejo, trucos nuevos

A partir de una clave de cifrado RC4 común compartida por los tres módulos, realizamos una búsqueda retrospectiva y descubrimos que CGM era desplegado por un plugin de MgBot llamado Gmck.dll, programado en C++. El complemento se detectó en un incidente ocurrido en 2022, en el que dos máquinas de la institución religiosa de Taiwán antes mencionada se vieron comprometidas por Evasive Panda. En ese incidente (ilustrado en la Figura 3), MgBot instaló el módulo CGM, que a su vez accedió a la cuenta de Gmail de la víctima para descargar correos electrónicos e información personal.

Figure 3. Compromise chain
Figura 3. Cadena de compromiso observada en la mencionada red de una institución religiosa de Taiwán

Gmck.dll (al que nos referiremos como Gmck) lleva el módulo .NET CGM dentro de su binario. Para ejecutar CGM, Gmck primero deposita el módulo en el disco en una ruta codificada, luego inicia el tiempo de ejecución del lenguaje común (CLR) utilizando ICLRMetaHost e ICLRRuntimeHost. Finalmente, llama a ExecuteInDefaultAppDomain con una referencia a la función de punto de entrada de CGM(ModuleStart), como se ve en la Figura 4.

Figure 4. Code to load the CGM DLL
Figura 4. Código para cargar la DL CGM

De acuerdo con nuestra telemetría, los módulos CGD y COL también se escriben en la misma carpeta, como se muestra en la Tabla 2.

Tabla 2. Rutas donde se despliegan los módulos de CloudScout

MgBot plugin Deployment path CloudScout module
Gmck.dll %ProgramData%\NVIDlA\gmck\msvc_4.dll CGM
N/A %ProgramData%\NVIDlA\olck\msvc_4.dll COL
N/A %ProgramData%\NVIDlA\dankdh\msvc_4.dll CGD

La carpeta staging NVIDlA está mal escrita a propósito usando un simple homógrafo: está todo en mayúsculas excepto que la letra después de la D es una letra minúscula el. Las subcarpetas (resaltadas) parecen llevar los nombres de los plugins de MgBot. Desafortunadamente, no hemos podido obtener los plugins olck y dankdh.

Después de que el módulo CGM se despliega con éxito, el plugin Gmck necesita proporcionar las cookies del navegador a CGM en forma de un archivo de configuración. Gmck extrae estas cookies de los archivos de base de datos del navegador web que se enumeran en la Tabla 3. Con el lanzamiento de App-Bound Encryption en Chrome 127 y Edge 128, Gmck ya no es capaz de desencriptar archivos de base de datos de cookies de Chrome y Edge.

Tabla 3. Archivos de base de datos de los que extrae Gmck Archivos de base de datos de los que Gmck extrae cookies

Targeted browser Database files
Chrome %localappdata%\Google\Chrome\User Data\Local State
%localappdata%\Google\Chrome\User Data\<username>\Network\Cookies
Edge %localappdata%\Microsoft\Edge\User Data\Local State
%localappdata%\Microsoft\Edge\User Data\<username>\Network\Cookies
Firefox %AppData%\Mozilla\Firefox\profiles.ini
%AppData%\Mozilla\Firefox\<profile_name>\cookies.sqlite

El archivo de configuración debe tener una extensión .dat y estar encriptado RC4 usando la clave 0dda5a8d-e4c2-477d-85df-fcb611a62ffe para ser reconocido por CGM. Esta clave RC4 es utilizada por los tres módulos CloudScout para descifrar los archivos de configuración, lo que significa que los plugins MgBot también deben utilizar esta clave para el cifrado.

La figura 5 resume la relación entre Gmck y CGM.

Figure 5. Interactions between Gmck and CGM
Figura 5. Interacciones entre Gmck y CGM

Configuración

El archivo de configuración cm_cke_<yyyyymmdd>_<hhmmss>.dat de la Figura 5 lo proporciona el plugin MgBot después de extraer las cookies de la base de datos de un navegador web. El módulo CloudScout obtiene una nueva configuración monitorizando continuamente su directorio de trabajo, buscando archivos con extensiones .dat. Por cada archivo . dat que encuentra, el módulo CloudScout genera un nuevo subproceso para gestionar el archivo, lo que significa que puede gestionar varios archivos de configuración al mismo tiempo. El nuevo subproceso maneja un ciclo completo de recolección, desde el análisis sintáctico de la configuración hasta la descarga de todos los datos de destino. Al final del ciclo, el archivo de configuración se elimina del disco para evitar que se repita accidentalmente el mismo ciclo.

El archivo de configuración está en formato JSON. Contiene dos estructuras de datos principales: token y config. La estructura token contiene las cookies organizadas por nombre de dominio. Y config contiene los ajustes para descargar y organizar los datos recogidos para su exfiltración, así como para mantener el programa en ejecución o salir después de un ciclo exitoso( campodealone ). En la Figura 6 se incluye un ejemplo de archivo de configuración.

Figure 6. An example of a configuration generated by the Gmck plugin for the CGM module
Figura 6. Ejemplo de configuración generada por el plugin Gmck para el módulo CGM

CommonUtilities: El corazón de CloudScout

En el corazón de CloudScout se encuentra el paquete CommonUtilities, que proporciona todas las librerías de bajo nivel necesarias para que los módulos se ejecuten, tal y como se ilustra en la Figura 7. Este paquete se almacena en la sección de recursos. Este paquete se almacena en la sección de recursos de los módulos de CloudScout y se carga al principio de la función ModuleStart.

Figure 7. Overview of the design of CommonUtilities
Figura 7. Visión general del diseño de CommonUtilities

Como se ve en la Figura 8, el manifiesto .NET de CommonUtilities revela todos sus módulos cliente.

Figure 8. Manifest of CommonUtilities
Figura 8. Manifiesto de CommonUtilities

CommonUtilities contiene bastantes bibliotecas implementadas a medida a pesar de la abundante disponibilidad en línea de bibliotecas de código abierto similares. Estas bibliotecas personalizadas dan a los desarrolladores más flexibilidad y control sobre el funcionamiento interno de su implante, en comparación con las alternativas de código abierto. También manifiestan ciertos comportamientos impredecibles que nos obligan a profundizar en el código para entenderlos. Ejemplos de estas bibliotecas personalizadas son HTTPAccess y ManagedCookie.

HTTPAccess proporciona las funciones necesarias para manejar todas las comunicaciones HTTP de los módulos CloudScout. Tiene la capacidad de modificar las cabeceras HTTP, como se muestra en la Figura 9.

Figure 9. Code in HTTPAccess to modify HTTP headers
Figura 9. Código en HTTPAccess para modificar cabeceras HTTP

Como se destaca en este fragmento de código, el objeto this.mngCk, una instancia de la clase ManagedCookie, se utiliza para integrar cookies en las cabeceras HTTP creadas. Como su nombre indica, ManagedCookie proporciona funciones para gestionar las cookies de las solicitudes web entre CloudScout y los servicios en la nube seleccionados. Lo que hace especial a esta clase es su completa lista de analizadores de cookies capaces de convertir la mayoría de las cookies en objetos cookie.NET por defecto. La Figura 10 muestra las diferentes expresiones regulares creadas para coincidir con varias combinaciones de pares atributo-valor en las cookies.

Figure 10. Different regexes to handle various combinations of attribute-value pairs in cookies
Figura 10. Diferentes expresiones regulares para manejar varias combinaciones de pares atributo-valor en cookies

El marco de CloudScout

Todos los módulos de CloudScout comparten una arquitectura uniforme, como se muestra en la figura 11. La funcionalidad principal del módulo se encuentra en el espacio de nombres Cloud, que es casi idéntico en cada módulo. La implementación sólo difiere en las funciones relacionadas con la autenticación y la recuperación de datos, donde cada módulo necesita generar peticiones web específicas o analizar ciertas respuestas web según el servicio en la nube al que se dirija.

Figure 11. Common design shared by three CloudScout modules
Figura 11. Diseño común compartido por los tres módulos de CloudScout

El diseño simplificado de CloudScout y la lógica central del espacio de nombres Cloud se ilustran en la figura 12.

Figure 12. Overview of the design of a CloudScout module
Figura 12. Visión general del diseño de un módulo CloudScout

Autenticación

Las cookies en general no están muy bien documentadas por las plataformas web. Las cookies de autenticación suelen tener una vida corta y se actualizan con frecuencia a medida que el usuario interactúa con la plataforma a través de un navegador web. Sin embargo, mientras las sesiones sigan siendo válidas, CloudScout puede abusar de las cookies enumeradas en la Tabla 4 para acceder y descargar datos valiosos de los servicios en la nube.

Tabla 4. Cookies de autenticación gestionadas por los módulos de CloudScout

Service Domain Required cookies
Google Drive drive.google.com
accounts.google.com
OSID, HSID, SID, SSID, APISID, SAPISID, LSID
Gmail mail.google.com
accounts.google.com
Outlook outlook.live.com
login.live.com
X-OWA-CANARY, RPSSecAuth, ClientId

X-OWA-CANARY es una cookie de seguridad utilizada por Microsoft Outlook Web Access (OWA) para evitar ataques de falsificación de petición entre sitios. Se asigna al principio de cada sesión cuando se autentica el usuario. El módulo COL de CloudScout implementa un mecanismo para recuperar esta cookie cuando no está disponible, estableciendo una nueva sesión usando las cookies RPSSecAuth y ClientId para reautenticarse, como se muestra en la Figura 13.

Figure 13. Code to get the X-OWA-CANARY cookie
Figura 13. Código para obtener la cookie X-OWA-CANARY

Recuperación de datos

Tras la autenticación, los módulos CloudScout navegan por las cuentas de servicios en la nube comprometidas de forma similar a como lo haría un usuario normal con un navegador web. Para ello, cada módulo CloudScout está equipado con un conjunto de solicitudes web codificadas que debe realizar, junto con complejos analizadores HTML que identifican y extraen los datos de interés de las respuestas web.

Por ejemplo, los módulos CGM y COL están interesados en listados de carpetas de correo y mensajes de correo electrónico, dirigidos a Gmail y Outlook, respectivamente. La Figura 14 muestra los pasos que realiza CGM para extraer las cabeceras, el cuerpo y los adjuntos de los mensajes de correo electrónico del contenido HTML servido por el servidor web de Gmail.

Figure 14. Code to parse an HTML page to extract email message data
Figura 14. Código para analizar una página HTML y extraer los datos del mensaje de correo electrónico

Por otro lado, CGD está interesado en la información de usuario de Google Drive; una jerarquía de directorios completa; y archivos con extensiones .doc, .docx, .xls, .xlsx, .ppt, .pptx, .pdf y .txt. La Figura 15 es el fragmento de código de CGD para generar una URL de descarga de un documento.

Figure 15. Code to generate a download URL from Google Drive
Figura 15. Código para generar una URL de descarga desde Google

El módulo añade una cabecera personalizada a cada elemento descargado, ya sea un archivo o un correo electrónico. Esta cabecera personalizada incluye metadatos del elemento, como el ID de cliente (asignado por el malware), el asunto del correo electrónico o el nombre del archivo, y el nombre de usuario del servicio en la nube (Tabla 5). Lo más probable es que la cabecera añadida permita que los datos robados sean procesados a escala, por sistemas automatizados, para una indexación rápida o para realizar análisis.

Tabla 5. Cabeceras personalizadas para correos electrónicos y archivos descargados

Mail header File header
tasktype:
taskid:
clientid:
objectname:
mailid:
username:
subject:=?utf-8?b?<base64_encoded_data>?=
froms:=?utf-8?b?<base64_encoded_data>?=
tos:=?utf-8?b?<base64_encoded_data>?=
type:
sourceflag: {Outlook|Gmail}
filepath:
mailcountry:
attachment:
mailboxtype:{outlook|gmail}
folder:=?utf-8?b? <base64_encoded_data>?=
time: <yyyy-MM-dd HH:mm:ss>
captime: <yyyy-MM-dd HH:mm:ss>
tasktype:
taskid:
clientid:
objectname:
username:
skydrivetype:googledrive
path:=?utf-8?b? ?<base64_encoded_data>?=
source:googledrive
filename:=?utf-8?b? ?<base64_encoded_data>?=
key:
filetime: <yyyy-MM-dd HH:mm:ss>
size:
type:googledrive
captime: <yyyy-MM-dd HH:mm:ss>

Tras añadir la cabecera, cada elemento se encripta utilizando la misma clave RC4 que la utilizada para el archivo de configuración y se almacena con el nombre de archivo <pseudorandom_GUID>.<custom _extension>, donde <custom_extension> indica el tipo de datos robados, como se indica en la Tabla 6.

Tabla 6. Extensión del nombre de archivo para cada categoría de datos

Data category CGD CGM or COL
Personal information .pc_plug_googledrive_profile N/A
Email N/A .pc_plug_gmck_email
Directory listing .pc_plug_googledrive_filelist .pc_plug_gmck_email_list
File .pc_plug_googledrive_file N/A

A continuación, todos los elementos se comprimen en un archivo ZIP llamado <pseudorandom_GUID>.hxkz_zip y se colocan en un directorio para su exfiltración, tal y como se especifica en el campo datapath de la configuración. Este archivo puede ser filtrado posteriormente por MgBot o Nightdoor. En el paso final, los módulos CloudScout realizan una limpieza completa, eliminando todos los artefactos generados durante el ciclo de recolección excepto los archivos que se van a exfiltrar, antes de comprobar la bandera dealone para salir o continuar y esperar un nuevo archivo de configuración para iniciar un nuevo ciclo de recolección.

Conclusión

CloudScout es un conjunto de herramientas .NET utilizado por Evasive Panda para robar datos almacenados en servicios en la nube. Se implementa como una extensión de MgBot y utiliza la técnica pass-the-cookie para secuestrar sesiones autenticadas de navegadores web.

En este blogpost, hemos destacado el diseño profesional que hay detrás del marco CloudScout para demostrar las capacidades técnicas de Evasive Panda y el importante papel que desempeñan los documentos almacenados en la nube, los perfiles de usuario y el correo electrónico en sus operaciones de espionaje.

Para cualquier consulta sobre nuestra investigación publicada 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 (IoCs) y muestras en nuestro repositorio GitHub.

Archivos

SHA-1 Filename Detection Description
C70C3750AC6B9D7B033ADDEF838EF1CC28C262F3 pmsrvd.dll Win32/Agent.AELQ MgBot loader.
812124B84C5EA455F7147D94EC38D24BDF159F84 pmsrvd.dll Win32/Agent.AELQ MgBot loader.
AD6C84859D413D627AC589AEDF9891707E179D6C 3.exe Win32/Agent.ADJV MgBot dropper.
3DD958CA6EB7E8F0A0612D295453A3A10C08F5FE 1.exe Win32/Agent.ADJV MgBot dropper.
547BD65EEE05D744E075C5E12FB973A74D42438F doc.exe Win32/Agent.AFXX Nightdoor dropper.
348730018E0A5554F0F05E47BBA43DC0F55795AC DJCU.dll Win32/Nightdoor.A Nightdoor loader.
9B6A473820A72111C1A38735992B55C413D941EE CommonUtilities.dll MSIL/Agent.UEK CloudScout internal library package version 1.0.0.
621E2B50A979D77BA3F271FAB94326CCCBC009B4 CGM.dll MSIL/CloudScout.A CloudScout Gmail stealer version 1.0.14.
C058F9FE91293040C8B0908D3DAFC80F89D2E38B CGM.dll MSIL/CloudScout.A CloudScout Gmail stealer version 1.0.13.
4A5BCDAAC0BC315EDD00BB1FCCD1322737BCBEEB CGM.dll MSIL/CloudScout.A CloudScout Gmail stealer version 1.0.18.
67028AEB095189FDF18B2D7B775B62366EF224A9 CGD.dll MSIL/CloudScout.A CloudScout Google Drive stealer version 1.0.11.
B3556D1052BF5432D39A6068CCF00D8C318AF146 CGD.dll MSIL/CloudScout.A CloudScout Google Drive stealer version 1.0.14.
84F6B9F13CDCD8D9D15D5820536BC878CD89B3C8 CGD.dll MSIL/CloudScout.A CloudScout Google Drive stealer version 1.0.17.
93C1C8AD2AF64D0E4C132F067D369ECBEBAE00B7 COL.dll MSIL/CloudScout.A CloudScout Outlook Web Access stealer version 1.0.10.
8EAA213AE4D482938C5A7EC523C83D2C2E1E8C0E CommonUtilities.dll MSIL/CloudScout.A CloudScout internal library package version 1.0.8.
A1CA41FDB61F03659168050DE3E208F0940F37D8 CommonUtilities.dll MSIL/CloudScout.A CloudScout internal library package version 1.0.11.

Red

IP Domain Hosting provider First seen Details
103.96.128[.]44 N/A IRT⁠-⁠WUZHOUHULIAN⁠-⁠HK 2022⁠-⁠05⁠-⁠26 MgBot and Nightdoor C&C server.

Técnicas ATT&CK de MITRE

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

Tactic ID Name Description
Resource Development T1583.004 Acquire Infrastructure: Server Evasive Panda acquired servers for the C&C infrastructure of MgBot and Nightdoor.
T1587.001 Develop Capabilities: Malware Evasive Panda developed custom implants such as MgBot, CloudScout, and Nightdoor.
Execution T1569.002 System Services: Service Execution MgBot is executed as a Windows service.
T1106 Execution through API The MgBot installer uses Windows APIs to create processes. Gmck uses ExecuteInDefaultAppDomain to execute CGM in the CLR.
Persistence T1543.003 Create or Modify System Process: Windows Service MgBot replaces the existing Application Management service DLL path with its own.
Privilege Escalation T1548.002 Abuse Elevation Control Mechanism: Bypass User Access Control MgBot performs UAC bypass.
Defense Evasion T1140 Deobfuscate/Decode Files or Information Gmck decrypts Chrome, Edge, and Firefox web browser databases to extract cookies.
T1112 Modify Registry MgBot modifies the registry for persistence.
T1027 Obfuscated Files or Information Gmck obfuscates the configuration that contains cookies.
T1550.004 Use Alternate Authentication Material: Web Session Cookie CloudScout uses stolen cookies to access cloud resources.
T1036.005 Masquerading: Match Legitimate Name or Location CloudScout modules are installed to %ProgramData%\NVIDlA to mimic an NVIDIA directory.
Credential Access T1539 Steal Web Session Cookie Gmck steals cookies.
Discovery T1082 System Information Discovery MgBot collects system information.
Collection T1560.001 Archive Collected Data: Archive via Utility CloudScout modules use SharpZipLib to compress data before exfiltration.
T1530 Data from Cloud Storage Object CGD downloads files stored on Google Drive.
T1114.002 Email Collection: Remote Email Collection CGM and COL access and collect emails from Gmail and Outlook Web Access, respectively.
Command and Control T1095 Non-Application Layer Protocol MgBot communicates with its C&C via UDP.
Exfiltration T1041 Exfiltration Over C2 Channel MgBot exfiltrates collected data to its C&C.