
Colabora sin problemas en Google Workspace y Egnyte
Noviembre 20, 2025
Ahora Google Vault es compatible con la app de Gemini
Noviembre 20, 2025Los investigadores de ESET proporcionan información sobre cómo PlushDaemon realiza ataques de adversary-in-the-middle (AiM) utilizando un implante de red no documentado previamente que hemos denominado EdgeStepper, que redirige todas las consultas DNS a un nodo de secuestro externo, que redirige efectivamente el tráfico de la infraestructura legítima utilizada para las actualizaciones de software a la infraestructura controlada por el atacante.
Puntos clave de este blogpost:
- Analizamos el implante de red EdgeStepper para entender cómo los atacantes PlushDaemon comprometen sus objetivos.
- Proporcionamos un análisis de LittleDaemon y DaemonicLogistics, dos downloader que despliegan el backdoor SlowStepper de la firma del grupo en equipos Windows.
Perfil de PlushDaemon
PlushDaemon es un actor de amenazas alineado con China, activo desde al menos 2018, que se dedica a operaciones de espionaje contra individuos y entidades en China, Taiwán, Hong Kong, Camboya, Corea del Sur, Estados Unidos y Nueva Zelanda. PlushDaemon utiliza un backdoor personalizado que rastreamos como SlowStepper, y su principal técnica de acceso inicial es secuestrar actualizaciones legítimas redirigiendo el tráfico a servidores controlados por el atacante a través de un implante de red que llamamos EdgeStepper. Además, hemos observado que el grupo obtiene acceso a través de vulnerabilidades en servidores web, y en 2023 realizó un ataque a la cadena de suministro.
Resumen
En 2024, mientras investigábamos los grupos de actividad de PlushDaemon (incluido el compromiso de la cadena de suministro de un servicio VPN surcoreano), observamos que un archivo ELF enviado a VirusTotal contenía dos subdominios de la infraestructura de PlushDaemon. Ese archivo, llamado bioset, estaba alojado previamente en un servidor probablemente comprometido por múltiples actores de amenazas. Obsérvese que el mismo día del envío a VirusTotal, un investigador (@James_inthe_box) tuiteó sobre un directorio abierto en el servidor donde estaba alojado bioset, por lo que la muestra probablemente fue subida a VirusTotal por un investigador que estaba investigando el contenido del directorio.
Internamente llamado dns_cheat_v2 por sus desarrolladores – y con nombre en código EdgeStepper por nosotros – bioset es la herramienta adversary-in-the-middle de PlushDaemon, que reenvía el tráfico DNS de las máquinas en una red objetivo a un nodo DNS malicioso. Esto permite a los atacantes redirigir el tráfico de actualizaciones de software a un nodo secuestrador que sirve instrucciones al software legítimo para descargar una actualización maliciosa.
Victimología
La Figura 1 presenta la distribución geográfica de las víctimas de PlushDaemon que han sido comprometidas a través de actualizaciones maliciosas, desde 2019, según la telemetría de ESET.

PlushDaemon ha comprometido a individuos y organizaciones ubicados en las siguientes regiones:
- Estados Unidos (2019)
- Taiwán (2021, 2024)
- China (2021-2024), incluida una universidad de Pekín y una empresa taiwanesa que fabrica productos electrónicos
- Hong Kong (2023)
- Nueva Zelanda (2023)
- Camboya (2025), incluida una empresa del sector del automóvil y una sucursal de una empresa japonesa del sector manufacturero
Ataque adversary in the middle
En primer lugar, PlushDaemon compromete un dispositivo de red (por ejemplo, un router) al que su objetivo podría conectarse; el compromiso se logra probablemente explotando una vulnerabilidad en el software que se ejecuta en el dispositivo o a través de credenciales administrativas débiles y/o conocidas por defecto, lo que permite a los atacantes desplegar EdgeStepper (y posiblemente otras herramientas).
EdgeStepper comienza redirigiendo las consultas DNS a un nodo DNS malicioso que verifica si el dominio (por ejemplo, info.pinyin.sogou.com de Sogou Pinyin) en el mensaje de consulta DNS está relacionado con actualizaciones de software, y si es así, responde con la dirección IP del nodo secuestrador. Alternativamente, también hemos observado que algunos servidores son tanto el nodo DNS como el nodo secuestrador; en esos casos, el nodo DNS responde a las consultas DNS con su propia dirección IP.
Tenga en cuenta que, dado que hemos estudiado detenidamente las actualizaciones del software Sogou Pinyin secuestrado, seguiremos utilizándolo como ejemplo de aquí en adelante. Muchos otros títulos populares de software chino también tienen sus actualizaciones secuestradas de manera similar por PlushDaemon a través de EdgeStepper.
La Figura 2 ilustra las primeras etapas del despliegue de las capacidades de PlushDaemon.

