Una ilustración abstracta generada sobre un fondo azul marino oscuro: a la izquierda, un módulo controlador industrial compacto dibujado con finas pistas de circuito cian, con un resplandor ámbar en uno de sus bordes; un único filamento ámbar de pequeñas formas de glifos sale del módulo y viaja hacia la derecha a través del espacio oscuro hasta un pequeño panel de terminal luminoso, donde se alza una línea de cursor ámbar. Un tenue patrón de vidrio agrietado se encuentra detrás del módulo. No aparecen textos, personas ni logotipos de organizaciones. El logotipo de OrcaRouter está compuesto en la esquina inferior derecha.
AI Safety Incidents

Forescout portó un exploit de PLC de WAGO con Claude Code por $535,74 — e inutilizó el controlador al intentar ir más lejos

Autor

Rowan Sterling

Fecha de publicación

Últimos modelos · 20Ver todos los modelos →
Benchmarks: Artificial Analysis · actualizado a diario
Volver a todas las publicaciones

El 1 de septiembre de 2026, Vedere Labs de Forescout Research publicó un experimento en el que le dio a Claude Code un terminal, la herramienta de ingeniería inversa Ghidra, un binario de firmware y un controlador físico WAGO 750-831, y luego le pidió que portara un exploit de ejecución remota de código previo a la autenticación que ya funcionaba en el modelo estrechamente relacionado WAGO 750-852. El modelo lo logró: descubrió por qué su shellcode seguía borrándose, cambió la secuencia de activación y ejecutó shellcode ARM proporcionado por el atacante en hardware real sin credenciales. El coste fue 8 horas y 32 minutos de tiempo de sesión repartido a lo largo de varios días, $535.74 en uso de API y supervisión humana continua. Un intento posterior de ampliar el exploit hasta convertirlo en un implante de mando y control escribió en una región de memoria mapeada en flash y dejó permanentemente inutilizado el controlador —la propia unidad de prueba de los investigadores, no equipo sobre el terreno. El experimento es un registro que figura en el archivo de incidentes de IA, que contiene el conjunto completo de registros, sus fuentes y las entradas vecinas de esta serie.

Lo que Forescout realmente le entregó al modelo

La configuración importa más que la cifra principal, porque determina lo que el experimento muestra y lo que no. El propio relato de Vedere Labs describe un montaje interactivo: Claude Code disponía de un terminal, los archivos de referencia, herramientas de análisis, entre ellas Ghidra, y acceso de red a un objetivo activo en 192.168.2.14 —un WAGO 750-831 con firmware V01.04.16. Los investigadores podían intervenir en cualquier momento durante la sesión. No había depurador ni código fuente del firmware del objetivo, según la nota de investigación de Cloud Security Alliance sobre el caso.

El fallo ya era conocido y ya estaba documentado. CVE-2021-31886 es un desbordamiento de búfer basado en pila en el servidor Nucleus FTP, alcanzable antes de la autenticación en el puerto TCP 21 mediante el envío de un comando USERde tamaño excesivo, y el trabajo previo de Forescout ya había producido un exploit funcional para el 750-852. The Hacker News informa de que la puntuación CVSS es 9.8, asignada por Siemens, que mantiene Nucleus. El aviso original es el VDE-2021-050 de CERT@VDE.

Así que esto no fue descubrimiento autónomo de vulnerabilidades. Fue un port supervisado: un fallo conocido, un exploit de referencia funcional, un dispositivo hermano y un experto disponible. El lenguaje de Forescout es preciso al respecto, y su propia conclusión es que la barrera sigue siendo alta. Lo que mide el experimento es el coste marginal de trasladar un exploit desde un dispositivo que alguien ya ha vulnerado al siguiente dispositivo de la misma familia, que, como señala la nota de Cloud Security Alliance, es el paso que determina si una brecha de parches en un modelo es una brecha de parches en todos ellos.

Ocho horas, y un búfer de 256 bytes

