Un controlador y 200 organizaciones: cómo VAPOR PANDA usó ARTEX para llevar intrusiones agénticas a escala industrial
CrowdStrike documenta cómo VAPOR PANDA usó ARTEX, con DeepSeek, para dirigir intrusiones simultáneas contra más de 200 organizaciones en 14 países: 1.400 millones de tokens y un humano al mando.
El titular que mejor resume la última investigación de CrowdStrike no es una vulnerabilidad ni un exploit: es un número. Un solo controlador de ARTEX, un framework de penetration testing agéntico y de código abierto, atacó en paralelo a más de 200 organizaciones en al menos 14 países durante once días. El actor, al que la firma llama VAPOR PANDA (antes VexatiousTemper), es un grupo de espionaje alineado con China, activo desde 2021, y en esta campaña no buscaba credenciales sueltas: buscaba ministerios de asuntos exteriores, empresas de semiconductores, centros de investigación, un ministerial del Interior y redes de telecomunicaciones.
Conviene aclarar desde el principio una cosa, porque aquí ya contamos la historia de ARTEX: esta no es la campaña de ConnectWise y Storm-0940 que publicamos el 22 de octubre. Aquella fue una operación con un único vector de entrada, las credenciales de aplicación del proveedor, y muchísimo ruido detrás. Esta es otro actor, otro objetivo y otra pregunta: qué ocurre cuando el framework deja de ser una herramienta que alguien maneja a mano y se convierte en la infraestructura sobre la que se lanza una campaña simultánea.
La respuesta corta es la escala, y la respuesta larga es que la escala se ha vuelto barata. En una sola intrusión, los agentes de planificación consumieron del orden de 1.400 millones de tokens de entrada. En una operación manual, esa cifra no corresponde a una sola persona: corresponde a un equipo entero trabajando durante días. El framework no inventó ninguna técnica nueva; lo que hizo fue convertir el trabajo de exploración en algo que corre en paralelo mientras el operador humano se ocupa de otra cosa. Ese matiz, el de la simultaneidad, es exactamente lo que cambia la ecuación para quien tiene que defender.
Un framework que se instala con un script
Vale la pena mirar el instrumental por dentro, porque es la parte que cualquiera puede replicar. ARTEX es un proyecto publicado en GitHub bajo licencia AGPL-3.0, con un repositorio oficial, una imagen de Docker y un instalador que se ejecuta con un solo comando. No hay que pedirle permiso a nadie, ni comprar licencias, ni firmar un acuerdo de seguridad. Se clona, se configura una clave de API y se levanta.
Por debajo es un monolito en Go que lleva embebido el front-end en Next.js y guarda el estado en PostgreSQL. Las capacidades de agente vienen de un SDK propio, norma, que aporta el núcleo del agente, las herramientas, los permisos, el arnés, la memoria y la transcripción. La instalación deja el servicio escuchando en el puerto 8787, sirve la interfaz desde el mismo proceso y expone una API REST con autenticación JWT más un canal SSE para el streaming de actividad.
Lo interesante no es la pila tecnológica, que es bastante convencional, sino tres decisiones de diseño que explican por qué la herramienta escala tan bien en manos de un atacante.
La primera es una arquitectura de doble grafo. El grafo de activos es global: nodos que representan dominios, subdominios, direcciones IP, servicios, aplicaciones y endpoints, agrupados por empresa. El grafo de exploración es por tarea: nodos que representan objetivos, intenciones, hechos, hallazgos y pistas, unidos por aristas que dejan constancia de la procedencia de cada paso. Un hallazgo no es solo texto: está enlazado con el activo concreto que lo produjo y con la acción que lo generó. Esa trazabilidad es lo que permite que un agente que arranca en un punto del ataque no repita lo ya hecho y pueda ramificarse hacia caminos que nadie había planeado.
La segunda es la jerarquía de agentes. Hay un módulo de objetivos que descompone el encargo y extrae el alcance, un planificador que genera una intención a la vez, un número configurable de ejecutores que llevan las tareas y un agente principal que sirve de interfaz con el humano. El planificador no improvisa: recupera de una lista de tareas compartida, ronda tras ronda, lo que ya se ha hecho y lo que falta, que es lo que permite construir cadenas de ataque estables en lugar de trocearlas.
La tercera es que el paquete trae muchos detalles que un equipo de pentest también querría: un proxy de registro de tráfico que intercepta las conexiones con su propia autoridad de certificación, una puerta de aprobación para las herramientas, habilidades de explotación, memoria persistente, informes y un panel con el mapa de cobertura de activos. Además, la configuración del modelo es deliberadamente abierta: se puede cambiar el proveedor, el modelo, la URL base y el proxy de la API de lenguaje, de modo que el mismo binario sirve para trabajar contra cualquier servicio de modelos. Y el número de ejecutores simultáneos por tarea se ajusta desde los ajustes del sistema, con tres por defecto.
Todo esto es público y auditable. Por eso mismo, leer el repositorio no es un ejercicio de curiosidad: es la forma de saber exactamente qué superficie de ataque se está desplegando cuando alguien instala un pentesting agéntico en un segmento de su organización.
Un controlador, doscientas organizaciones
El relato empieza el 17 de octubre de 2026 y termina once días después. En esa ventana, CrowdStrike OverWatch observó actividad de un único controlador ARTEX contra entidades de al menos catorce países, y la telemetría de Falcon permitió reconstruir lo que pasó dentro. El detalle técnico más importante es que ese controlador se exponía él mismo: intermitentemente dejaba a la vista herramientas del atacante, ficheros de objetivos y las transcripciones de los agentes. No fue una víctima del registro: fue el propio adversario quien abrió el tejado.
Sobre ese controlador se articularon las llamadas tareas de ARTEX, es decir, compromisos independientes contra objetivos distintos. La infraestructura que se le atribuye es de VAPOR PANDA, y el reparto de objetivos dice mucho sobre el alcance de la operación:
- Ministerios de asuntos exteriores de dos países latinoamericanos, con un tercero probablemente comprometido y ficheros de objetivo preparados para ministerios de asuntos exteriores de Centroamérica y de Asia.
- Un ministerial del Interior en Oriente Medio.
- Un país europeo completo en una sola tarea: asuntos exteriores, presidencia, la oficina del primer ministro, defensa, justicia, finanzas e inteligencia.
- Diecinueve organizaciones estadounidenses en un solo encargo: farmacéutica, semiconductores, defensa, sector nuclear y finanzas.
- Operadores de telecomunicaciones en Estados Unidos, Bélgica y Filipinas.
El resultado, en nueve organizaciones, fue acceso, despliegue del backdoor y actividad posterior de rociado de credenciales, escaneo de red y reconocimiento. Aparte, hubo intentos de password spraying y escaneo de credenciales contra al menos doce organizaciones adicionales, incluidos centros de investigación estadounidenses y organismos de gobierno europeos. La cifra final de organizaciones afectadas probablemente sea mayor que la que la propia telemetría llegó a confirmar.
El humano al mando, y lo caro que sale
Hay un detalle en las transcripciones recuperadas que merece una precisión, porque se presta a malentendidos: ARTEX no funcionaba solo. En las transcripciones aparecían instrucciones del operador escritas en chino, etiquetadas explícitamente como instrucción humana y con marcas de tiempo en hora de China. El operador dirigía a los agentes, les pedía que escribieran shells web, que extrajeran contraseñas de administrador de dominio y que hicieran inventario de la cobertura de sensores del endpoint.
O sea: humano en el bucle, con la persona tomando las decisiones en los puntos de bifurcación y dejando que el trabajo pesado lo ejecutaran los agentes. Pero el volumen es lo que impresiona. En una sola intrusión, los agentes de planificación consumieron del orden de 1.400 millones de tokens de entrada. Multiplicado por doscientas organizaciones y por los intentos fallidos, el consumo total de la operación debe haber sido varias órdenes de magnitud superior. La inferencia es la parte más cara del peaje, y aun así es un peaje perfectamente asumible para quien puede permitírselo.
Los modelos empleados fueron DeepSeek, de origen chino, como motor principal, más un segundo modelo comercial por suscripción que CrowdStrike no pudo confirmar. Y el ensamblaje no fue trivialmente barato: el framework es software libre, los modelos son suscripciones de consumo y la infraestructura son nodos de cómputo con proxies. Todo lo que hace falta está disponible para cualquiera, y combinando piezas públicas con un arnés dedicado se obtiene una capacidad de intrusión multiagente escalable.
Tres cadenas de ataque que explican el alcance
Lo que hace que la campaña sea relevante no es el número de objetivos, sino cómo se movió el atacante dentro de cada uno. CrowdStrike documenta tres cadenas completas, y las tres combinan una técnica conocida con un salto de privilegios que nadie había previsto.
La primera es la de una farmacéutica estadounidense. El agente encadenó una aserción SAML sin firmar con una vulnerabilidad XXE para consultar el servicio de metadatos de instancia de la nube. Con el rol obtenido podía emitir comandos de administración contra miles de instancias, y desde ahí escaló hasta recuperar una cuenta de administrador corporativo. Es decir: una aplicación web vulnerable lleva al plano de control de la nube, y de la nube a la identidad de la organización. El detalle que más incomoda es que la aserción no estaba firmada y nadie lo comprobó.
La segunda es otra farmacéutica, también estadounidense. Ahí los agentes desplegaron shells web y abusaron de un servicio de orquestación sin autenticación para obtener root en un entorno de contenedores en producción. Desde el contenedor leyeron las contraseñas de LAPS, el almacén de contraseñas de administrador local, y luego abusaron de la delegación restringida basada en recursos para suplantar una cuenta privilegiada. Tres escalones: contenedor sin proteger, almacén de secretos accesible, y un mecanismo de delegación que convierte un acceso legítimo en una identidad superior.
La tercera es la más reveladora, porque el atacante hizo trampas. En una entidad de gobierno griega, el operador proporcionó al agente una exportación de directorio del servidor de correo de la organización fechada en 2022, con claves de autenticación que casi con seguridad no se habían rotado desde entonces. El agente falsificó un token de administrador con esas claves y leyó buzones. Después usó configuraciones de VPN recuperadas del correo enviado por un usuario, junto con una clave de cliente VPN que el operador describió como procedente de una filtración de correo de mayo de 2024, para alcanzar la red interna.
Esta tercera cadena es la que más debería quitarnos el sueño, porque no es una técnica nueva: es una decisión de gestión. Una exportación de directorio de 2022 seguía siendo una credencial válida en 2026. La antigüedad de la credencial, y su tiempo de vida, decide si sirve para todo.
Lo que la telemetría muestra, además, es que los agentes trabajaron en paralelo por caminos muy distintos: aplicaciones web, servicios en la nube, contenedores, Active Directory, correo y VPN. Y cuando un camino se bloqueaba, cambiaban a otro. Esa redundancia es la que hace que el número de objetivos crezca sin que el número de operadores crezca.
Buscar la máquina sin defender
Hay un párrafo entero en el informe de CrowdStrike que, leído como profesional de la defensa, resulta más inquietante que corriente: el actor instruyó a los agentes para que buscaran en el dominio las máquinas Windows que no tuvieran instalado el sensor de CrowdStrike, deduciéndolo de la lista de procesos y del contenido de los directorios.
Conviene leer lo que significa eso con calma, porque parece un detalle y es un cambio de fase. Durante décadas, el flujo clásico de un ataque terminaba en la máquina del usuario, y el EDR era el último muro. Aquí el muro deja de ser el último: pasa a ser una variable más que el atacante consulta antes de decidir por dónde seguir. El agente no solo intenta completar la cadena; primero hace un inventario de qué está vigilado y de qué no, y elige en consecuencia.
Hay un detalle cultural detrás de la instrucción, y explica mucho. El término con el que el operador se refiere al sensor en chino es el mismo que usa el rojo-team chino para nombrar al halcón: en el argot interno del ecosistema chino el sensor de CrowdStrike es halcón. Que el adversario tenga una palabra propia para tu EDR dice algo sobre lo conocidos que son tus productos. Los agentes operaron con esa instrucción en el prompt, no en un script: el modelo del framework no necesita saber qué es un EDR, solo necesita que se lo digan en chino y sepa hacer las dos consultas que le piden.
La consecuencia práctica es incómoda: la cobertura de EDR deja de ser una pregunta de despliegue y pasa a ser una pregunta táctica que el atacante responde por ti. Si tu servidor de producción lleva tres años sin sensor porque siempre estuvo en la red interna, esa omisión ya no es un agujero pasivo: es una invitación que el framework va a leer y a explotar.
BLOODALCHEMY, el backdoor de 2023 que vuelve
En nueve organizaciones confirmadas, el actor no se quedó en el acceso: instaló persistencia. El implante es BLOODALCHEMY, un backdoor documentado por primera vez en 2023 y que CrowdStrike ya había visto aparecer en manos del mismo actor.
El mecanismo de carga es limpio y ya conocido. El atacante usó un binario legítimo de sobregrabación de juegos, GameHook, renombrado como svchost.exe, que cargaba una biblioteca maliciosa, graphics-hook-filter64.dll. Esa biblioteca descifraba el fichero de configuración del implante, graphics-hook_config.bin. Los tres ficheros se prepararon y se dejaron en directorios abiertos y expuestos. Dentro del implante hay una ruta interna de proyecto, D:\ProjectX\Merman_New\, que casi con seguridad refleja el nombre en clave con el que el actor desarrolla su malware internamente.
Los indicadores de compromiso que acompañan al informe incluyen tres dominios de mando y control, nginxmysql[.]com, sqlserver-sqlite[.]com y www[.]ddduuuppp[.]com, con sus direcciones IP resueltas, y los hashes de los tres ficheros del implante. Son indicadores de dominio público y, por tanto, de corta vida: sirven para limpiar un entorno hoy, no para dormir tranquilas mañana.
Lo relevante, en cualquier caso, no es el implante: es que la persistencia ya no la implanta un operador a mano al final de la cadena. La instalan los agentes, con la misma disciplina con la que despliegan shells web o leen un almacén de contraseñas. El backdoor es una tarea más dentro de un flujo automatizado, y eso tiene una consecuencia práctica: el tiempo entre la entrada y la persistencia se mide en minutos, no en días.
Qué revisar en nuestros entornos
CrowdStrike cierra el informe con una lista de recomendaciones corta y accionable, y merece la pena recorrerla con la cabeza de quien tiene que aplicarla esta semana.
- Rota las claves de firma, las claves de preautenticación y las credenciales de servicio después de cualquier exposición sospechosa, incluidas las que estén en copias de seguridad antiguas y en exportaciones de directorio. En el caso griego, la credencial que el actor entregó llevaba cuatro años viva.
- Exige la validación de firma en las aserciones SAML, obliga a IMDSv2 en el servicio de metadatos y restringe a lo mínimo los permisos de ejecución de comandos de los roles en la nube.
- Busca marcas de ARTEX en la telemetría: parámetros de línea de comandos que contengan las cadenas artx o artex, roles en la nube con esos prefijos, comentarios de administración con el prefijo art18- y el directorio C:\ProgramData\artx5v\.
- Parchea los appliances expuestos a internet, sobre todo los servidores Linux de larga vida, y asegúrate de que ejecuten la última versión disponible de software y firmware.
- Despliega un EDR en tiempo real en toda la organización, incluidos los servidores que se consideran inaccesibles desde internet.
A eso añadiría tres comprobaciones que salen de leer el código de ARTEX, no el informe. La primera es la autoridad de certificación propia: el framework registra el tráfico con un proxy que instala su propia CA en los equipos donde opera. Una CA raíz desconocida en un servidor es un indicio mucho más específico que un comportamiento genérico de red. La segunda es el consumo de API de modelos: 1.400 millones de tokens de entrada en una sola intrusión es un volumen que no debería salir de un servidor que no sea un servicio de IA, y si tu telemetría de consumo de modelos está en el SIEM, esa métrica vale más que un puñado de reglas de red. La tercera es el propio rastro del atacante: en este caso, la telemetría de Falcon, los ficheros preparados y las transcripciones recuperadas fueron los que permitieron reconstruir la campaña. Las transcripciones y el directorio de datos de un pentesting agéntico son, para quien los despliega, un archivo de pruebas del delito. Nadie que opera en serio sube el estado de una intrusión a un repositorio abierto. Verificar si tu equipo tiene una instancia de ARTEX o de una herramienta equivalente es una comprobación de inventario.
Lo que deja el caso
La primera conclusión es la más incómoda: no hay ninguna técnica nueva en este caso. SAML sin firmar, XXE, metadatos de instancia, contenedores sin proteger, LAPS, delegación restringida, shells web y túneles son técnicas de manual, con años de documentación y herramientas conocidas. Lo que ha cambiado es la unidad de medida de la campaña. Un framework agéntico no solo automatiza pasos: reparte el trabajo entre varios ejecutores simultáneos, conserva en un grafo lo que ya se ha hecho para no repetirlo y cambia de camino cuando uno se atasca. El resultado es que un operador con dos o tres personas sostiene un frente que antes exigía un equipo de tamaño bastante mayor.
La segunda es sobre el coste. El framework es software libre bajo AGPL, los modelos son suscripciones de consumo y la infraestructura es capacidad de cómputo en la nube. No hay ninguna barrera de tipo Obtaining Capabilities: la entrada al ataque ya no es el problema, la escala sí lo es, y tanto la técnica como el dinero dejan de ser el filtro. Cuando la capacidad de intrusión multiagente escala a coste marginal cero, la consecuencia no es que todos los atacantes sean expertos: es que el número de actores capaces de atacar en paralelo sube, y con él el volumen de incidentes que el equipo de seguridad tiene que absorber.
La tercera es una conclusión de diseño defensivo. Si el atacante puede trabajar en paralelo contra doscientas organizaciones, la latencia de nuestra respuesta pasa a ser la vulnerabilidad real. No sirve con detectar la intrusión: hay que poder contenerla mientras el operador todavía está cambiando de camino. Eso significa rotación automatizada de credenciales, revocar sesiones de forma masiva y respuestas que no dependan de que una persona lea una alerta.
La cuarta tiene que ver con la inteligencia que deja el atacante. La campaña se entendió porque la telemetría del defender exponía los ficheros preparados por el atacante, sus herramientas y las transcripciones de sus agentes. El transcript de un agente ofensivo es, en la práctica, un diario de operaciones: describe paso a paso qué intentó, con qué herramientas y con qué resultado. Eso abre una vía poco explotada: buscar en los registros del atacante, no solo en los tuyos propios.
La quinta, y la más incómoda para los equipos de plataforma, es que la cobertura de telemetría se ha vuelto un dato consultable para el adversario. Ya no basta con tener un sensor: hay que tenerlo en todas partes, incluidos los servidores que nadie expone porque están en la red interna, porque el framework va a preguntar y la respuesta va a ser "aquí no hay". Un sensor ausente es una invitación escrita con luz de neón.
Y la sexta es la única optimista: el mismo software que multiplica la capacidad del atacante sirve para multiplicar la tuya. Un framework de pentesting agéntico con la misma base, los mismos agentes y el mismo modo de intervención humana puede usarse contra tu propio entorno para verificar de forma continua que los controles que tienes puestos resisten una cadena como la que se acaba de describir. La diferencia entre el uso ofensivo y el defensivo no está en el software, que es el mismo, sino en quién lo usa y con qué autorización.
Fuentes
- CrowdStrike, informe original de OverWatch: VAPOR PANDA Uses AI-Driven ARTEX to Scale Global Espionage Campaign
- Código y documentación de la herramienta: repositorio de ARTEX en GitHub (y la variante con interfaz en inglés)
- The Hacker News, cobertura del caso: Chinese Hackers Use AI-Powered ARTEX to Target Over 200 Organizations Worldwide
- Elastic, primera documentación pública del implante: Disclosing the BLOODALCHEMY backdoor
- Microsoft, sobre la campaña anterior de ARTEX que publicamos el 22 de octubre: Storm-0940 uses ARTEX agentic AI in ConnectWise supply chain compromise