Operation NightScout: ataque a la cadena de suministro dirigido a los juegos en línea en Asia


Los investigadores de ESET descubren un ataque a la cadena de suministro utilizado en una operación de ciberespionaje dirigida a comunidades de juegos en línea en Asia

Durante 2020, la investigación de ESET informó varios ataques a la cadena de suministro, como el caso de WIZVERA VeraPort, utilizado por sitios web gubernamentales y bancarios en Corea del Sur, Operación StealthyTrident comprometer el software de chat Able Desktop utilizado por varias agencias gubernamentales de Mongolia, y Operación SignSight, comprometiendo la distribución de software de firma distribuido por el gobierno vietnamita.

En enero de 2021, descubrimos un nuevo ataque a la cadena de suministro que comprometía el mecanismo de actualización de NoxPlayer, un emulador de Android para PC y Mac, y parte de BigNox's gama de productos con más de 150 millones de usuarios en todo el mundo.

Este software lo utilizan generalmente los jugadores para jugar juegos móviles desde sus PC, lo que hace que este incidente sea algo inusual.

Se detectaron tres familias de malware diferentes que se distribuían a partir de actualizaciones maliciosas personalizadas a víctimas seleccionadas, sin signos de aprovechar ninguna ganancia financiera, sino capacidades relacionadas con la vigilancia.

Detectamos similitudes en los cargadores que hemos estado monitoreando en el pasado con algunos de los utilizados en esta operación, como los casos que descubrimos en un compromiso de la cadena de suministro del sitio web de la oficina presidencial de Myanmar en 2018, y a principios de 2020 en una intrusión en Hong Universidad de Kong.

Sobre BigNox

BigNox es una empresa con sede en Hong Kong que ofrece varios productos, principalmente un emulador de Android para PC y Mac llamado NoxPlayer. De la empresa sitio web oficial afirma que tiene más de 150 millones de usuarios en más de 150 países que hablan 20 idiomas diferentes. Sin embargo, es importante tener en cuenta que la base de seguidores de BigNox se encuentra principalmente en países asiáticos.

BigNox también escribió un extenso entrada en el blog en 2019 sobre el uso de VPN junto con NoxPlayer, lo que demuestra la preocupación de la empresa por la privacidad de sus usuarios.

Nos hemos puesto en contacto con BigNox sobre la intrusión y negaron haber sido afectados. También hemos ofrecido nuestro apoyo para ayudarlos a superar la divulgación en caso de que decidan realizar una investigación interna.

¿Estoy comprometido?

  • Quién se ve afectado: Usuarios de NoxPlayer.
  • Cómo determinar si recibí una actualización maliciosa o no: verifique si algún proceso en curso tiene una conexión de red activa con servidores C&C activos conocidos, o vea si alguno de los programas maliciosos basados ​​en los nombres de archivo que proporcionamos en el informe está instalado en:
    • C: ProgramData Sandboxie SbieIni.dat
    • C: ProgramData Sandboxie SbieDll.dll
    • C: ProgramData LoGiTech LBTServ.dll
    • C: Archivos de programa Internet Explorer ieproxysocket64.dll
    • C: Archivos de programa Internet Explorer ieproxysocket.dll
    • un archivo llamado % LOCALAPPDATA% Nox update UpdatePackageSilence.exe no firmado digitalmente por BigNox.
  • Cómo mantenerse a salvo:
    • En caso de intrusión, vuelva a instalar de forma estándar desde un medio limpio.
    • Para usuarios no comprometidos: no descargue ninguna actualización hasta que BigNox notifique que ha mitigado la amenaza.

Cronología

Según la telemetría de ESET, vimos los primeros indicadores de compromiso en septiembre de 2020 y la actividad continuó hasta que descubrimos actividad explícitamente maliciosa el 25 de enero.th, 2021, momento en el que informamos del incidente a BigNox.

Victimología

En comparación con el número total de usuarios activos de NoxPlayer, hay un número muy pequeño de víctimas. Según la telemetría de ESET, más de 100.000 de nuestros usuarios tienen Noxplayer instalado en sus máquinas. Entre ellos, solo 5 usuarios recibieron una actualización maliciosa, lo que demuestra que Operation NightScout es una operación muy específica. Las víctimas tienen su sede en Taiwán, Hong Kong y Sri Lanka.

Figura 1. Mapa de victimología de Asia

No pudimos encontrar correlaciones que sugirieran relaciones entre las víctimas. Sin embargo, según el software comprometido en cuestión y el malware entregado que exhibe capacidades de vigilancia, creemos que esto puede indicar la intención de recopilar información sobre objetivos involucrados de alguna manera en la comunidad de jugadores.