El software de actualización se comunica a través de HTTP con el nodo secuestrador en lugar de con la infraestructura legítima de Sogou; el nodo secuestrador responde con instrucciones para, por ejemplo, descargar un archivo DLL de http://ime.sogou.com/popup_4.2.0.2246.dll, como se muestra en la Figura 3.

El software envía una petición HTTP GET a ime.sogou.com para intentar obtener la DLL; sin embargo, la comunicación se redirige de nuevo al nodo secuestrador, que sirve popup_4.2.0.2246.dll que, en realidad, es la DLL de LittleDaemon . El proceso se ilustra en la Figura 4.

La figura 5 muestra el nodo secuestrador que sirve a LittleDaemon.

EdgeStepper
Según los símbolos del binario, EdgeStepper se llamaba originalmente dns_cheat_v2. Fue desarrollado en Go utilizando el framework de código abierto GoFrame, y compilado como un archivo ELF para procesadores MIPS32. Es importante señalar que es poco probable que EdgeStepper sea el único componente desplegado en el dispositivo de red comprometido. Desafortunadamente, no tenemos muestras de otros componentes en la cadena de compromiso.
EdgeStepper comienza obteniendo y descifrando los datos de configuración de /etc/bioset.conf. Para el descifrado, utiliza AES CBC con la clave y el IV siendo la cadena I Love Go Frame, que se utiliza como IV por defecto en la implementación de la biblioteca GoFrame.
La configuración descifrada revela los datos mostrados en la Figura 6.
[cheat]
toPort = 1090
host = "ds20221202.dsc.wcsset[.]com"Figura 6. Configuración desencriptada
El significado de los parámetros es el siguiente:
- toPort especifica el puerto donde EdgeStepper escuchará, y
- host especifica el dominio que se resuelve para obtener la(s) dirección(es) IP del nodo DNS al que se reenvían los paquetes de consulta DNS.
Además, hay un bloque de configuración (Figura 7) en el binario de EdgeStepper, que parece no estar referenciado en ninguna parte del código. El dominio en el campo host es test.dsc.wcsset[.]com, que se resuelve en 47.242.198[.]250. Observamos que esa dirección IP de 2021 a 2022 era la fuente de la actualización maliciosa: el nodo secuestrador. En el momento de escribir esto, el dominio se resuelve a esa dirección IP.

Tras cargar su configuración, EdgeStepper inicializa el sistema Distribuidor y el sistema Regidor.
Distribuidor
El distribuidor resuelve la(s) dirección(es) IP asociada(s) al valor del dominio en el campo host de la configuración e invoca al sistema Ruler. El flujo de trabajo del distribuidor se ilustra en la Figura 8.