Lo primero que vale la pena registrar es cuánto de la sesión se dedicó a equivocarse. Forescout dice que el primerísimo prompt del modelo sacó a la luz un posible bug FTP diferente, no CVE-2021-31886; los investigadores lo dejaron de lado, y la compañía dice que la revisión manual sugiere que podría ser una vulnerabilidad separada, previamente no identificada, sin CVE asignado. Una sesión posterior no logró rastrear correctamente la función vulnerable y produjo un exploit inválido. El modelo siguió hipótesis falsas, descompiló código no relacionado y se quedó sin contexto.

Efectivamente obtuvo un resultado intermedio: un payload que provocó un fallo en el 750-831, lo que demostró que el desbordamiento alcanzaba el segundo dispositivo sin llegar a proporcionar una ejecución controlada. Esa distinción —fallo frente a control— es donde se estancó la sesión. Todos los payloads que generaba el modelo se borraban antes de que pudieran ejecutarse, y el motivo resultó ser el manejo ordinario de FTP en el objetivo: tras el comando USER de tamaño excesivo, el procesamiento normal ponía a cero un búfer de 256 bytes que contenía el shellcode del atacante. Forescout afirma que encontrar al culpable requirió un análisis dirigido por humanos de la cadena de llamadas y del sumidero, e identifica la rutina como sub_100BA758.

La corrección consistió en un cambio de secuencia. El exploit 750-852 enviaba USER seguido de QUIT. En el 750-831, el modelo pasó a USER seguido de CWD, y omitió el terminador CRLF del comando, por lo que la ruta de procesamiento nunca se completó de la forma habitual y el búfer sobrevivió el tiempo suficiente para ejecutarse. El exploit se ejecutó entonces en el contexto de callback de recepción de Ethernet. Según Forescout, la capacidad demostrada se limita al envío de paquetes de red.

Una vez que la ejecución de código fue fiable, el ritmo cambió por completo. El modelo pasó de un shellcode no operativo a dos payloads de red funcionales en 12 minutos: uno enviaba solicitudes de eco ICMP a un host controlado por el atacante, y el otro, un paquete UDP que contenía la cadena "PWNED". Esa cifra de 12 minutos es el número más trascendente de todo el registro, y es el que el informe de Forescout trata como la advertencia: la parte difícil fue el primer paso, y los pasos posteriores fueron casi gratuitos.

A generated abstract illustration on a dark navy field: a wide amber stream of small unreadable glyph blocks advances from the left toward a narrow vertical cyan barrier; most of the stream is stopped there and fades into dim blue outlines, while one thin unbroken thread of amber glyphs slips beneath the barrier into a dark rectangular cavity on the right. A faint dotted measurement arc spans the barrier. No text, people or organisation logos appear. The OrcaRouter logo is composited in the bottom-right corner.

La factura: $535.74 por un port que un humano podría haber hecho más rápido

Para la etapa final de ejecución remota de código, Forescout informa de $535.74 en uso de la API a lo largo de una sesión de 8 horas y 32 minutos, con el trabajo repartido durante varios días de investigación en lugar de ejecutarse en una sola sesión. Las cifras de tokens que publica son 2,6k de entrada y 1,3M de salida.

Esa división es lo bastante inusual como para señalarla. En una sesión larga de codificación agéntica, normalmente domina el lado de la entrada, porque en cada turno se vuelve a enviar al modelo un contexto cada vez mayor; una sesión de 8,5 horas facturada con 2.600 tokens de entrada no es una contabilidad completa de lo que costó el contexto. Forescout no publica ningún desglose, y SecurityWeek, que informó de la misma etapa el mismo día, solo ofrece «más de 500 dólares» y ninguna cifra de tokens. El total en dólares es la cifra que respaldan ambos relatos; la división entre entrada y salida debe leerse tal como se reportó, no como un registro de facturación completo.