Es importante resaltar que, a diferencia de operaciones anteriores similares como la Actividad de Winnti Group dirigida a la industria del juego en 2019, no hemos encontrado indicadores que sugieran la proliferación indiscriminada de actualizaciones maliciosas entre un gran número de usuarios de NoxPlayer, lo que refuerza nuestra creencia de que se trata de una operación muy específica.

Mecanismo de actualización

Para comprender la dinámica de este ataque a la cadena de suministro, es importante saber qué vector se utilizó para entregar malware a los usuarios de NoxPlayer. Este vector fue el mecanismo de actualización de NoxPlayer.

Al iniciarse, si NoxPlayer detecta una versión más reciente del software, le mostrará al usuario un cuadro de mensaje (Figura 2) para ofrecer la opción de instalarlo.

Figura 2. Solicitud de actualización de NoxPlayer

Esto se hace consultando el servidor de actualizaciones a través de la API HTTP de BigNox (api.bignox.com) para recuperar información de actualización específica, como se ve en la Figura 3.

Figura 3. Solicitud de API de actualización del cliente NoxPlayer

La respuesta a esta consulta contiene información específica de la actualización, como la URL binaria de actualización, su tamaño, hash MD5 y otra información adicional relacionada, como se muestra en la Figura 4.

Figura 4. Respuesta de la API del servidor NoxPlayer

Al presionar el botón "Actualizar ahora" de la Figura 1, la aplicación binaria principal de NoxPlayer Nox.exe proporcionará los parámetros de actualización recibidos a otro binario en su caja de herramientas NoxPack.exe, que se encarga de descargar la propia actualización, como se puede apreciar en la Figura 5.

Figura 5. Cadena de ejecución de NoxPlayer en la actualización

Una vez hecho esto, la barra de progreso en el cuadro de mensaje reflejará el estado de la descarga (Figura 6) y, cuando se haya completado, se habrá realizado la actualización.

Figura 6. Actualización de NoxPlayer en curso a través de NoxPack.exe

Indicadores de compromiso de la cadena de suministro

Tenemos evidencia suficiente para afirmar que la infraestructura de BigNox (res06.bignox.com) se vio comprometido para alojar malware y también para sugerir que su infraestructura de API HTTP (api.bignox.com) podría haberse visto comprometido. En algunos casos, el actualizador de BigNox descargó cargas útiles adicionales desde servidores controlados por atacantes. Esto sugiere que los atacantes manipularon el campo URL, proporcionado en la respuesta de la API de BigNox. El flujo de intrusión observado se muestra en la Figura 7.

Figura 7. Diagrama de secuencia de flujo de intrusión

A continuación, se ofrece una descripción general de lo que se muestra en el diagrama de secuencia anterior:

  1. En el lanzamiento, el ejecutable principal de NoxPlayer Nox.exe enviará una solicitud a través de la API para consultar información de actualización.
  2. El servidor API de BigNox responde a la solicitud del cliente con información de actualización específica, incluida la URL para descargar la actualización desde la infraestructura legítima de BigNox.
  3. Nox.exe proporciona los parámetros adecuados para NoxPlayer.exe para descargar la actualización.
  4. La actualización legítima almacenada en la infraestructura de BigNox podría haber sido reemplazada con malware, o puede ser un nuevo nombre de archivo / URL no utilizado por actualizaciones legítimas.
  5. Se instala software malicioso en la máquina de la víctima. Al contrario de las actualizaciones legítimas de BigNox, los archivos maliciosos no están firmados digitalmente, lo que sugiere que el sistema de compilación de BigNox no se vio comprometido, sino solo sus sistemas que distribuyen las actualizaciones.
  6. Se realiza algún reconocimiento de la víctima y se envía información a los operadores de malware.
  7. Los perpetradores adaptan actualizaciones maliciosas a víctimas específicas de interés basándose en algún esquema de filtrado desconocido.
  8. Nox.exe realizará solicitudes de actualización esporádicas.
  9. El servidor de API de BigNox responde al cliente con información de actualización, que indica que la actualización se almacena en la infraestructura controlada por el atacante.
  10. Se envía más malware a víctimas seleccionadas.

