Sophos News

Un doble “Dragon Breath” da un nuevo aire a los ataques de DLL sideloading (1 de 2)

Hemos detectado una actividad maliciosa de DLL sideloading que se basa en el escenario clásico de sideloading, pero añade complejidad y capas a su ejecución. Además, nuestra investigación indica que el actor o actores responsables de la amenaza les gusta tanto esta adaptación del escenario original que utilizaron múltiples variaciones del mismo, intercambiando repetidamente un componente concreto en el proceso para eludir la detección en este paso de la cadena de ataque.

Formas anteriores del ataque, ya han sido tratadas anteriormente en el sector, principalmente en los blogs Sinophone CTFIoT y Zhizu. El ataque se basa en un ataque clásico de sideloading, consistente en una aplicación limpia, un cargador malicioso y una carga útil cifrada, con diversas modificaciones de estos componentes a lo largo del tiempo. Las últimas campañas añaden un giro en el que una aplicación limpia de primera fase carga “lateralmente” una segunda aplicación limpia y la autoejecuta. La segunda aplicación limpia carga la DLL del cargador malicioso. Después, la DLL del cargador malicioso ejecuta la carga útil final.

Figura 1: DLL sideloading, con pasos adicionales recientemente identificados; las aplicaciones limpias se muestran en recuadros azules y dentro del contorno azul, mientras que los pasos maliciosos se muestran en recuadros naranjas con el tipo rojo. Este gráfico aparecerá en el informe con las particularidades de cada variación resaltadas

El actor de la amenaza más asociado a este ataque recibe diversos nombres: “Operation Dragon Breath”, “APT-Q-27” o “Golden Eye Dog”, y se cree que está especializado en los juegos de azar online y sus participantes. A estos actores les gustó tanto este escenario de dos aplicaciones limpias que utilizaron múltiples escenarios en los que la aplicación de la segunda etapa se sustituye por otras aplicaciones limpias.

Las campañas originales iban dirigidas a usuarios de Windows de habla china que participaban en juegos de azar online, y los vectores de infección iniciales se distribuyeron a través de Telegram. Hasta la fecha, hemos identificado objetivos en Filipinas, Japón, Taiwán, Singapur, Hong Kong y China. Sophos bloquea normalmente los ataques de carga lateral durante el proceso de carga lateral, de modo que la carga útil nunca se ejecuta y los usuarios están protegidos.

Figura 2: dónde detectamos Operation Double Dragon Breath

En esta investigación encontramos varias variaciones en el enfoque del doble limpiador-instalador; las variaciones implicaban principalmente cambios precisamente en el programa del que se abusaba en la segunda etapa, con algunos efectos secundarios causados a su vez por esos cambios. Describiremos el código más comúnmente encontrado en cada etapa, tocando las variaciones a medida que avancemos.

El principio: vector de infección

Al principio, nuestra investigación nos llevó a un sitio web (telegramos[.]org) que ofrece, o dice ofrecer, versiones en chino de la aplicación Telegram para Android, iOS y Windows. Observamos que el sitio (que nosotros y otros proveedores señalamos como malicioso) ignoraba ocasionalmente, pero no sistemáticamente, nuestras opciones de SO cuando hacíamos clic en los enlaces de descarga, entregando en su lugar una versión basada en la cadena de agente de usuario a la que estaba configurado nuestro navegador, como se muestra en las capturas de pantalla siguientes.

Figura 3: hacer clic en el botón “Windows” de la página de descarga de Windows no significó nada cuando nuestro navegador se identificó como Android
Figura 4: así que cambiamos nuestra cadena UA a IE

Este es el sitio desde el que se cree que el usuario afectado descargó el paquete que causó la infección. La forma en que el usuario encontró el sitio por primera vez, ya sea a través de phishing o envenenamiento SEO o algún otro método, está fuera del alcance de esta investigación.

Instalador de primera etapa: Telegram

Como se ha mencionado anteriormente, la investigación inicial de estos ataques implicaba un instalador malicioso de Telegram. Más adelante en este artículo veremos variaciones en las que se utilizaron otras aplicaciones “señuelo”, pero Telegram fue con diferencia el señuelo más común, y diseccionarlo proporciona un buen ejemplo de cómo funciona el ataque.

Cuando se ejecuta el instalador malicioso de Telegram (SHA256: 097899b3acb3599944305b064667e959c707e519aef3d98be1741bbc69d56a17), instala y ejecuta el paquete de carga lateral.

Figura 5: esta pantalla de configuración es en realidad maliciosa

