Изследователи използваха Claude AI, за да помогнат за пренасянето на експлойт за дистанционно изпълнение на код (RCE) с предварително удостоверяване към програмируем логически контролер (PLC) на WAGO, демонстрирайки как изкуственият интелект може да подпомогне експлоатацията на операционни технологии на ниско ниво.
Експериментът постигна произволно изпълнение на ARM шел-код на WAGO 750-831 PLC без валидни идентификационни данни. Въпреки това, той изискваше значително човешко участие, скъпо използване на API и в крайна сметка повреждаше тестовото устройство.
Експлойтът беше насочен към CVE-2021-31886, препълване на буфер, засягащо FTP сървъра Nucleus, използван в няколко вградени продукта. Уязвимостта съществува, тъй като FTP услугата не успява да валидира дължината на потребителско име, подадено чрез командата USER.
Специално създадено прекалено голямо потребителско име може да презапише паметта и да пренасочи изпълнението на програмата. Изследователите от Forescout се фокусираха върху WAGO 750-831 PLC, работещ с фърмуер V01.04.16. Изследователите вече разполагаха с работещ експлойт за свързания модел WAGO 750-852.
AI моделът Claude създава RCE експлойт с предварително удостоверяване за WAGO PLC
Те използваха Claude, за да идентифицират специфични за целевото устройство адреси на паметта, отмествания на функции, места за обратни извиквания и региони за съхранение на шел-код.
За разлика от конвенционалната експлоатация на уеб или приложения, тестът на PLC включваше вградено устройство със затворен код, без достъп до дебъгер.
Кодът на Claude използва инструменти за анализ на фърмуер, Ghidra, генерирани Python скриптове и мрежови инструменти за тестване, за да инспектира фърмуера и да взаимодейства с контролера на живо.
Въпреки това, AI първоначално следваше неправилни кодови пътища, генерираше невалидни опити за експлоатация и изискваше изследователите да предоставят детайли за дисасемблиране и да насочват анализа.
Първият успешен резултат беше срив, потвърждаващ, че препълването може да бъде задействано. Постигането на надеждно RCE се оказа много по-трудно.
Изследователите от Forescout установиха, че нормалната обработка на FTP команди изтрива контролирания от атакуващия буфер след обработката на командата USER, предотвратявайки изпълнението на инжектирания ARM шел-код за достатъчно дълго време.
Claude установи, че експлойтът може да запази зловредния код, като промени последователността на FTP командите. Вместо да използва оригиналния поток USER, последван от QUIT, окончателният подход използва последователност USER, последвана от CWD и пропуска терминатора на командата CRLF.
Това предотврати нормалното завършване на процеса от изчистване на буфера в паметта. След като проблемът със запазването на буфера беше решен, Claude бързо генерира работещи зловредни кодове. Единият зловреден код накара PLC да изпраща ICMP ехо заявки към система, контролирана от атакуващия.
В същото време друг предаваше UDP пакет, съдържащ текста „PWNED.“ Експлойтът изискваше мрежов достъп до FTP порт 21. Въпреки това, той не изискваше удостоверяване, тъй като уязвимата команда USER се обработва преди влизане.
Последният етап от разработването на RCE консумира $535.74 от използване на API. Той продължи 8 часа и 32 минути в няколко изследователски сесии; по-голямата част от усилията бяха насочени към обратно инженерство на процеса на FTP обработка и разбиране защо шел-кодът беше презаписан.
След това изследователите се опитаха да разширят доказателството за концепция до имплант за командване и контрол. По време на пробиване на паметта и тестване на зловреден код, един генериран от AI зловреден код записа във флаш-мапирана памет, като трайно повреди PLC.
Инцидентът илюстрира рисковете за безопасността при автономно или полуавтономно тестване срещу кибер-физически устройства. Откритията показват, че AI може да помогне за адаптирането на вградени експлойти към подобни OT цели, въпреки че специализираната експертиза остава съществена.
Организациите трябва да ограничават ненужното излагане на FTP и дистанционно управление, да наблюдават PLCs за сривове и неочакван изходящ трафик и да третират трудно експлоатируеми OT уязвимости като потенциално по-значими, тъй като AI намалява усилията, необходими за разработване на експлойти.