Con esta información podemos destacar varias cosas:

  • La infraestructura legítima de BigNox distribuía malware para actualizaciones específicas. Observamos que estas actualizaciones maliciosas solo se llevaron a cabo en septiembre de 2020.
  • Además, observamos que para víctimas específicas, las actualizaciones maliciosas se descargaron desde la infraestructura controlada por el atacante posteriormente y durante el final de 2020 y principios de 2021.
  • Estamos muy seguros de que estas actualizaciones adicionales fueron realizadas por Nox.exe suministro de parámetros específicos para NoxPack.exe, lo que sugiere que el mecanismo de la API de BigNox también puede haberse visto comprometido para entregar actualizaciones maliciosas personalizadas.
  • También podría sugerir la posibilidad de que las víctimas hayan sido sometidas a un ataque MitM, aunque creemos que esta hipótesis es poco probable, ya que las víctimas que descubrimos están en diferentes países y los atacantes ya tenían un punto de apoyo en la infraestructura de BigNox.
  • Además, pudimos reproducir la descarga de las muestras de malware alojadas en res06.bignox.com desde una máquina de prueba y usando https. Esto descarta la posibilidad de que se haya utilizado un ataque MitM para manipular el binario de actualización.

También es importante mencionar que las actualizaciones maliciosas descargadas de la infraestructura controlada por el atacante imitaron la ruta de las actualizaciones legítimas:

  • Actualización maliciosa de la infraestructura controlada por el atacante:
    http: //cdn.cloudfronte (.) com / player / upgrade / ext / 20201030/1 / 35e3797508c555d5f5e19f721cf94700.exe
  • Actualización legítima de NoxPlayer:
    http: //res06.bignox (.) com / player / upgrade / 202012 / 1b31bced0a564bed9f60264f061dcdae.exe

Además, los nombres de dominio registrados controlados por atacantes imitaban el nombre de dominio de la red BigNox CDN, que es cloudfront.net.

Estos indicadores sugieren que los atacantes intentaban evitar la detección para poder permanecer fuera del radar y lograr la persistencia a largo plazo.

Software malicioso

Se observaron un total de tres variantes de actualización maliciosas diferentes, cada una de las cuales eliminó un malware diferente. Estas variantes son las siguientes:

Variante de actualización maliciosa 1

Esta variante es una de las actualizaciones preliminares que apuntan a la infraestructura de BigNox comprometida. Nuestro análisis se basa en la muestra con SHA-1 CA4276033A7CBDCCDE26105DEC911B215A1CE5CF.

El malware entregado no parece haber sido documentado antes. No es extremadamente complejo, pero tiene suficientes capacidades para monitorear a sus víctimas. El archivo RAR SFX inicial coloca dos DLL en C: Archivos de programa Internet Explorer y ejecuta uno de ellos, dependiendo de la arquitectura, a través de rundll32.exe. Los nombres de estas DLL son los siguientes:

  • ieproxysocket64.dll
  • ieproxysocket.dll

También suelta un archivo de texto llamado KB911911.LOG en el disco, en el que se escribirá el nombre original del instalador SFX. La DLL intenta abrir y leer este archivo de registro y, si no lo encuentra, detendrá la ejecución, por lo que implementará una barrera de seguridad.

La DLL luego verificará si ha sido cargada por alguno de los siguientes procesos; si lo ha hecho, detendrá su propia ejecución:

  • smss.exe
  • winlogon.exe
  • csrss.exe
  • wininit.exe
  • services.exe
  • explorer.exe

Se comprobará la dirección IP de la máquina para verificar que no 127.0.0.1 ni 0.0.0.0; si es así, se volverá a comprobar en un bucle infinito hasta que cambie. De lo contrario, procederá a extraer el UUID de la máquina actual mediante una consulta de objeto WMI. Este UUID devuelto se codifica utilizando MD5 para serializar la víctima actual. La información del nombre de la cuenta también se recuperará y guardará.

Se recuperará una configuración cifrada del recurso de la DLL. Esta configuración se cifra mediante un XOR de dos bytes con 0x5000. La configuración encriptada es parcialmente visible dada la debilidad de la clave utilizada:

Figura 8. Configuración encriptada en recursos

El formato de esta configuración es el siguiente (aproximadamente):

Compensar Talla Comentario
0x00 0x08 Magia de encabezado JPG falso
0x08 0x12C Búfer que contiene información C&C tokenizada
0x134 0x14 Puerto de retención de búfer para comunicación C&C
0x148 0x14 Hora de dormir
0x15C 0x14 Operar bandera; no opere con herramientas de monitoreo de red implementadas o si esta marca está configurada
0x170 0x14 N / A
0x184 0x14 Bandera de DNS; añadir un token al final de un búfer de nombre de host con | UDP o | DNS, dependiendo del valor de este campo
0x198 0x38 Inicio de desplazamiento de retención variable del búfer de configuración decodificado