El costo es la parte más débil del argumento a favor de la asistencia de IA, y la propia Forescout lo dice. La evaluación de la empresa es que un investigador podría haber portado este exploit «sin IA en menos tiempo y a menor costo, y además manteniendo vivo el PLC». El experimento no es un argumento de que el modelo sea más barato que un experto. Es un argumento sobre hacia dónde se está moviendo esa comparación.

A self-built HTML card titled 'The port, in numbers', badged 'Forescout Vedere Labs · 1 September 2026', subtitled 'One known CVE, one sibling controller, and what the final stage actually cost'. Eight rows read: source device WAGO 750-852 with a working pre-auth exploit; target device WAGO 750-831, firmware V01.04.16; flaw CVE-2021-31886, Nucleus FTP USER overflow, CVSS 9.8, TCP 21, no auth; models Claude Sonnet 4.6 for confirmation and Claude Opus 4.6 at 1M context for RCE; final RCE stage 8 hours 32 minutes spread over several days; API cost $535.74 at 2.6k input and 1.3M output tokens; two working payloads 12 minutes after first reliable code execution; one controller permanently bricked during a C2 implant attempt. A footer reads 'All figures from Forescout's own write-up. No independent replication has been published.' The OrcaRouter logo is composited in the bottom-right corner.

El controlador inutilizado

El fallo es la parte de este registro con un resultado físico. Después de que se estableció la ejecución de código, una sesión de seguimiento intentó extender el exploit hasta convertirlo en un implante de mando y control. Forescout afirma que los payloads se volvieron progresivamente más complejos, y uno de ellos escribió en una región de memoria asignada a la flash. El controlador quedó permanentemente inutilizado.

Hay tres cosas que conviene separar aquí. El dispositivo era el hardware de prueba de los propios investigadores, así que ningún operador perdió una línea de producción y el archivo no registra daños reales. El daño lo causó un agente con acceso legítimo al equipo, realizando una tarea que sus operadores habían solicitado, no un atacante. Y la escritura fue irreversible de una manera en que una mala línea de código en un servidor normalmente no lo es: la flash de un controlador embebido no es un archivo que se pueda revertir. El planteamiento de Forescout se deriva directamente de eso. El riesgo inmediato que señala no es que un agente decida por su cuenta atacar un controlador, sino «que un agente autorizado realice la acción equivocada en un sistema físico», donde un fallo tiene consecuencias operativas.

Qué está establecido y qué no

El archivo califica este registro con confianza A, gravedad media, no disputado y sin daños reales registrados, y la cobertura que lo respalda se sostiene en esos términos. El informe de Forescout es el relato principal. SecurityWeek publicó su propio informe el 1 de septiembre de 2026, el mismo día; The Hacker News y el laboratorio de investigación de Cloud Security Alliance publicaron ambos el 2 de septiembre. Ninguno de ellos es una replicación técnica independiente, y ninguno afirma serlo, pero coinciden en el mecanismo, las dos versiones del modelo, el coste, la ejecución del payload de 12 minutos y la inutilización permanente.

Establecido, según dicho registro:

• Que un port supervisado tuvo éxito. Un exploit de preautenticación para CVE-2021-31886 se adaptó del WAGO 750-852 a un 750-831 con firmware V01.04.16, y el shellcode ARM proporcionado por el operador se ejecutó en el dispositivo en vivo.

• El mecanismo. El búfer de 256 bytes que se pone a cero mediante el manejo normal de USER, el cambio de QUIT a CWD y el terminador CRLF omitido se describen de forma coherente por Forescout y por la cobertura secundaria.

• Las cifras de la etapa final: 8 horas 32 minutos, $535,74, 2,6k tokens de entrada y 1,3M tokens de salida, 12 minutos desde la ejecución del código hasta dos payloads funcionales.

• Que la extensión C2 inutilizó un controlador y que era una unidad de prueba.

• Que el propio veredicto de Forescout es negativo en cuanto a coste. Afirma sin rodeos que es probable que un investigador humano hubiera podido realizar este port más rápido y más barato, y sin destruir el hardware.

No establecido, o en tensión:

