Claude перенёс RCE-эксплойт на другой ПЛК WAGO и вывел контроллер из строя

Исследователи Forescout Vedere Labs с помощью Anthropic Claude перенесли рабочий pre-authentication RCE-эксплойт с ПЛК WAGO 750-852 на WAGO 750-831 с прошивкой V01.04.16. Атака использует CVE-2021-31886 с оценкой CVSS 9,8 в FTP-сервере Nucleus и позволяет выполнить ARM-код до аутентификации через TCP-порт 21. Финальная разработка заняла 8 часов 32 минуты и потребовала API-запросов на 535,74 доллара.
Команда работала с физическим контроллером 750-831, бинарным образом его прошивки и уже готовым эксплойтом для 750-852. В интерактивных сессиях Claude Code получил доступ к терминалу, инструменту реверс-инжиниринга Ghidra и целевому ПЛК. После остановки первых попыток на Claude Sonnet 4.6 исследователи перешли на Claude Opus 4.6.
Почему потребовалась другая цепочка FTP-команд
Уязвимость связана с переполнением буфера на стеке при обработке команды USER в Nucleus FTP. На WAGO 750-831 обычная обработка FTP обнуляла 256 байт в контролируемом атакующим буфере, поэтому внедрённый код удалялся до запуска.
Claude адаптировал последовательность USER и QUIT, применявшуюся против 750-852, в последовательность USER и CWD. Отсутствие завершающего CRLF не давало соответствующей ветке обработки завершиться обычным образом. В результате буфер сохранялся достаточно долго для выполнения полезной нагрузки.
После получения исполнения кода модель за 12 минут перешла от NOP-shellcode к двум рабочим нагрузкам. Одна отправляла ICMP echo-запросы на контролируемую атакующим систему, другая — UDP-пакет со строкой PWNED. Эксплойт выполняется в контексте callback-функции приёма Ethernet, а продемонстрированная возможность ограничивается отправкой сетевых пакетов.
Риск автоматизации и меры защиты
Попытка развить атаку до C2-импланта закончилась записью во flash-отображаемую область памяти и необратимо вывела ПЛК из строя. Forescout отметила, что опытный исследователь мог бы перенести первоначальный RCE без ИИ быстрее, дешевле и без потери устройства. В первой сессии Claude также указал на вероятную отдельную ошибку в цикле извлечения FTP-команд; ручная проверка сочла её возможной новой уязвимостью, но отдельный идентификатор CVE ей не присвоен.
CERT@VDE сообщает, что обновлений для затронутых контроллеров WAGO на базе Nucleus V1 RTOS нет. В перечень входят, в частности, 750-829, 750-831, 750-852, 750-880, 750-881, 750-882, 750-885, 750-889, 750-331 и 750-352 в указанных в бюллетене версиях прошивки. Siemens также указывает, что исправление для Nucleus NET не планируется для всех версий, тогда как Nucleus ReadyStart V3 начиная с V2013.08.1 уже содержит исправление CVE-2021-31886.
Практический вывод для владельцев OT-инфраструктуры: FTP на порту 21 следует отключить или заблокировать там, где он не требуется, сегментировать сети управления и контролировать аномальный трафик. Исследование показывает не автономную атаку ИИ, а риск ошибочного действия авторизованного агента на физической системе, где сбой может иметь операционные последствия.