Una vez analizada la configuración, la puerta trasera comprobará varias veces los procesos de supervisión de la red antes de transferir la ejecución al bucle C&C. La operación se detiene si se establece el indicador Operate o si se está ejecutando alguno de los siguientes procesos:

La puerta trasera puede usar una dirección IP sin procesar o un nombre de dominio para comunicarse con el servidor C&C. Después de una conexión exitosa al C&C, el malware podrá ejecutar los siguientes comandos:

ID de comando Especificación
getfilelist-delete Eliminar archivos especificados del disco
getfilelist-run Ejecute un comando a través del WinExec API
getfilelist-upload Cargar un archivo a través de ScreenRDP.dll :: ConnectRDServer
getfilelist-downfile1 Descarga un archivo específico
getfilelist-downfile2 Descarga un directorio específico
getfilelist-downfile3 Igual que getfilelist-downfile2
\ tsclient drive redirección de ciertos directorios (comenzando con UN: para rango (0x1A))

Figura 9. Anatomía de la variante 1 de actualización maliciosa

Variante de actualización maliciosa 2

Esta variante de malware también se descubrió que se descargaba de la infraestructura legítima de BigNox. Nuestro análisis se basa en la muestra con SHA-1 E45A5D9B03CFBE7EB2E90181756FDF0DD690C00C.

Contiene varios archivos que comprenden lo que se conoce como paquete tridente, en el que se utiliza un ejecutable firmado para cargar una DLL maliciosa, que descifrará y cargará un shellcode, implementando un cargador reflectante para la carga útil final.

El tema de este paquete de tridentes fue disfrazar el malware como Sandboxie componentes. Los nombres de los componentes incluidos son los siguientes:

Nombre del archivo Descripción
C: ProgramData Sandboxie SandboxieBITS.exe Servicios COM de Sandboxie firmados (BITS)
C: ProgramData Sandboxie SbieDll.dll DLL secuestrado maliciosamente
C: ProgramData Sandboxie SbieIni.dat Carga útil cifrada maliciosa; descifra una instancia cargada reflectantemente de Gh0st RAT
C: Users Administrator AppData Local Temp delself.bat Script para auto-borrar el ejecutable inicial
C: Windows System32 wmkawe_3636071.data Archivo de texto que contiene la oración Estúpido japonés

Hemos encontrado otras instancias de este mismo archivo de texto, arrojado por un cargador muy similar en un compromiso de la cadena de suministro que involucró al sitio web de la oficina presidencial de Myanmar en 2018, y en una intrusión en una universidad de Hong Kong en 2020.

La carga útil final desplegada fue una variante de Gh0st RAT con capacidades de keylogger.

Figura 10. Anatomía de la variante 2 de actualización maliciosa

Variante de actualización maliciosa 3

Esta variante de actualización solo se detectó en actividad posterior a las actualizaciones maliciosas iniciales, descargadas de la infraestructura controlada por el atacante. Nuestro análisis se basa en la muestra con SHA-1 AA3D31A1A6FE6888E4B455DADDA4755A6D42BEEB.

Del mismo modo, al igual que con la variante anterior, esta actualización maliciosa viene incluida en un archivo MFC y extrae dos componentes: un archivo firmado benigno y una dependencia del mismo. Los componentes son:

Nombre del archivo Descripción
C: ProgramData LoGiTech LoGitech.exe Binario de Logitech firmado
C: ProgramData LoGiTech LBTServ.dll DLL malicioso descifra y carga de forma reflexiva una instancia de PoisonIvy

En las víctimas descubiertas más recientemente, el binario descargado inicial se escribió en Delphi, mientras que para las víctimas anteriores, la misma URL controlada por el atacante soltó un binario escrito en C ++. Estos binarios son los cargadores preliminares iniciales. Aunque los cargadores se escribieron en diferentes lenguajes de programación, ambas versiones implementaron la misma carga útil final, que es una instancia del RATA Hiedra Venenosa.

Figura 11. Anatomía de la variante 3 de actualización maliciosa

Conclusión

Hemos detectado varios ataques a la cadena de suministro en el último año, como Operación SignSight o el compromiso de Escritorio capaz entre otros. Sin embargo, el compromiso de la cadena de suministro involucrado en Operation NightScout es particularmente interesante debido a la vertical objetivo, ya que rara vez encontramos muchas operaciones de ciberespionaje dirigidas a jugadores en línea.

Los ataques a la cadena de suministro seguirán siendo un vector de compromiso común aprovechado por los grupos de ciberespionaje, y su complejidad puede afectar el descubrimiento y la mitigación de este tipo de incidentes.