Instala varios componentes en el sistema, colocándolos en un directorio de la carpeta de datos del usuario:

Figura 6: regalos del asistente de configuración malicioso

También crea un acceso directo en el escritorio. Sin embargo, este acceso directo no ejecuta el programa Telegram, sino un comando inusual:

C:\Users\{redacted}\AppData\Roaming\Tg_B518c1A0Ff8C\appR.exe /s   /n   /u   /i:appR.dat   appR.dll

Aquí appR.exe es el componente de Windows regsvr32.exe, con su nuevo nombre. Ejecutará la biblioteca appR.dll, que es otro componente de Windows renombrado, scrobj.dll: el motor de ejecución de scripts. A continuación, ejecutará el código Javascript almacenado en appR.dat:

Figura 7: su descripción en el registro es Bandit, lo cual es exacto

Cuando se ejecuta el acceso directo, se ejecuta el código JavaScript. Para el usuario, muestra la esperada interfaz de usuario del escritorio de Telegram, principalmente en chino:

Figura 8: una versión en su mayor parte transliterada de la interfaz de escritorio de Telegram

Pero entre bastidores deja caer varios componentes de carga lateral en un directorio:

Figura 9: un directorio con archivos problemáticos depositados en él

El instalador también crea un archivo de acceso directo en el directorio de inicio del usuario. De esta forma, el malware establece la persistencia y permite la ejecución automática tras el inicio del sistema.

Figura 10: un acceso directo de aspecto bastante inocuo es cualquier cosa menos eso; fíjate en “Application.exe”, que volveremos a ver en la siguiente fase del ataque

Los componentes de carga lateral y el enlace de inicio solo se crean cuando se ejecuta el enlace Telegram del escritorio. Esto podría ser un truco anti análisis, ya que los sandboxes de análisis dinámico no verían los archivos sideloader descartados.

Una variación de la primera etapa: instalador de LetsVPN

También hemos encontrado un instalador troyanizado para LetsVPN (SHA256: e414fc7bcd80a75d57ee4fdbb1c80a90a0993be8e8bbbe0decfc62870a2e1e86). Las partes maliciosas del paquete son las mismas que en los casos de Telegram, pero la aplicación limpia incluida es LetsVPN:

Figura 11: la variante de LetsVPN que encontramos está traducida al chino en su pantalla inicial, pero la pantalla de instalación está en inglés

Como hacía el instalador de Telegram, crea un acceso directo en el escritorio. El programa que lanza el acceso directo invoca el código JavaScript que realiza la instalación final del paquete de sideloading.

Figura 12: el icono ha cambiado, pero la aplicación a la que realmente apunta sigue siendo la misma

Otra variación de la primera etapa: Instalador de WhatsApp

En un caso, no tuvimos contacto directo con el archivo instalador, pero nuestra telemetría muestra que ejecutar un archivo llamado Whatsapp.msi también conduce a la instalación de los archivos maliciosos que vimos en los otros dos ejemplos de primera etapa.

\roaming\whatsapp_ae2b02\appmain.exe : 91e4eb7517f55ac93b1da109539aa0011e9346be41704dc0da360ebad0f3f63d

\roaming\whatsapp_ae2b02\appr.dll : e25289d44403a6f6132a470fdbe6b46eade466d08eca0ad44fca519592c54fdf

\roaming\whatsapp_ae2b02\appr.exe : fffa7a97fba9dfb235f969ecce0e5c4a71a48a37c1bc79b77cd78f0ab72f993d

\roaming\whatsapp_ae2b02\littleunzip.exe : 81046f943d26501561612a629d8be95af254bc161011ba8a62d25c34c16d6d2a

\roaming\whatsapp_ae2b02\app-2.2232.8\whatsapp.exe : 8d92c7d7f301bc0e4965dbd9253933a4580883805119dd7c27788d04c17d595e

c:\users\public\application2\application.exe : c936f1598721a9a92d7f31c6c13b55013b8a2a344e3df4156e5b033006336544

c:\users\public\application2\xlgameupdate.exe : 769d59d03036af86c7a9950f03ebc7b693a94d3e2f8ecd1d74cf5600ab948105

c:\users\public\application2\libexpat.dll : 31d2076066107bd04ab24ff7bbdf8271aa16dd1d04e70bd9cc492e9aa1e6c82b

c:\users\public\application2\basicnetutils.dll : ae2e145b36ab2ed129a2d34de435b76a1f4e5a4820d9d623e7018b87f24d0648