• Validación técnica independiente. Todas las publicaciones, incluido el análisis de Cloud Security Alliance, se remontan a la descripción que Forescout hace de su propio trabajo. Nadie fuera de Forescout ha reproducido el puerto, y el informe de SecurityWeek no incluye ningún comentario de expertos independientes.

• Las fechas calendario de las sesiones. Forescout proporciona duraciones, no fechas. La única fecha firme en el registro es la fecha de publicación, 1 de septiembre de 2026.

• Cuántos modelos de WAGO cubre el aviso subyacente. The Hacker News reproduce una lista de diez modelos afectados a partir de VDE-2021-050 de CERT@VDE; la nota de Cloud Security Alliance sitúa la cifra en 19. El propio aviso es la autoridad, y la discrepancia es una razón para comprobarlo en lugar de citar cualquiera de las dos cifras.

• La contabilidad exacta de tokens de entrada, como se describe anteriormente.

• Qué hizo realmente el implante fallido. Forescout afirma que un payload escribió en una región mapeada a la memoria flash; no publica el payload, la dirección ni la secuencia, por lo que la inutilización del dispositivo no puede reconstruirse desde fuera.

A self-built HTML card titled 'Established, and not', split into two columns. The left column, headed 'Established', lists six items: a supervised port of CVE-2021-31886 from WAGO 750-852 to a 750-831 on firmware V01.04.16; ARM shellcode executed on live hardware without credentials; the final stage at 8 hours 32 minutes, $535.74, 2.6k in and 1.3M out; two working payloads 12 minutes after reliable code execution; one test controller permanently bricked during a C2 attempt; and Forescout's own verdict that a human could have done it faster and cheaper without bricking it. The right column, headed 'Not established, or in tension', lists five items: any independent technical replication, since every account traces to Forescout; the calendar dates of the sessions, never published; whether the advisory covers 10 models or 19, reported differently by The Hacker News and the Cloud Security Alliance; the input-token accounting, which does not look like a complete billing record; and which payload, address or write bricked the controller. A footer cites Forescout, SecurityWeek, The Hacker News and the Cloud Security Alliance. The OrcaRouter logo is composited in the bottom-right corner.

Por parte de WAGO: no hay actualización disponible

La razón por la que importa una adaptación a un modelo hermano es que el modelo hermano no se va a corregir. El VDE-2021-050 de CERT@VDE enumera como afectados los controladores de la serie 750 que ejecutan el sistema operativo de tiempo real Nucleus V1, y afirma: «Por el momento, no hay actualizaciones disponibles para esta versión». The Hacker News señala que dos modelos de la lista de afectados, el 750-882 y el 750-885/0xx-xxx, no aparecen ni en la sección de mitigación del aviso ni en su tabla de remediación, por lo que su estado queda poco claro.

Siemens, que mantiene Nucleus, dice que no se planea ninguna remediación para Nucleus NET en todas las versiones, según The Hacker News, mientras que las versiones de Nucleus ReadyStart V3 desde V2013.08.1 en adelante ya corrigen CVE-2021-31886. Eso es un pequeño consuelo para un controlador cuyo firmware incorpora la pila más antigua y cuyo proveedor no ha publicado ninguna ruta de actualización.

La falla no es nueva. CVE-2021-31886 fue una de las 13 vulnerabilidades reveladas en noviembre de 2021 bajo el nombre NUCLEUS:13 por Forescout y Medigate. The Hacker News también comprobó, el 1 de septiembre de 2026, si era fácil encontrar código de explotación público para ella: una búsqueda de repositorios en GitHub no devolvió nada, y la falla estaba ausente de Exploit-DB y Packet Storm, con la salvedad de que la búsqueda de GitHub abarca nombres y descripciones de repositorios, no el contenido de los archivos. Un port que le tomó a Forescout ocho horas y media y más de quinientos dólares no provino de un copiar y pegar.

Por qué Forescout dice que la línea de tendencia importa de todos modos