Para cualquier consulta, o para hacer presentaciones de muestra relacionadas con el tema, contáctenos en: Threatintel@eset.com.

Reconocimiento

El autor quisiera dar crédito especial a Matthieu Faou por su apoyo y retroalimentación durante la investigación.

Indicadores de compromiso (IoC)

Archivos

SHA-1 Nombre de detección de ESET Descripción
CA4276033A7CBDCCDE26105DEC911B215A1CE5CF Win32 / Agent.UOJ Variante de actualización maliciosa 1
E45A5D9B03CFBE7EB2E90181756FDF0DD690C00C Win32 / GenKryptik.ENAT Variante de actualización maliciosa 2
AA3D31A1A6FE6888E4B455DADDA4755A6D42BEEB Win32 / Kryptik.HHBQ Variante de actualización maliciosa 3
5732126743640525680C1F9460E52D361ACF6BB0 Win32 / Delf.UOD Variante de actualización maliciosa 3

Servidores C&C

210.209.72 (.) 180
103.255.177 (.) 138
185.239.226 (.) 172
45.158.32 (.) 65
cdn.cloudistcdn (.) com
q.cloudistcdn (.) com
update.boshiamys (.) com

URL de actualización maliciosas

http: //cdn.cloudfronter (.) com / player / upgrade / ext / 20201030/1 / 35e3797508c555d5f5e19f721cf94700.exe
http: //cdn.cloudfronter (.) com / player / upgrade / ext / 20201101/1 / bf571cb46afc144cab53bf940da88fe2.exe
http: //cdn.cloudfronter (.) com / player / upgrade / ext / 20201123/1 / 2ca0a5f57ada25657552b384cf33c5ec.exe
http: //cdn.cloudfronter (.) com / player / upgrade / ext / 20201225 / 7c21bb4e5c767da80ab1271d84cc026d.exe
http: //cdn.cloudfronter (.) com / player / upgrade / ext / 20210119 / 842497c20072fc9b92f2b18e1d690103.exe
https: //cdn.cloudfronte (.) com / player / upgrade / ext / 20201020/1 / c697ad8c21ce7aca0a98e6bbd1b81dff.exe
http: //cdn.cloudfronte (.) com / player / upgrade / ext / 20201030/1 / 35e3797508c555d5f5e19f721cf94700.exe
http: //res06.bignox (.) com / player / upgrade / 202009 / 6c99c19d6da741af943a35016bb05b35.exe
http: //res06.bignox (.) com / player / upgrade / 202009 / 42af40f99512443cbee03d090658da64.exe

Técnicas MITRE ATT & CK

Nota: esta tabla fue construida usando versión 8 del marco MITRE ATT & CK.

Táctica CARNÉ DE IDENTIDAD Nombre Descripción
Acceso inicial T1195.002 Compromiso de la cadena de suministro: Compromiso de la cadena de suministro del software El malware se envía a través de las actualizaciones de NoxPlayer.
Ejecución T1053.005 Tarea / Trabajo programado: Tarea programada Las instancias de la variante 3 de actualización maliciosa se ejecutarán a través de la tarea programada.
Ejecución T1569.002 Servicios del sistema: ejecución de servicios Las instancias de la variante 2 de actualización maliciosa se ejecutarán mediante la ejecución del servicio.
Persistencia T1053.005 Tarea / Trabajo programado: Tarea programada Las instancias de la variante 2 de actualización maliciosa crearán una tarea programada para establecer la persistencia.
Evasión de defensa T1140 Desofuscar / decodificar archivos o información Las variantes de actualización maliciosas 2 y 3 estarán incluidas en los paquetes "tridente" con fines de evasión.
T1574.002 Flujo de ejecución de secuestro: carga lateral de DLL Las actualizaciones maliciosas enviadas como paquetes "trident" realizarán la carga lateral de DLL.
Colección T1056.001 Captura de entrada: registro de teclas Algunas de las cargas útiles finales, como PoisonIvy y Gh0st RAT, tienen capacidades de registro de teclas.
Comando y control T1090.001 Proxy: Proxy interno La variante de carga útil final de PoisonIvy tiene capacidades para autenticarse con proxies.
T1095 Protocolo de capa que no es de aplicación Todas las instancias de actualización maliciosas se comunican a través de TCP o UDP sin procesar.
T1573 Canal encriptado Tanto PosionIvy como Gh0st RAT utilizan comunicación TCP cifrada para evitar la detección.
Exfiltración T1041 Exfiltración sobre canal C2 La exfiltración en todas las instancias de actualizaciones maliciosas se realiza a través de un canal de comando y control.





Enlace a la noticia original