Los investigadores de ESET descubrieron una campaña de ciberespionaje que, al menos desde septiembre de 2023, atacó a tibetanos a través de un ataque dirigido (también conocido como ataque web estratégico) y un ataque a la cadena de suministro mediante downloaders troyanizados de software de traducción de idioma tibetano. El objetivo de los atacantes era desplegar downloaders maliciosos para Windows y macOS con el fin de comprometer a los visitantes del sitio web con MgBot y un backdoor que, por lo que sabemos, aún no se ha documentado públicamente; lo hemos denominado Nightdoor.
Puntos clave de este blogpost
- Descubrimos una campaña de ciberespionaje que aprovecha el Festival Monlam -una reunión religiosa- para atacar a tibetanos en varios países y territorios.
- Los atacantes comprometieron el sitio web del organizador del festival anual, que se celebra en la India, y añadieron código malicioso para crear un ataque de tipo watering-hole dirigido a usuarios que se conectan desde redes específicas.
- También descubrimos que la cadena de suministro de un desarrollador de software se había visto comprometida y que se servían a los usuarios instaladores troyanizados para Windows y macOS.
- Los atacantes utilizaron varios downloaders maliciosos y backdoors completos para la operación, incluido un backdoor para Windows no documentado públicamente al que denominamos Nightdoor.
- Atribuimos esta campaña al grupo APT Evasive Panda, alineado con China.
Perfil de Evasive Panda
Evasive Panda (también conocido como BRONZE HIGHLAND y Daggerfly) es un grupo APT de habla china, activo desde al menos 2012. ESET Research ha observado al grupo realizando ciberespionaje contra individuos en China continental, Hong Kong, Macao y Nigeria. Las entidades gubernamentales fueron atacadas en el sudeste y este de Asia, específicamente en China, Macao, Myanmar, Filipinas, Taiwán y Vietnam. Otras organizaciones de China y Hong Kong también fueron objeto de ataques. Según informes públicos, el grupo también ha atacado entidades desconocidas en Hong Kong, India y Malasia.
El grupo utiliza su propio marco de malware personalizado con una arquitectura modular que permite que su backdoor, conocida como MgBot, reciba módulos para espiar a sus víctimas y mejorar sus capacidades. Desde 2020 también hemos observado que Evasive Panda tiene capacidad para distribuir sus backdoors a través de ataques de intermediario que secuestran actualizaciones de software legítimo.
Resumen de la campaña
En enero de 2024, descubrimos una operación de ciberespionaje en la que los atacantes comprometieron al menos tres sitios web para llevar a cabo ataques de watering hole, así como un compromiso de la cadena de suministro de una empresa de software tibetana.
El sitio web comprometido del que se abusó como abrevadero pertenece a Kagyu International Monlam Trust, una organización con sede en la India que promueve el budismo tibetano a escala internacional. Los atacantes colocaron un script en el sitio web que verifica la dirección IP de la víctima potencial y, si está dentro de uno de los rangos de direcciones objetivo, muestra una página de error falsa para incitar al usuario a descargar un certificado de nombre "fix" (con extensión .exe si el visitante utiliza Windows o .pkg si utiliza macOS). Este archivo es un descargador malicioso que despliega la siguiente etapa en la cadena de compromiso.
Basándonos en los rangos de direcciones IP que comprueba el código, descubrimos que los atacantes tenían como objetivo usuarios de India, Taiwán, Hong Kong, Australia y Estados Unidos; el ataque podría haber tenido como objetivo capitalizar el interés internacional en el Festival Kagyu Monlam (Figura 1) que se celebra anualmente en enero en la ciudad de Bodhgaya, India.
Curiosamente, la red del Georgia Institute of Technology (también conocido como Georgia Tech) de Estados Unidos se encuentra entre las entidades identificadas en los rangos de direcciones IP objetivo. En el pasado, se había mencionado la universidad en relación con la influencia del Partido Comunista Chino en los institutos de educación de Estados Unidos.
Alrededor de septiembre de 2023, los atacantes comprometieron el sitio web de una empresa de desarrollo de software con sede en la India que produce software de traducción de la lengua tibetana. Los atacantes colocaron allí varias aplicaciones troyanizadas que despliegan un descargador malicioso para Windows o macOS.
Además de esto, los atacantes también abusaron del mismo sitio web y de un sitio web de noticias tibetano llamado Tibetpost - tibetpost[.]net - para alojar las cargas útiles obtenidas por las descargas maliciosas, incluidos dos backdoors con todas las funciones para Windows y un número desconocido de cargas útiles para macOS.
Atribuimos esta campaña al grupo Evasive Panda APT, basándonos en el malware utilizado: MgBot y Nightdoor. En el pasado, hemos visto ambos backdoors desplegados juntos, en un ataque no relacionado contra una organización religiosa en Taiwán, en el que también compartían el mismo servidor de C&C. Ambos puntos también se aplican a la campaña descrita en este blogpost.
Agujero de riego
El 14 de enero de 2024, detectamos un script sospechoso en https://www.kagyumonlam[.]org/media/vendor/jquery/js/jquery.js?3.6.3.
Se adjuntó código malicioso ofuscado a un script legítimo de la biblioteca jQuery JavaScript, como se ve en la figura 2.
El script envía una petición HTTP a la dirección localhost http://localhost:63403/?callback=handleCallback para comprobar si el descargador intermedio del atacante ya se está ejecutando en la máquina de la víctima potencial (véase la Figura 3). En una máquina previamente comprometida, el implante responde con handleCallback({"success":true }) (ver Figura 4) y el script no realiza ninguna otra acción.
Si la máquina no responde con los datos esperados, el código malicioso continúa obteniendo un hash MD5 de un servidor secundario en https://update.devicebug[.]com/getVersion.php. A continuación, el hash se coteja con una lista de 74 valores hash, como se ve en la Figura 5.
Si hay una coincidencia, el script mostrará una página HTML con una falsa notificación de fallo (Figura 6) con la intención de engañar al usuario visitante para que descargue una solución para arreglar el problema. La página imita las típicas advertencias "Aw, Snap!" de Google Chrome.
El botón "Solución inmediata" activa un script que descarga una carga útil basada en el sistema operativo del usuario (Figura 7).
Rompiendo el hash
La condición para la entrega de la carga útil requiere obtener el hash correcto del servidor en update.devicebug[.]com, por lo que los 74 hashes son la clave del mecanismo de selección de víctimas del atacante. Sin embargo, dado que el hash se calcula en el lado del servidor, nos supuso un reto saber qué datos se utilizan para calcularlo.
Experimentamos con diferentes direcciones IP y configuraciones del sistema y redujimos la entrada para el algoritmo MD5 a una fórmula de los tres primeros octetos de la dirección IP del usuario. En otras palabras, al introducir direcciones IP que comparten el mismo prefijo de red, por ejemplo 192.168.0.1 y 192.168.0.50, recibirán el mismo hash MD5 del servidor C&C.
Sin embargo, se incluye una combinación desconocida de caracteres, o una salt, con la cadena de los tres primeros octetos de IP antes del hash para evitar que los hashes se puedan forzar de forma trivial. Por lo tanto, tuvimos que forzar salt para asegurar la fórmula de entrada y, a continuación, generar hashes utilizando todo el rango de direcciones IPv4 para encontrar los 74 hashes coincidentes.
A veces las estrellas se alinean, y descubrimos que salt era 1qaz0okm!@#. Con todas las piezas de la fórmula de entrada MD5 (por ejemplo, 192.168.1.1qaz0okm!@#), forzamos los 74 hashes con facilidad y generamos una lista de objetivos. Véase la lista completa en el Apéndice.
Como se muestra en la Figura 8, la mayoría de los rangos de direcciones IP objetivo se encuentran en India, seguidos de Taiwán, Australia, Estados Unidos y Hong Kong. Nótese que la mayor parte de la diáspora tibetana vive en India.
Carga útil en Windows
En Windows, las víctimas del ataque reciben un ejecutable malicioso ubicado en https://update.devicebug[.]com/fixTools/certificate.exe. La figura 9 muestra la cadena de ejecución que sigue cuando el usuario descarga y ejecuta el fix malicioso.
certificate.exe es un dropper que despliega una cadena de carga lateral para cargar un downloader intermedio, memmgrset.dll (denominado internamente http_dy.dll). Esta DLL obtiene un archivo JSON del servidor C&C en https://update.devicebug[.]com/assets_files/config.json, que contiene la información para descargar la siguiente etapa (ver Figura 10).
Cuando la siguiente etapa se descarga y ejecuta, despliega otra cadena de carga lateral para entregar Nightdoor como payload final. A continuación, en la sección Nightdoor, se ofrece un análisis de Nightdoor.
Carga útil para macOS
El malware para macOS es el mismo descargador que documentamos con más detalle en Supply-chain compromise. Sin embargo, éste deja caer un ejecutable Mach-O adicional, que escucha en el puerto TCP 63403. Su único propósito es responder con handleCallback({"success":true }) a la petición del código JavaScript malicioso, de modo que si el usuario vuelve a visitar el sitio web de la charca, el código JavaScript no intentará volver a comprometer al visitante.
Este downloader obtiene el archivo JSON del servidor y descarga la siguiente etapa, igual que la versión de Windows descrita anteriormente.
Compromiso de la cadena de suministro
El 18 de enero, descubrimos que el sitio web oficial (Figura 11) de un producto de software de traducción de idioma tibetano para múltiples plataformas alojaba paquetes ZIP que contenían instaladores troyanizados de software legítimo que desplegaban downloaders maliciosos para Windows y macOS.
Encontramos una víctima de Japón que descargó uno de los paquetes para Windows. La Tabla 1 enumera las URL y los implantes descargados.
Tabla 1 URL de los paquetes maliciosos en el sitio web comprometido y tipo de carga útil en la aplicación comprometida
Malicious package URL |
Payload type |
https://www.monlamit[.]com/monlam-app-store/monlam-bodyig3.zip |
Win32 downloader |
https://www.monlamit[.]com/monlam-app-store/Monlam_Grand_Tibetan_Dictionary_2018.zip |
Win32 downloader |
https://www.monlamit[.]com/monlam-app-store/Deutsch-Tibetisches_W%C3%B6rterbuch_Installer_Windows.zip |
Win32 downloader |
https://www.monlamit[.]com/monlam-app-store/monlam-bodyig-mac-os.zip |
macOS downloader |
https://www.monlamit[.]com/monlam-app-store/Monlam-Grand-Tibetan-Dictionary-for-mac-OS-X.zip |
macOS downloader |
Paquetes Windows
La Figura 13 ilustra la cadena de carga de la aplicación troyanizada desde el paquete monlam-bodyig3.zip.
La aplicación troyanizada contiene un dropper malicioso llamado autorun.exe que despliega dos componentes
- un archivo ejecutable llamado MonlamUpdate.exe, que es un componente de software de un emulador llamado C64 Forever y del que se abusa para la carga lateral de DLL, y
- RPHost.dll, la DLL de carga lateral, que es un downloader malicioso para la siguiente etapa.
Cuando la DLL downloader se carga en memoria, crea una tarea programada llamada Demovale que se ejecutará cada vez que un usuario inicie sesión. Sin embargo, como la tarea no especifica un archivo a ejecutar, no consigue establecer la persistencia.
A continuación, esta DLL obtiene un UUID y la versión del sistema operativo para crear un User-Agent personalizado y envía una petición GET a https://www.monlamit[.]com/sites/default/files/softwares/updateFiles/Monlam_Grand_Tibetan_Dictionary_2018/UpdateInfo.dat para obtener un archivo JSON que contiene la URL para descargar y ejecutar un payload que deposita en el directorio %TEMP%. No pudimos obtener una muestra de los datos del objeto JSON del sitio web comprometido; por lo tanto, no sabemos desde dónde se descarga exactamente default_ico.exe, como se ilustra en la Figura 12.
A través de la telemetría de ESET, observamos que el proceso ilegítimo MonlamUpdate.exe descargó y ejecutó en diferentes ocasiones al menos cuatro archivos maliciosos en %TEMP%\default_ico.exe. La Tabla 2 enumera esos archivos y su finalidad.
Tabla 2. Hash del downloader/dropper default_ico .exe , URL del C&C contactado y descripción del downloader
SHA-1 |
Contacted URL |
Purpose |
1C7DF9B0023FB97000B7 |
https://tibetpost[.]net/templates/ |
Downloads an unknown payload from the server. |
F0F8F60429E3316C463F |
Downloads an unknown payload from the server. This sample was written in Rust. |
|
7A3FC280F79578414D71 |
http://188.208.141[.]204:5040/ |
Downloads a randomly named Nightdoor dropper. |
BFA2136336D845184436 |
N/A |
Open-source tool SystemInfo, into which the attackers integrated their malicious code and embedded an encrypted blob that, once decrypted and executed, installs MgBot. |
Por último, el descargador o dropper default_ico. exe obtendrá el payload del servidor o lo soltará, y luego la ejecutará en la máquina víctima, instalando Nightdoor (véase la sección Nightdoor ) o MgBot (véase nuestro análisis anterior).
Los dos paquetes troyanizados restantes son muy similares, ya que despliegan la misma DLL de descarga maliciosa cargada lateralmente por el ejecutable legítimo.
Paquetes para macOS
El archivo ZIP descargado de la tienda oficial de aplicaciones contiene un paquete instalador modificado (archivo.pkg ), al que se han añadido un ejecutable Mach-O y un script de postinstalación. El script de post-instalación copia el archivo Mach-O a $HOME/Library/Containers/CalendarFocusEXT/ y procede a instalar un Launch Agent en $HOME/Library/LaunchAgents/com.Terminal.us.plist para la persistencia. La Figura 13 muestra el script responsable de instalar y lanzar el Agente de Lanzamiento malicioso.
El Mach-O malicioso, Monlam-bodyig_Keyboard_2017 de la Figura 13 está firmado, pero no notariado, usando un certificado de desarrollador (no un certificado del tipo usado habitualmente para distribución) con el nombre e identificador de equipo ya ni yang(289F6V4BN). La marca de tiempo de la firma indica que se firmó el 7 de enero de 2024. Esta fecha también se utiliza en la marca de tiempo modificada de los archivos maliciosos en los metadatos del archivo ZIP. El certificado se emitió sólo tres días antes. El certificado completo está disponible en la sección IoCs. Nuestro equipo se puso en contacto con Apple el 25 de enero y el certificado fue revocado el mismo día.
Este malware de primera etapa descarga un archivo JSON que contiene la URL de la siguiente etapa. La arquitectura (ARM o Intel), la versión de macOS y el UUID de hardware (un identificador único para cada Mac) se indican en el encabezado de solicitud HTTP User-Agent. Para recuperar esa configuración se utiliza la misma URL que para la versión de Windows: https://www.monlamit[.]com/sites/default/files/softwares/updateFiles/Monlam_Grand_Tibetan_Dictionary_2018/UpdateInfo.dat. Sin embargo, la versión para macOS buscará los datos bajo la clave mac del objeto JSON en lugar de la clave win.
El objeto bajo la clave mac debe contener lo siguiente
- url: La URL a la siguiente etapa.
- md5: Suma MD5 de la carga útil.
- vernow: Una lista de UUID de hardware. Si está presente, la carga útil sólo se instalará en los Mac que tengan uno de los UUID de hardware de la lista. Esta comprobación se omite si la lista está vacía o no existe.
- versión: Un valor numérico que debe ser superior a la "versión" de segunda etapa descargada previamente. De lo contrario, la carga útil no se descarga. El valor de la versión actualmente en ejecución se mantiene en los valores predeterminados del usuario de la aplicación.
Después de que el malware descargue el archivo de la URL especificada mediante curl, el archivo se somete a hash mediante MD5 y se compara con el resumen hexadecimal bajo la clave md5. Si coincide, se eliminan sus atributos extendidos (para borrar el atributo com.apple.quarantine), el archivo se mueve a $HOME/Library/SafariBrowser/Safari.app/Contents/MacOS/SafariBrower, y se lanza usando execvp con el argumento run.
A diferencia de la versión para Windows, no pudimos encontrar ninguna de las etapas posteriores de la variante para macOS. Una configuración JSON contenía un hash MD5(3C5739C25A9B85E82E0969EE94062F40), pero el campo URL estaba vacío.
Nightdoor
El backdoor que hemos denominado Nightdoor (y que los autores del malware llaman NetMM según las rutas PDB) es una incorporación tardía al conjunto de herramientas de Evasive Panda. Nuestro primer conocimiento de Nightdoor se remonta a 2020, cuando Evasive Panda lo desplegó en una máquina de un objetivo de alto perfil en Vietnam. El backdoor se comunica con su servidor de C&C a través de UDP o la API de Google Drive. El implante Nightdoor de esta campaña utilizaba esta última. Cifra un token OAuth 2. 0 de la API de Google dentro de la sección de datos y utiliza el token para acceder a Google Drive del atacante. Hemos solicitado que se elimine la cuenta de Google asociada a este token.
En primer lugar, Nightdoor crea una carpeta en Google Drive que contiene la dirección MAC de la víctima, que también actúa como ID de la víctima. Esta carpeta contendrá todos los mensajes entre el implante y el servidor de C&C. Cada mensaje entre Nightdoor y el servidor de C&C se estructura como un archivo y se separa en nombre de archivo y datos de archivo, como se muestra en la Figura 14.
Cada nombre de archivo contiene ocho atributos principales, lo que se demuestra en el siguiente ejemplo.
Ejemplo:
1_2_0C64C2BAEF534C8E9058797BCD783DE5_168_0_1_4116_0_00-00-00-00-00-00
- 1_2: valor mágico.
- 0C64C2BAEF534C8E9058797BCD783DE5: cabecera de la estructura de datos pbuf.
- 168: tamaño del objeto mensaje o tamaño del fichero en bytes.
- 0: nombre de archivo, que por defecto es siempre 0 (nulo).
- 1: tipo de comando, codificado como 1 o 0 dependiendo de la muestra.
- 4116: ID del comando.
- 0: calidad de servicio (QoS).
- 00-00-00-00-00: se supone que es la dirección MAC del destino, pero por defecto siempre es 00-00-00-00-00-00-00.
Los datos dentro de cada archivo representan el comando del controlador para el backdoor y los parámetros necesarios para ejecutarlo. La Figura 15 muestra un ejemplo de un mensaje del servidor C&C almacenado como datos de archivo.
Mediante ingeniería inversa de Nightdoor, pudimos entender el significado de los campos importantes presentados en el archivo, como se muestra en la Figura 16.
Descubrimos que se habían añadido muchos cambios significativos a la versión de Nightdoor utilizada en esta campaña, siendo uno de ellos la organización de los ID de comando. En versiones anteriores, cada ID de comando se asignaba a una función manejadora de uno en uno, como se muestra en la Figura 17. Las opciones de numeración, como de 0x2001 a 0x2006, de 0x2201 a 0x2203, de 0x4001 a 0x4003, y de 0x7001 a 0x7005, sugerían que los comandos se dividían en grupos con funcionalidades similares.
Sin embargo, en esta versión, Nightdoor utiliza una tabla de ramas para organizar todos los IDs de comandos con sus correspondientes manejadores. Los IDs de comando son continuos y actúan como índices de sus correspondientes manejadores en la tabla de ramas, como se muestra en la Figura 18.
La Tabla 3 es una vista previa de los comandos del servidor C&C y sus funcionalidades. Esta tabla contiene los IDs de los nuevos comandos así como los IDs equivalentes de versiones anteriores.
Tabla 3. Comandos soportados por las variantes de Nightdoor utilizadas en esta campaña.
Command ID |
Previous command ID |
Description |
|
0x1001 |
0x2001 |
Collect basic system profile information such as: - OS version - IPv4 network adapters, MAC addresses, and IP addresses - CPU name - Computer name - Username - Device driver names - All usernames from C:\Users\* - Local time - Public IP address using the ifconfig.me or ipinfo.io webservice |
|
0x1007 |
0x2002 |
Collect information about disk drives such as: - Drive name - Free space and total space - File system type: NTFS, FAT32, etc. |
|
0x1004 |
0x2003 |
Collect information on all installed applications under Windows registry keys: - HKLM\SOFTWARE\ - WOW6432Node\Microsoft\Windows\ - Microsoft\Windows\CurrentVersion\Uninstall (x86) |
|
0x1003 |
0x2004 |
Collect information on running processes, such as: - Process name - Number of threads - Username - File location on disk - Description of file on disk |
|
0x1006 |
0x4001 |
Create a reverse shell and manage input and output via anonymous pipes. |
|
0x4002 |
|||
0x4003 |
|||
0x1002 |
N/A |
Self-uninstall. |
|
0x100C |
0x6001 |
Move file. The path is provided by the C&C server. |
|
0x100B |
0x6002 |
Delete file. The path is provided by the C&C server. |
|
0x1016 |
0x6101 |
Get file attributes. The path is provided by the C&C server. |
Conclusión
Hemos analizado una campaña de la APT Evasive Panda, alineada con China, dirigida a tibetanos en varios países y territorios. Creemos que los atacantes aprovecharon, en su momento, la proximidad del festival Monlam en enero y febrero de 2024 para comprometer a los usuarios cuando visitaban el sitio web del festival, convertido en watering hole. Además, los atacantes comprometieron la cadena de suministro de un desarrollador de software de aplicaciones de traducción de lengua tibetana.
Los atacantes utilizaron varios downloaders, droppers y backdoors, entre ellos MgBot -utilizado exclusivamente por Evasive Panda- y Nightdoor: la última gran adición al conjunto de herramientas del grupo y que se ha utilizado para atacar varias redes en Asia Oriental.
En nuestro repositorio de GitHub se encuentra una lista completa de indicadores de compromiso (IoC) y muestras.
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
Archivos
SHA-1 |
Filename |
Detection |
Description |
0A88C3B4709287F70CA2 |
autorun.exe |
Win32/Agent.AGFU |
Dropper component added to the official installer package. |
1C7DF9B0023FB97000B7 |
default_ico.exe |
Win32/Agent.AGFN |
Intermediate downloader. |
F0F8F60429E3316C463F |
default_ico.exe |
Win64/Agent.DLY |
Intermediate downloader programmed in Rust. |
7A3FC280F79578414D71 |
default_ico.exe |
Win32/Agent.AGFQ |
Nightdoor downloader. |
70B743E60F952A1238A4 |
UjGnsPwFaEtl.exe |
Win32/Agent.AGFS |
Nightdoor dropper. |
FA44028115912C95B5EF |
RPHost.dll |
Win32/Agent.AGFM |
Intermediate loader. |
5273B45C5EABE64EDBD0 |
certificate.pkg |
OSX/Agent.DJ |
MacOS dropper component. |
5E5274C7D931C1165AA5 |
certificate.exe |
Win32/Agent.AGES |
Dropper component from the compromised website. |
59AA9BE378371183ED41 |
default_ico_1.exe |
Win32/Agent.AGFO |
Nightdoor dropper component. |
8591A7EE00FB1BB7CC5B |
memmgrset.dll |
Win32/Agent.AGGH |
Intermediate loader for Nightdoor downloader component. |
82B99AD976429D0A6C54 |
pidgin.dll |
Win32/Agent.AGGI |
Intermediate loader for Nightdoor. |
3EEE78EDE82F6319D094 |
Monlam_Grand_Tibetan_Dictionary_2018.zip |
Win32/Agent.AGFM |
Trojanized installer. |
2A96338BACCE3BB687BD |
jquery.js |
JS/TrojanDownloader.Agent.AAPA |
Malicious JavaScript added to the compromised website. |
8A389AFE1F85F83E340C |
Monlam Bodyig 3.1.exe |
Win32/Agent.AGFU |
Trojanized installer. |
944B69B5E225C7712604 |
deutsch-tibetisches_w__rterbuch_installer_windows.zip |
MSIL/Agent.WSK |
Trojanized installer package. |
A942099338C946FC196C |
monlam-bodyig3.zip |
Win32/Agent.AGFU |
Trojanized installer package. |
52FE3FD399ED15077106 |
Monlam-Grand-Tibetan-Dictionary-for-mac-OS-X.zip |
OSX/Agent.DJ |
MacOS trojanized installer package. |
57FD698CCB5CB4F90C01 |
monlam-bodyig-mac-os.zip |
OSX/Agent.DJ |
MacOS trojanized installer package. |
C0575AF04850EB1911B0 |
Security~.x64 |
OSX/Agent.DJ |
MacOS downloader. |
7C3FD8EE5D660BBF43E4 |
Security~.arm64 |
OSX/Agent.DJ |
MacOS downloader. |
FA78E89AB95A0B49BC06 |
Security.fat |
OSX/Agent.DJ |
MacOS downloader component. |
5748E11C87AEAB3C19D1 |
Monlam_Grand_Dictionary export file |
OSX/Agent.DJ |
Malicious component from macOS trojanized installer package. |
Certificados
Serial number |
49:43:74:D8:55:3C:A9:06:F5:76:74:E2:4A:13:E9:33 |
Thumbprint |
77DBCDFACE92513590B7C3A407BE2717C19094E0 |
Subject CN |
Apple Development: ya ni yang (2289F6V4BN) |
Subject O |
ya ni yang |
Subject L |
N/A |
Subject S |
N/A |
Subject C |
US |
Valid from |
2024-01-04 05:26:45 |
Valid to |
2025-01-03 05:26:44 |
Serial number |
6014B56E4FFF35DC4C948452B77C9AA9 |
Thumbprint |
D4938CB5C031EC7F04D73D4E75F5DB5C8A5C04CE |
Subject CN |
KP MOBILE |
Subject O |
KP MOBILE |
Subject L |
N/A |
Subject S |
N/A |
Subject C |
KR |
Valid from |
2021-10-25 00:00:00 |
Valid to |
2022-10-25 23:59:59 |
IP |
Domain |
Hosting provider |
First seen |
Details |
N/A |
tibetpost[.]net |
N/A |
2023-11-29 |
Compromised website. |
N/A |
www.monlamit[.]com |
N/A |
2024-01-24 |
Compromised website. |
N/A |
update.devicebug[.]com |
N/A |
2024-01-14 |
C&C. |
188.208.141[.]204 |
N/A |
Amol Hingade |
2024-02-01 |
Download server for Nightdoor dropper component. |
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 |
Resource Development |
Acquire Infrastructure: Server |
Evasive Panda acquired servers for the C&C infrastructure of Nightdoor, MgBot, and the macOS downloader component. |
|
Acquire Infrastructure: Web Services |
Evasive Panda used Google Drive’s web service for Nightdoor’s C&C infrastructure. |
||
Compromise Infrastructure: Server |
Evasive Panda operators compromised several servers to use as watering holes, for a supply-chain attack, and to host payloads and use as C&C servers. |
||
Establish Accounts: Cloud Accounts |
Evasive Panda created a Google Drive account and used it as C&C infrastructure. |
||
Develop Capabilities: Malware |
Evasive Panda deployed custom implants such as MgBot, Nightdoor, and a macOS downloader component. |
||
T1588.003 |
Obtain Capabilities: Code Signing Certificates |
Evasive Panda obtained code-signing certificates. |
|
Stage Capabilities: Drive-by Target |
Evasive Panda operators modified a high-profile website to add a piece of JavaScript code that renders a fake notification to download malware. |
||
Initial Access |
Drive-by Compromise |
Visitors to compromised websites may receive a fake error message enticing them to download malware. |
|
Supply Chain Compromise: Compromise Software Supply Chain |
Evasive Panda trojanized official installer packages from a software company. |
||
Execution |
Native API |
Nightdoor, MgBot, and their intermediate downloader components use Windows APIs to create processes. |
|
Scheduled Task/Job: Scheduled Task |
Nightdoor and MgBot’s loader components can create scheduled tasks. |
||
Persistence |
Create or Modify System Process: Windows Service |
Nightdoor and MgBot’s loader components can create Windows services. |
|
Hijack Execution Flow: DLL Side-Loading |
Nightdoor and MgBot’s dropper components deploy a legitimate executable file that side-loads a malicious loader. |
||
Defense Evasion |
Deobfuscate/Decode Files or Information |
DLL components of the Nightdoor implant are decrypted in memory. |
|
Impair Defenses: Disable or Modify System Firewall |
Nightdoor adds two Windows Firewall rules to allow inbound and outbound communication for its HTTP proxy server functionality. |
||
Indicator Removal: File Deletion |
Nightdoor and MgBot can delete files. |
||
Indicator Removal: Clear Persistence |
Nightdoor and MgBot can uninstall themselves. |
||
Masquerading: Masquerade Task or Service |
Nightdoor’s loader disguised its task as netsvcs. |
||
Masquerading: Match Legitimate Name or Location |
Nightdoor’s installer deploys its components into legitimate system directories. |
||
Obfuscated Files or Information: Embedded Payloads |
Nightdoor’s dropper component contains embedded malicious files that are deployed on disk. |
||
Process Injection: Dynamic-link Library Injection |
Nightdoor and MgBot’s loaders components inject themselves into svchost.exe. |
||
Reflective Code Loading |
Nightdoor and MgBot’s loader components inject themselves into svchost.exe, from where they load the Nightdoor or MgBot backdoor. |
||
Discovery |
Account Discovery: Local Account |
Nightdoor and MgBot collect user account information from the compromised system. |
|
File and Directory Discovery |
Nightdoor and MgBot can collect information from directories and files. |
||
Process Discovery |
Nightdoor and MgBot collect information about processes. |
||
Query Registry |
Nightdoor and MgBot query the Windows registry to find information about installed software. |
||
Software Discovery |
Nightdoor and MgBot collect information about installed software and services. |
||
System Owner/User Discovery |
Nightdoor and MgBot collect user account information from the compromised system. |
||
System Information Discovery |
Nightdoor and MgBot collect a wide range of information about the compromised system. |
||
System Network Connections Discovery |
Nightdoor and MgBot can collect data from all active TCP and UDP connections on the compromised machine. |
||
Collection |
Archive Collected Data |
Nightdoor and MgBot store collected data in encrypted files. |
|
Automated Collection |
Nightdoor and MgBot automatically collect system and network information about the compromised machine. |
||
Data from Local System |
Nightdoor and MgBot collect information about the operating system and user data. |
||
Data Staged: Local Data Staging |
Nightdoor stages data for exfiltration in files on disk. |
||
Command and Control |
Application Layer Protocol: Web Protocols |
Nightdoor communicates with the C&C server using HTTP. |
|
Non-Application Layer Protocol |
Nightdoor communicates with the C&C server using UDP. MgBot communicates with the C&C server using TCP. |
||
Non-Standard Port |
MgBot uses TCP port 21010. |
||
Protocol Tunneling |
Nightdoor can act as an HTTP proxy server, tunneling TCP communication. |
||
Web Service |
Nightdoor uses Google Drive for C&C communication. |
||
Exfiltration |
Automated Exfiltration |
Nightdoor and MgBot automatically exfiltrate collected data. |
|
Exfiltration Over Web Service: Exfiltration to Cloud Storage |
Nightdoor can exfiltrate its files to Google Drive. |
Apéndice
Los rangos de direcciones IP objetivo se muestran en la siguiente tabla.
CIDR |
ISP |
City |
Country |
124.171.71.0/24 |
iiNet |
Sydney |
Australia |
125.209.157.0/24 |
iiNet |
Sydney |
Australia |
1.145.30.0/24 |
Telstra |
Sydney |
Australia |
193.119.100.0/24 |
TPG Telecom |
Sydney |
Australia |
14.202.220.0/24 |
TPG Telecom |
Sydney |
Australia |
123.243.114.0/24 |
TPG Telecom |
Sydney |
Australia |
45.113.1.0/24 |
HK 92server Technology |
Hong Kong |
Hong Kong |
172.70.191.0/24 |
Cloudflare |
Ahmedabad |
India |
49.36.224.0/24 |
Reliance Jio Infocomm |
Airoli |
India |
106.196.24.0/24 |
Bharti Airtel |
Bengaluru |
India |
106.196.25.0/24 |
Bharti Airtel |
Bengaluru |
India |
14.98.12.0/24 |
Tata Teleservices |
Bengaluru |
India |
172.70.237.0/24 |
Cloudflare |
Chandīgarh |
India |
117.207.51.0/24 |
Bharat Sanchar Nigam Limited |
Dalhousie |
India |
103.214.118.0/24 |
Airnet Boardband |
Delhi |
India |
45.120.162.0/24 |
Ani Boardband |
Delhi |
India |
103.198.173.0/24 |
Anonet |
Delhi |
India |
103.248.94.0/24 |
Anonet |
Delhi |
India |
103.198.174.0/24 |
Anonet |
Delhi |
India |
43.247.41.0/24 |
Anonet |
Delhi |
India |
122.162.147.0/24 |
Bharti Airtel |
Delhi |
India |
103.212.145.0/24 |
Excitel |
Delhi |
India |
45.248.28.0/24 |
Omkar Electronics |
Delhi |
India |
49.36.185.0/24 |
Reliance Jio Infocomm |
Delhi |
India |
59.89.176.0/24 |
Bharat Sanchar Nigam Limited |
Dharamsala |
India |
117.207.57.0/24 |
Bharat Sanchar Nigam Limited |
Dharamsala |
India |
103.210.33.0/24 |
Vayudoot |
Dharamsala |
India |
182.64.251.0/24 |
Bharti Airtel |
Gāndarbal |
India |
117.255.45.0/24 |
Bharat Sanchar Nigam Limited |
Haliyal |
India |
117.239.1.0/24 |
Bharat Sanchar Nigam Limited |
Hamīrpur |
India |
59.89.161.0/24 |
Bharat Sanchar Nigam Limited |
Jaipur |
India |
27.60.20.0/24 |
Bharti Airtel |
Lucknow |
India |
223.189.252.0/24 |
Bharti Airtel |
Lucknow |
India |
223.188.237.0/24 |
Bharti Airtel |
Meerut |
India |
162.158.235.0/24 |
Cloudflare |
Mumbai |
India |
162.158.48.0/24 |
Cloudflare |
Mumbai |
India |
162.158.191.0/24 |
Cloudflare |
Mumbai |
India |
162.158.227.0/24 |
Cloudflare |
Mumbai |
India |
172.69.87.0/24 |
Cloudflare |
Mumbai |
India |
172.70.219.0/24 |
Cloudflare |
Mumbai |
India |
172.71.198.0/24 |
Cloudflare |
Mumbai |
India |
172.68.39.0/24 |
Cloudflare |
New Delhi |
India |
59.89.177.0/24 |
Bharat Sanchar Nigam Limited |
Pālampur |
India |
103.195.253.0/24 |
Protoact Digital Network |
Ranchi |
India |
169.149.224.0/24 |
Reliance Jio Infocomm |
Shimla |
India |
169.149.226.0/24 |
Reliance Jio Infocomm |
Shimla |
India |
169.149.227.0/24 |
Reliance Jio Infocomm |
Shimla |
India |
169.149.229.0/24 |
Reliance Jio Infocomm |
Shimla |
India |
169.149.231.0/24 |
Reliance Jio Infocomm |
Shimla |
India |
117.255.44.0/24 |
Bharat Sanchar Nigam Limited |
Sirsi |
India |
122.161.241.0/24 |
Bharti Airtel |
Srinagar |
India |
122.161.243.0/24 |
Bharti Airtel |
Srinagar |
India |
122.161.240.0/24 |
Bharti Airtel |
Srinagar |
India |
117.207.48.0/24 |
Bharat Sanchar Nigam Limited |
Yol |
India |
175.181.134.0/24 |
New Century InfoComm |
Hsinchu |
Taiwan |
36.238.185.0/24 |
Chunghwa Telecom |
Kaohsiung |
Taiwan |
36.237.104.0/24 |
Chunghwa Telecom |
Tainan |
Taiwan |
36.237.128.0/24 |
Chunghwa Telecom |
Tainan |
Taiwan |
36.237.189.0/24 |
Chunghwa Telecom |
Tainan |
Taiwan |
42.78.14.0/24 |
Chunghwa Telecom |
Tainan |
Taiwan |
61.216.48.0/24 |
Chunghwa Telecom |
Tainan |
Taiwan |
36.230.119.0/24 |
Chunghwa Telecom |
Taipei |
Taiwan |
114.43.219.0/24 |
Chunghwa Telecom |
Taipei |
Taiwan |
114.44.214.0/24 |
Chunghwa Telecom |
Taipei |
Taiwan |
114.45.2.0/24 |
Chunghwa Telecom |
Taipei |
Taiwan |
118.163.73.0/24 |
Chunghwa Telecom |
Taipei |
Taiwan |
118.167.21.0/24 |
Chunghwa Telecom |
Taipei |
Taiwan |
220.129.70.0/24 |
Chunghwa Telecom |
Taipei |
Taiwan |
106.64.121.0/24 |
Far EasTone Telecommunications |
Taoyuan City |
Taiwan |
1.169.65.0/24 |
Chunghwa Telecom |
Xizhi |
Taiwan |
122.100.113.0/24 |
Taiwan Mobile |
Yilan |
Taiwan |
185.93.229.0/24 |
Sucuri Security |
Ashburn |
United States |
128.61.64.0/24 |
Georgia Institute of Technology |
Atlanta |
United States |
216.66.111.0/24 |
Vermont Telephone |
Wallingford |
United States |