La conclusión de Forescout es deliberadamente poco llamativa, y es la parte del registro que más probablemente se malinterprete en uno u otro sentido. «Se puede hacer, pero no es tan fácil como parece», escribe la empresa. Señala que su propia investigación anterior NUCLEUS:13 concluyó que estos problemas probablemente no deberían situarse cerca de lo más alto de la lista de prioridades de un propietario de activos, y afirma que los avances en IA deberían llevar a las organizaciones a revisar esa evaluación, porque «difícil de explotar» se convierte en una razón más débil para restar prioridad a un controlador a medida que disminuye el esfuerzo necesario para explotarlo.

La nota de Cloud Security Alliance proporciona la útil fórmula abreviada para el patrón: primer paso difícil, pasos posteriores rápidos. La primera adaptación costó ocho horas y media, supervisión experta y un dispositivo destruido. La segunda y la tercera cargas útiles tomaron doce minutos. Si el primer paso se abarata, la proporción no se mantiene igual.

Ese argumento se apoya en un contexto muy concreto, aunque es independiente del experimento de Forescout y no debe interpretarse como evidencia sobre él. The Hacker News informa de que el 19 de agosto de 2026 la NSA, la CISA, el FBI, el Departamento de Energía y la EPA emitieron un aviso conjunto en el que advertían sobre scripts de explotación generados por IA dirigidos a PLC Siemens S7 expuestos a internet; las agencias evaluaron que la actividad probablemente pretendía un reconocimiento persistente y el desarrollo de capacidades, y no la atribuyeron a ningún actor. El mismo medio informa de los hallazgos del FBI y la EPA sobre intrusiones en plantas de agua en al menos siete estados desde el 27 de julio de 2026, algunas de las cuales degradaron las operaciones, en las que los atacantes cambiaron direcciones IP y contraseñas en controladores Rockwell Automation MicroLogix expuestos a internet sin necesidad de explotar ninguna vulnerabilidad. El aviso conjunto advertía de que la IA para la generación de exploits "reducía drásticamente la experiencia técnica y el tiempo necesarios" para crear herramientas funcionales de ataque a ICS.

Qué debería sacar un operador de ello

La respuesta práctica es la poco glamorosa, y no depende de cómo se resuelva el debate sobre la IA. Identifique si hay algún controlador de la serie 750 u otro basado en Nucleus en la red y qué firmware ejecuta. Donde no exista una actualización, restrinja o desactive FTP, Telnet y la administración web, bloquee el puerto 21 en el límite, segmente la red de control y no exponga las interfaces de administración a internet. Supervise el uso inusual de protocolos, los fallos repetidos y el tráfico saliente inesperado: un fallo en un controlador es una señal, no solo una interrupción.

La Cloud Security Alliance añade un paso que se deriva de la propia lógica del experimento: verificar de forma independiente si los modelos de la misma familia comparten una vulnerabilidad, en lugar de suponer que el alcance del parche de un proveedor coincide con la exposición real. Esa es la comprobación que Forescout realizó en un par de dispositivos, y su argumento es que la misma comprobación resulta más barata a medida que el primer paso también se abarata.

Para los equipos que utilizan agentes cerca de sistemas físicos, el bricking es la lección concreta. La recomendación de Forescout es mantener a expertos humanos en el circuito para las decisiones críticas para la seguridad y hacer que la confianza en la defensa autónoma sea "restringida, observable y verificable": puertas de aprobación antes de escribir en firmware o flash, reversión donde exista y pruebas en hardware que no sea de producción, porque en un controlador embebido una escritura incorrecta no se revierte.

El registro se leerá de manera distinta según lo que se esperara de él. No es una demostración de que se pueda apuntar un modelo a un controlador industrial y dejarlo solo; la misma empresa que lo llevó a cabo dice que una persona podría haber hecho el trabajo más rápido y de forma más económica. Lo que sí muestra es un precio medido para el paso que antes requería un especialista: ocho horas y media, quinientos treinta y cinco dólares, supervisión experta continua y un controlador muerto.