Forescout Research - Vedere Labs съобщи, че е използвало Claude на Anthropic, за да пренесе работещ експлойт за отдалечено изпълнение на код преди удостоверяване (RCE) от един програмируем логически контролер (PLC) на WAGO към друг, изпълнявайки инжектиран от атакуващия ARM шел-код на реален хардуер.
Експлойтът е насочен към CVE-2021-31886, препълване на буфер, базирано на стека, при обработката на командата USER от FTP сървъра Nucleus, което носи оценка CVSS 9.8, присвоена от Siemens, и е достъпно преди удостоверяване през TCP порт 21.
CERT@VDE заявява, че няма налични обновявания за засегнатите контролери WAGO, и съветва собствениците да деактивират или блокират FTP на порт 21, да наложат контроли за сегментация и да наблюдават мрежовия трафик за аномалии.
Пренасянето изискваше постоянно ръководство от изследователите, а окончателният етап на разработка на RCE консумира $535.74 за използване на програмен интерфейс (API) по време на сесия от 8 часа и 32 минути.
По-късна сесия, която се опита да разшири експлойта в имплант за командване и контрол (C2), записа в област от паметта, картографирана към флаш, като трайно повреди PLC.
„Може да се твърди, че същият изследовател би могъл да постигне първоначалното пренасяне на RCE без изкуствен интелект за по-малко време и на по-ниска цена, като същевременно запази PLC работещ“, каза Forescout.
Преди това Vedere Labs беше разработила работещ RCE експлойт за WAGO 750-852 и пренесе този експлойт към WAGO 750-831, работещ с фърмуер V01.04.16.
Изследователите предоставиха съществуващия експлойт за 750-852, двоичен файл на фърмуера за 750-831 и физически 750-831 като цел на живо. Всеки етап протичаше като интерактивни сесии между изследовател и Claude Code, който имаше достъп до терминал, инструмента за обратно инженерство Ghidra и целевия PLC.
Работата започна с Claude Sonnet 4.6 и премина към Claude Opus 4.6, след като първоначалните опити за RCE се забавиха. Нормалната FTP обработка на 750-831 нулира 256 байта в буфера, контролиран от атакуващия, така че инжектираният код беше презаписан, преди да може да се изпълни.
Claude адаптира последователността USER и QUIT, използвана срещу 750-852, в последователност USER и CWD. Пропускането на терминатора CRLF „предотврати завършването на съответния път на обработка по обичайния начин“, каза Forescout. Буферът оцеля достатъчно дълго, за да се изпълни злонамереният код.
След като изпълнението на код беше установено, моделът премина от работещ no-operation (NOP) шел-код към два функционални злонамерени кода за 12 минути, каза Forescout. Единият изпрати ICMP ехо заявки до система, контролирана от атакуващия, а другият изпрати UDP пакет, съдържащ низа PWNED.
Експлойтът се изпълнява в контекста на обратна връзка за получаване на Ethernet и демонстрираната възможност спира до изпращане на мрежови пакети.
Vedere Labs преди това е показала, че RCE на контролер може да бъде свързана за осигуряване на дълбоко странично движение в мрежи за операционни технологии (OT), като се използват множество уязвимости в Schneider Electric Modicon PLCs.
Forescout каза, че моделът също така е открил потенциален бъг в цикъла за извличане на FTP команди, различен от CVE-2021-31886, по време на първата сесия.
Ръчният преглед „предполага, че това може да е отделна, преди това неидентифицирана уязвимост“, каза Forescout. Екипът го отдели за отделно разследване и проблемът няма идентификатор CVE.
Търсене в GitHub хранилище за CVE-2021-31886, проведено от The Hacker News на 1 септември, не даде резултати, а грешката отсъства от Exploit-DB и Packet Storm. Това търсене индексира имената и описанията на хранилищата, а не съдържанието на файловете.
„По-непосредственият риск не е агент, който независимо решава да атакува контролер, а оторизиран агент, който предприема грешно действие върху физическа система, където повредата има реални оперативни последици“, каза Forescout.
Предупреждението на CERT@VDE за WAGO изброява следните устройства като уязвими към всички грешки в това предупреждение, включително CVE-2021-31886 -
- 750-831/000-00x (FW14 и по-ранни)
- 750-880/0xx-xxx (FW16 и по-ранни)
- 750-885/0xx-xxx (FW16 и по-ранни)
- 750-352/xxx-xxx (FW16 и по-ранни)
„Изброените по-горе полеви шини и PLC са базирани на Nucleus V1 RTOS. В момента няма налични актуализации за тази версия“, се казва в предупреждението.
Два от тези модели, 750-882 и 750-885/0xx-xxx, отсъстват както от раздела за смекчаване на риска на предупреждението, така и от таблицата за отстраняване на проблеми, оставяйки техния статус на корекция неопределен.
Siemens, който поддържа Nucleus, заявява в своето предупреждение за Nucleus, че не се планира отстраняване на проблеми за Nucleus NET във всички версии и че Nucleus ReadyStart V3 версии от V2013.08.1 нататък вече коригират CVE-2021-31886.
Уязвимостта беше една от 13-те, разкрити през ноември 2021 г. като NUCLEUS:13 от Forescout и Medigate. В предишното си изследване за свързване на експлойти за PLC, Forescout заключи, че обсъжданите проблеми „вероятно не трябва да са в горната част на вашия списък с приоритети“, и заяви, че напредъкът на изкуствения интелект трябва да накара организациите да преразгледат този риск.
Изследването следва съвместно предупреждение, издадено на 19 август от NSA, CISA, FBI, Министерството на енергетиката и Агенцията за опазване на околната среда, което предупреждаваше за активно