- A través del sistema Ruler, el distribuidor redirige el tráfico del puerto 53 al puerto 1090, estableciéndose como proxy DNS.
- Cuando recibe un mensaje DNS desde el dispositivo de una víctima potencial, comprueba si el mensaje es compatible con RFC (probablemente sólo para verificar que el paquete es realmente del protocolo DNS).
- A continuación, reenvía el paquete al nodo DNS malicioso.
- Por último, reenvía la respuesta del nodo DNS al dispositivo.
Regla
El sistema Ruler utiliza el comando iptables para emitir nuevas reglas, y para eliminarlas al concluir el ataque. En primer lugar, emite una regla para redirigir todo el tráfico UDP del puerto 53 del dispositivo al puerto especificado por toPort en la configuración:
iptables -t nat -I PREROUTING -p udp –dport 53 -j REDIRECT –to-port
A continuación, emite un comando para aceptar los paquetes en ese puerto:
iptables -t filter -I INPUT -p udp –dport
Al terminar, elimina las reglas anteriores que estableció al emitir los comandos:
iptables -t nat -D PREROUTING *
iptables -t filter -D INPUT -p udp -dport
LittleDaemon
LittleDaemon es la primera etapa desplegada en la máquina de la víctima a través de actualizaciones secuestradas. Hemos observado versiones DLL y ejecutables, ambas PE de 32 bits. El objetivo principal de LittleDaemon es comunicarse con el nodo secuestrador para obtener el downloader que denominamos DaemonicLogistics. LittleDaemon no establece persistencia.
En primer lugar, verifica si el backdoor SlowStepper se está ejecutando en el sistema. Si no es así, LittleDaemon descarga DaemonicLogistics emitiendo una solicitud HTTP GET a un servidor (normalmente, el nodo secuestrador), lo descifra con una combinación de operaciones XOR y, a continuación, lo ejecuta.
La petición puede enviarse a dos dominios legítimos(ime.sogou.com o mobads.baidu.com) o a la dirección IP 119.136.153.0. La ruta del recurso es /update/updateInfo.bzp para los tres. En el caso de los dominios legítimos, se espera que el tráfico sea redirigido al nodo secuestrador por EdgeStepper.
DaemonicLogistics
DaemonicLogistics es un código independiente de la posición que LittleDaemon descarga y ejecuta en memoria. Su propósito principal es descargar y desplegar el implante SlowStepper.
Cuando DaemonicLogistics envía una petición al servidor (normalmente, el nodo secuestrador), éste responde con un código de estado HTTP, que DaemonicLogistics interpreta como un comando, y realiza las acciones enumeradas en la Tabla 1.
Tabla 1. Comandos soportados por DaemonicLogistics Comandos soportados por DaemonicLogistics
| Code | Action taken |
| 200 | Downloads SlowStepper without checking for the presence of a process named 360tray.exe (a component of the 360 Total Security antimalware solution). |
| 205 | |
| 206 | |
| 208 | |
| 203 | Downloads a file named plugin.exe and executes it (during our tests, the server did not request downloading this file). |
| 207 | Checks for the presence of a process named 360tray.exe and downloads SlowStepper if not present. |
| 202–300 | Default to execute command 200. These could be unimplemented commands. |
La solicitud inicial HTTP GET es enviada a:
ime.sogou.com/update/latest/new_version?tp=2&c=0&s=
El significado de los parámetros en la URL es el siguiente:
- Los valores tp y c están codificados por defecto en 2 y 0, respectivamente.
- El campo s es de un byte y es un número que identifica la versión del sistema operativo.
- El campo mac es de seis bytes y es el valor de la dirección MAC del adaptador ethernet o Wi-Fi de la máquina, o generado aleatoriamente si no consigue obtener ninguna; el valor es probablemente utilizado como identificador por el servidor.
Durante nuestro análisis observamos que el servidor respondía con el código de estado 207, a lo que DaemonicLogistics respondía con otra petición a ime.sogou.com/update/latest/new_version?tp=1&g=15&c=0. En este caso, la parte de la URL tp=1&g=15&c=0 está hardcodeada.
El servidor respondió con el código de estado 202. DaemonicLogistics procedió a hacer dos peticiones para descargar los archivos del payload de SlowStepper, primero a ime . sogou .com/update/file6.bdat, y luego a ime.sogou.com/update/file2.bdat.
Los datos del payload en la primera y segunda respuestas del servidor comenzaban con un valor mágico:
- En respuesta a la primera petición, el valor mágico en hexadecimal era 50 4B 03 04 0A 1B 2C 3D(PK\3\4\A\1B\2C\3C)
○ DaemonicLogistics comprueba activamente que los ocho primeros bytes de datos recibidos del servidor coinciden con este valor mágico. Si es cierto, escribe los datos a %PROGRAMDATA%\Tencent\QQUpdateMgr\UpdateFiles\logo.gif.
- En respuesta a la segunda petición, el valor mágico en hexadecimal fue 47 49 46 38 39 61 10 10(GIF89a\10\10)
○ DaemonicLogistics no comprueba específicamente este valor mágico: cuando la comprobación del valor mágico anterior no coincide, procesa los datos y los descifra mediante una combinación de operaciones XOR. Los datos contienen archivos que se escriben en el disco en las rutas especificadas en los datos descifrados..
Conclusión
Hemos analizado el implante de red EdgeStepper, que habilita las capacidades de PlushDaemon como adversario en el medio para secuestrar actualizaciones de máquinas en una red objetivo. También analizamos las herramientas LittleDaemon y DaemonicLogistics que, juntas, despliegan el implante SlowStepper en máquinas Windows. Estos implantes dan a PlushDaemon la capacidad de comprometer objetivos en cualquier parte del mundo.
IoCs
En nuestro repositorio de GitHub se puede encontrar una lista completa de indicadores de compromiso y muestras.
Archivos
| SHA-1 | Filename | ESET detection name | Description |
| 8F569641691ECB3888CD | bioset | Linux/Agent.AEP | EdgeStepper. |
| 06177810D61A69F34091 | bioset.conf | Win32/Rozena.BXX | EdgeStepper encrypted configuration. |
| 69974455D8C13C5D57C1 | popup_4.2.0. | Win32/Agent.AGXK | LittleDaemon. |
| 2857BC730952682D39F4 | sogou_wubi_15.4. | Win32/Agent.AFDT | LittleDaemon. |
Red
| IP | Domain | Hosting provider | First seen | Details |
| 8.212.132[.]120 | ds20221202.dsc. | Alibaba (US) Technology Co., Ltd. | 2024‑07‑12 | DNS/Hijacking node. |
| 47.242.198[.]250 | test.dsc.wcsset | Alibaba Cloud LLC | 2024‑07‑12 | DNS/Hijacking node. |
Técnicas ATT&CK de MITRE
Esta tabla se ha elaborado utilizando la versión 18 del marco MITRE ATT&CK.
| Tactic | ID | Name | Description |
| Resource Development | T1583.001 | Acquire Infrastructure: Domains | PlushDaemon uses EdgeStepper to redirect traffic to specific subdomains that are part of PlushDaemon’s infrastructure on wcsset[.]com. |
| T1583.002 | Acquire Infrastructure: DNS Server | Part of the PlushDaemon infrastructure is used to host its malicious DNS nodes. | |
| T1583.004 | Acquire Infrastructure: Server | PlushDaemon has acquired servers to host its DNS/hijacking nodes and C&C servers. | |
| T1608.001 | Stage Capabilities: Upload Malware | PlushDaemon hosts its payloads on DNS/hijacking servers. | |
| Initial Access | T1659 | Content Injection | Hijacking nodes from PlushDaemon process hijacked traffic and reply to legitimate software with instructions to download malware such as LittleDaemon. |
| Execution | T1106 | Native API | DaemonicLogistics executes the SlowStepper implant using the ShellExecute API. |
| Defense Evasion | T1070.004 | Indicator Removal: File Deletion | Some variants of LittleDaemon can remove themselves. |
| T1036.005 | Masquerading: Match Legitimate Name or Location | DaemonicLogistics creates a subdirectory named Tencent, where it stores its files. | |
| T1036.008 | Masquerading: Masquerade File Type | DaemonicLogistics and SlowStepper’s loader can decrypt files that masquerade as ZIP and GIF files. | |
| T1027.009 | Obfuscated Files or Information: Embedded Payloads | Files masquerading as ZIPs and GIF files contain embedded encrypted components. | |
| T1027.013 | Obfuscated Files or Information: Encrypted/Encoded File | Components of the SlowStepper implant are encrypted on disk. | |
| Discovery | T1518.001 | Software Discovery: Security Software Discovery | DaemonicLogistics checks for the presence of 360tray.exe – a component of 360 Total Security. |
| T1016 | System Network Configuration Discovery | DaemonicLogistics attempts to obtain the ethernet or Wi-Fi adapter’s MAC address. | |
| T1057 | Process Discovery | DaemonicLogistics lists processes. | |
| Command and Control | T1071.001 | Application Layer Protocol: Web Protocols | LittleDaemon and DaemonicLogistics use HTTP to communicate with their server. |
| T1573 | Encrypted Channel | LittleDaemon downloads via HTTP the encrypted DaemonicLogistics that downloads via HTTP the encrypted SlowStepper implant. | |
| T1665 | Hide Infrastructure | LittleDaemon and DaemonicLogistics make downloads by sending HTTP requests to legitimate domains. |
¡Para todos nuestros lectores!
Aprovechen esta oportunidad de obtener un trial gratuito de 30 días para Google Workspace, la mejor solución para tu empresa. Disfruta de todas sus funcionalidades, como correo electrónico personalizado, almacenamiento en la nube y herramientas de colaboración.

