El grupo de amenazas persistentes avanzadas (APT) conocido como Webworm, vinculado a China, ha actualizado significativamente su arsenal en 2025 con la incorporación de dos nuevas puertas traseras que abusan de plataformas legítimas como Discord y Microsoft Graph API para la comunicación con sus servidores de comando y control (C&C). Este cambio táctico, identificado por investigadores de seguridad, marca una evolución en las operaciones del grupo, que ha desplazado su enfoque geográfico desde Asia hacia Europa, atacando a entidades gubernamentales en Bélgica, Italia, Serbia y Polonia, además de una incursión en Sudáfrica contra una universidad local.
De las RATs tradicionales a las herramientas furtivas: la evolución de Webworm
Webworm ha estado activo desde al menos 2022, cuando fue reportado inicialmente por Symantec. En sus primeras campañas, el grupo se caracterizaba por el uso de puertas traseras y troyanos de acceso remoto (RATs) establecidos, como McRat (también conocido como 9002 RAT) y Trochilus, dirigidos principalmente contra organizaciones en Asia. Sin embargo, para 2024, los analistas observaron un cambio de estrategia: Webworm comenzó a abandonar estas herramientas tradicionales en favor de soluciones de proxy legítimas o semilegítimas, como SoftEther VPN y otras herramientas de red. Este movimiento no solo les permite evadir la detección con mayor eficacia, sino que también les obliga a depender de intérpretes de comandos como cmd.execode o powershell.execode para ejecutar órdenes, compensando la falta de un conjunto completo de comandos nativo de las RATs.
Para 2025, esta tendencia se consolidó. Webworm parece haber abandonado por completo Trochilus y McRat, y en su lugar ha desplegado dos nuevas puertas traseras personalizadas: EchoCreep, basada en Discord, y GraphWorm, que utiliza Microsoft Graph API. Además, el grupo ha seguido empleando soluciones de proxy de código abierto como iox (para reenvío de puertos y proxy de intranet) y frp (fast reverse proxy), pero también ha añadido herramientas proxy propias: WormFrp, ChainWorm, SmuxProxy y WormSocket. Estas herramientas personalizadas no solo cifran las comunicaciones, sino que permiten el encadenamiento a través de múltiples hosts, tanto internos como externos a una red, lo que sugiere la creación de una red oculta mucho más amplia al engañar a las víctimas para que ejecuten estos proxies.
EchoCreep: la puerta trasera que abusa de Discord para comando y control
EchoCreep es una puerta trasera escrita en Go que utiliza Discord como servidor de C&C. Los mensajes más antiguos detectados datan del 21 de marzo de 2024, aunque inicialmente parecen ser pruebas de los operadores. La puerta trasera es capaz de ejecutar comandos como uploadcode (subir archivos a Discord como adjuntos), downloadcode (descargar archivos desde una URL), shellcode (ejecutar comandos en cmd.execode) y sleepcode (pausar la ejecución). Toda la comunicación de red pasa a través de las API de Discord mediante solicitudes HTTP manipuladas. Los comandos se decodifican primero con base64 y luego se descifran con AES-CBC-128.
Los investigadores lograron descifrar más de 400 mensajes de Discord, lo que les permitió identificar cuatro canales únicos, cada uno correspondiente a una víctima diferente. Los nombres de los canales eran la dirección IP de la víctima o una combinación de la IP y el nombre del host. Al ejecutarse por primera vez, EchoCreep no crea un nuevo canal, sino que envía un mensaje de «Up Success» a un canal ya existente, lo que indica que los operadores ya conocían los objetivos o habían exfiltrado la información necesaria tras el acceso inicial. Entre los mensajes descifrados también se encontraron pruebas de los operadores, incluyendo configuraciones de IP locales y comandos de prueba que luego evolucionaron hacia operaciones reales de descarga de herramientas como frp.
¿Cómo funciona EchoCreep exactamente?
EchoCreep utiliza un token de bot de Discord para autenticarse y comunicarse con los canales designados. Una vez comprometida una máquina, la puerta trasera puede recibir órdenes del operador a través de mensajes en el canal. El operador envía un mensaje con el comando cifrado, EchoCreep lo descifra, lo ejecuta en el sistema víctima y luego envía la salida (o el archivo) de vuelta al canal de Discord como un adjunto o mensaje de texto. Por ejemplo, un comando típico tiene la estructura: {"guild": "lol", "channel_id": ..., "channel": "fire", "content": "shell whoami", "time": ..., "author_id": ..., "author": "jonson889912"}code. Todo el proceso es transparente para el usuario de Discord, ya que los mensajes parecen conversaciones normales entre usuarios.
GraphWorm: usando OneDrive y Microsoft Graph API como canal de C&C
GraphWorm es otra nueva puerta trasera de Webworm, diseñada para ejecutarse cada vez que la víctima inicia sesión en la máquina. Utiliza la Microsoft Graph API para la comunicación con el C&C, almacenando los datos dentro de un inquilino de Microsoft Graph. Específicamente, la puerta trasera emplea exclusivamente OneDrive para recibir comandos y enviar datos de la víctima. Toda la información se cifra primero con AES-256-CBC mediante las librerías OpenSSL EVP y luego se codifica en base64. GraphWorm también permite configurar ajustes de proxy, tunelizando todo el tráfico a través del proxy especificado.
En su primera ejecución, GraphWorm crea un identificador único de víctima concatenando la IP del adaptador de red, el ID del procesador y el número de serie de un dispositivo físico usando el framework WMI. Este ID único se utiliza para crear o renombrar una carpeta en OneDrive dentro del inquilino. Cada carpeta es única para un compromiso específico y contiene tres subcarpetas: /filescode, /resultcode y /jobcode, utilizadas para almacenar archivos, resultados de comandos y trabajos pendientes de ejecutar por los operadores. Tras crear la carpeta, GraphWorm recopila información del sistema víctima —nombre de host, IP, dirección MAC, sistema operativo, privilegios, zona horaria, nombre de usuario y grupo de trabajo— y la envía en formato JSON a OneDrive.
Los comandos que GraphWorm puede recibir incluyen keyExchangecode (para establecer claves criptográficas), sessionKeycode, killcode (detener la puerta trasera), shellcode (ejecutar cmd.execode), execcode (ejecutar un proceso), uploadcode (descargar archivos desde OneDrive), sleepcode, pollcode, restcode, upgradecode (actualizar configuración), downloadcode (subir archivos a OneDrive) y heartbeatcode (generar un latido con retardo aleatorio). Para subir grandes salidas de comandos, los operadores probablemente utilizan el endpoint /createUploadSessioncode de Microsoft Graph API, ya que la puerta trasera opera con una instancia en la nube de OneDrive.
Infraestructura comprometida: bucket S3 y repositorios GitHub
Durante la investigación de las campañas de 2025, los analistas descubrieron que Webworm empezó a utilizar su solución proxy personalizada WormFrp para recuperar configuraciones desde un bucket de Amazon S3 comprometido, identificado como wamanharipethe.s3.ap-south-1.amazonaws[.]comcode. Se cree que este bucket es una versión de acceso público, posiblemente mal configurada, de whpjewellers.s3.amazonaws[.]comcode. La revisión inicial de los archivos almacenados reveló varias instantáneas (snapshots) de máquinas virtuales, una de las cuales contenía la configuración y el estado activo de una máquina perteneciente a una entidad gubernamental en Italia. Esto sugiere que los operadores pudieron penetrar en el entorno responsable de gestionar las máquinas virtuales de la víctima, o al menos acceder a un host donde se almacenaban las instantáneas. A finales de octubre de 2025, los atacantes subieron al bucket una herramienta llamada SharpSecretsdump, que imita la actividad de secretsdump.pycode de Impacket para volcar credenciales de un host Windows. Entre diciembre de 2025 y enero de 2026, se subieron 20 archivos más, dos de ellos exfiltrados de una entidad gubernamental en España: un archivo XML con configuraciones guardadas de mRemoteNG y un diagrama de Microsoft Visio que detallaba la infraestructura de un dominio.
Además, el análisis de los mensajes de Discord de EchoCreep reveló un repositorio de GitHub (https://github[.]com/anjsdgasdf/WordPresscode) que actúa como un «stager» de archivos para otras herramientas y malware de Webworm. Este repositorio es un fork directo del repositorio legítimo de WordPress, lo que le permite pasar desapercibido. Los archivos maliciosos se colocan en el directorio wp-admincode. Entre las herramientas alojadas se encontraba una que utilizaba el bucket S3 comprometido mencionado anteriormente.
El ecosistema de proxies personalizados de Webworm
Más allá de las puertas traseras, Webworm ha desplegado un conjunto de herramientas proxy diseñadas para encadenar comunicaciones y ocultar sus huellas. WormFrp está inspirada en la herramienta frp de código abierto, pero modificada para obtener configuraciones directamente desde el bucket S3 comprometido. Cada instancia de WormFrp tiene una clave AES única y recupera un archivo de configuración único del bucket. ChainWorm abre un puerto en la máquina comprometida para encadenar proxies, permitiendo que los datos pasen por múltiples saltos hasta llegar a su destino. SmuxProxy es una personalización de iox con una dirección IP y puerto de servidor hardcodeados, además de generar claves aleatorias para cifrado. WormSocket utiliza servidores que ejecutan socket.io para establecer un proxy para solicitudes web. Soporta cuatro tipos de mensajes: InitiateForwarderClientReqcode (inicia un cliente TCP hacia un destino), InitiateForwarderClientRepcode (respuesta para leer datos del cliente), SendDataMessagecode (envía datos a través del cliente) y CheckInMessagecode (asigna un ID de mensajero).
Técnicas de acceso inicial: escaneo de vulnerabilidades y exploits
Aunque no se ha identificado el punto de entrada exacto que utiliza Webworm, los investigadores descubrieron que el grupo emplea utilidades de código abierto para escanear servidores web en busca de vulnerabilidades. En un servidor proxy (64.176.85[.]158) se encontró un directorio abierto que contenía las herramientas nuclei (escáner de vulnerabilidades) y dirsearch (escáner de rutas web). En el archivo .bash_historycode se observaron comandos de reconocimiento contra más de 50 objetivos únicos de países como España, Hungría, Bélgica, Nigeria, República Checa y Serbia. También se encontró un script de proof-of-concept para CVE-2017-7692, una vulnerabilidad de ejecución remota de código posterior a la autenticación en SquirrelMail, un cliente de correo web. La ejecución de este script contra un objetivo de correo web en Serbia sugiere que Webworm pudo haber obtenido credenciales y utilizado esta vulnerabilidad como vector de acceso inicial.
Indicadores de compromiso (IoCs) y técnicas MITRE ATT&CK
Los investigadores han publicado una lista completa de indicadores de compromiso, incluyendo hashes SHA-1 de las herramientas detectadas, direcciones IP y dominios utilizados por la infraestructura de Webworm. Entre los archivos identificados se encuentran el binario de EchoCreep (SearchApp.exe), WormFrp (ssh.exe), WormHole (svc.exe), GraphWorm (C2OverOneDrive_v0316.exe), WormSocket (MessengerClient.exe) y SmuxProxy (dsocks.exe). Las direcciones IP de servidores utilizados incluyen 45.77.13[.]67, 64.176.85[.]158, 104.243.23[.]43, 108.61.200[.]151 y 144.168.60[.]233, todas alojadas en Vultr Holdings o IT7 Networks.
En cuanto a las técnicas del marco MITRE ATT&CK, Webworm emplea desde reconocimiento activo (escaneo de vulnerabilidades con T1595.002 y escaneo de directorios con T1595.003) hasta desarrollo de recursos (adquisición de servidores T1583.004, compromiso de servicios web T1584.006, y preparación de herramientas en GitHub T1608.002). Para la ejecución utiliza intérpretes de comandos de Windows (T1059.003) y tareas programadas (T1053.005). La persistencia se logra mediante claves de registro de inicio (T1547.001). Para elusión de defensas, emplea cifrado y codificación (T1027.013), tokens de acceso de aplicaciones (T1550.001), cuentas en la nube (T1078.004) y timestomping (T1070.006). El movimiento lateral se apoya en servicios en la nube (T1021.007). La recolección de datos incluye datos del sistema local (T1005) y almacenamiento local y remoto (T1074.001, T1074.002). El comando y control se realiza mediante protocolos web (T1071.001), codificación estándar (T1132.001), cifrado asimétrico (T1573.002), proxies multi-salto (T1090.003), proxies externos e internos (T1090.002, T1090.001), y servicios web bidireccionales (T1102.002). Finalmente, la exfiltración ocurre a través del canal C2 (T1041) y hacia almacenamiento en la nube (T1567.002).
La actividad de Webworm demuestra una capacidad de adaptación constante, moviéndose de herramientas tradicionales a soluciones más furtivas y aprovechando plataformas legítimas como Discord, Microsoft Graph API y GitHub para evadir la detección. Su cambio de enfoque hacia Europa y el uso de infraestructura en la nube comprometida indica que el grupo no solo mantiene sus capacidades, sino que las expande activamente. La combinación de puertas traseras personalizadas, proxies encadenados y técnicas de reconocimiento automatizadas sugiere que Webworm seguirá siendo una amenaza significativa para organizaciones gubernamentales y educativas en los próximos años, especialmente en regiones donde la vigilancia de seguridad pueda ser menos intensiva. Las organizaciones objetivo deben priorizar la monitorización del tráfico hacia servicios en la nube populares, la revisión de configuraciones de buckets S3 y repositorios GitHub públicos, y la implementación de parches para vulnerabilidades conocidas en aplicaciones web como SquirrelMail.