{"id":4822,"date":"2026-09-02T01:32:05","date_gmt":"2026-09-02T04:32:05","guid":{"rendered":"https:\/\/tucumandevelopers.com\/index.php\/2026\/09\/02\/ai-experiment-porting-a-plc-exploit-takes-hours-and-hundreds-of-dollars\/"},"modified":"2026-09-02T01:32:05","modified_gmt":"2026-09-02T04:32:05","slug":"ai-experiment-porting-a-plc-exploit-takes-hours-and-hundreds-of-dollars","status":"publish","type":"post","link":"https:\/\/tucumandevelopers.com\/index.php\/2026\/09\/02\/ai-experiment-porting-a-plc-exploit-takes-hours-and-hundreds-of-dollars\/","title":{"rendered":"AI Experiment: Porting a PLC Exploit Takes Hours and Hundreds of Dollars"},"content":{"rendered":"<div>\n<div><\/header>\n<div data-article-id=\"4551828\" id=\"article-body\">\n<h2> <a name=\"1-basic-information\" href=\"#1-basic-information\"> <\/a> 1. Basic Information <\/h2>\n<ul>\n<li> <strong>Article Title<\/strong>: Experiment: Porting a PLC Exploit With AI Takes Hours and Hundreds of Dollars<\/li>\n<li> <strong>Publisher<\/strong>: SecurityWeek<\/li>\n<li> <strong>Publication Date<\/strong>: September 1, 2026<\/li>\n<li> <strong>Source URL<\/strong>: <a href=\"https:\/\/www.securityweek.com\/experiment-porting-a-plc-exploit-with-ai-takes-hours-and-hundreds-of-dollars\/\" target=\"_blank\" rel=\"noopener noreferrer\">SecurityWeek<\/a> <\/li>\n<li> <strong>Related Source<\/strong>: <a href=\"https:\/\/www.forescout.com\/blog\/can-ai-create-plc-attacks-yes-but-it%E2%80%99s-not-that-easy-yet\/\" target=\"_blank\" rel=\"noopener noreferrer\">Forescout Vedere Labs<\/a> <\/li>\n<li> <strong>Related Technologies, Products, and Datasets<\/strong>: CVE-2021-31886, WAGO 750-852, WAGO 750-831 firmware V01.04.16, Nucleus FTP server, Claude Sonnet 4.6, Claude Opus 4.6, Ghidra<\/li>\n<li> <strong>Severity<\/strong>: Medium<\/li>\n<li> <strong>Report Type<\/strong>: defense_research<\/li>\n<\/ul>\n<h2> <a name=\"2-executive-summary\" href=\"#2-executive-summary\"> <\/a> 2. Executive Summary <\/h2>\n<p>Forescout combined Claude, Ghidra, and physical hardware to port a CVE-2021-31886 exploit from the WAGO 750-852 to the 750-831 model. Achieving remote code execution (RCE) required continuous human support, 8 hours and 32 minutes, and $535.74. During C2 implant expansion, an incorrect write to flash memory permanently bricked the PLC.<\/p>\n<h2> <a name=\"3-defense-challenges\" href=\"#3-defense-challenges\"> <\/a> 3. Defense Challenges <\/h2>\n<ul>\n<li>Closed-source embedded PLCs without debuggers require a deep understanding of firmware-specific memory layouts and processing paths to port buffer overflows between models.<\/li>\n<li>AI-driven exploit development capabilities must be evaluated not only by success rates, but also by required human support, time, cost, and physical hardware damage.<\/li>\n<\/ul>\n<h2> <a name=\"4-proposed-methodology\" href=\"#4-proposed-methodology\"> <\/a> 4. Proposed Methodology <\/h2>\n<ul>\n<li>Feed an existing WAGO 750-852 exploit along with the 750-831 physical hardware and firmware into Claude, giving it access to a terminal, Ghidra, generated Python analysis scripts, and network tools.<\/li>\n<li>Humans correct dead ends, provide necessary disassembly context, and prompt the AI when firmware details are uncertain.<\/li>\n<\/ul>\n<h2> <a name=\"5-inputs\" href=\"#5-inputs\"> <\/a> 5. Inputs <\/h2>\n<ul>\n<li>Existing WAGO 750-852 exploit for CVE-2021-31886.<\/li>\n<li>WAGO 750-831 firmware V01.04.16 and physical hardware.<\/li>\n<li>Claude Code, Claude Sonnet 4.6 \/ Opus 4.6, Ghidra, terminal, and network tools.<\/li>\n<\/ul>\n<h2> <a name=\"6-outputs\" href=\"#6-outputs\"> <\/a> 6. Outputs <\/h2>\n<ul>\n<li>Pre-authentication RCE exploit for the WAGO 750-831.<\/li>\n<li>UDP payloads delivering an ICMP echo payload and the &#8220;PWNED&#8221; string.<\/li>\n<li>Records of working hours, API costs, human interventions, failures, and physical device damage.<\/li>\n<\/ul>\n<h2> <a name=\"7-workflow\" href=\"#7-workflow\"> <\/a> 7. Workflow <\/h2>\n<ol>\n<li>Analyze the existing exploit and firmware to confirm the presence of an FTP USER buffer overflow using live probing and static analysis.<\/li>\n<li>Reproduce the crash via a Denial of Service (DoS) and attempt to transition to controllable code execution.<\/li>\n<li>Have a human correct incorrect hypotheses, switch to Claude Opus 4.6, and add necessary disassembly context.<\/li>\n<li>Identify the root cause where standard FTP processing zeros out the shellcode.<\/li>\n<li>Preserve the buffer using a USER-&gt;CWD sequence and omitted CRLF, then execute the ARM shellcode.<\/li>\n<li>Generate ICMP and UDP payloads after establishing RCE, expanding into a C2 implant in a separate session.<\/li>\n<li>Record the exact point of PLC failure caused by an incorrect flash write during C2 expansion, and evaluate it as a safety limit.<\/li>\n<\/ol>\n<h2> <a name=\"8-evaluation-design\" href=\"#8-evaluation-design\"> <\/a> 8. Evaluation Design <\/h2>\n<ul>\n<li> <strong>Target<\/strong>: Porting a single exploit from the WAGO 750-852 to the 750-831.<\/li>\n<li> <strong>Environment<\/strong>: Closed-source firmware, no target debugger, physical PLC, FTP port 21.<\/li>\n<li> <strong>Metrics<\/strong>: Successful RCE; nature of human intervention; time for final stage; API costs; payload derivation time; physical hardware damage.<\/li>\n<li> <strong>Comparison Boundary<\/strong>: No controlled comparison against humans working alone was performed; the researchers noted that a human working alone might have been faster and cheaper.<\/li>\n<\/ul>\n<h2> <a name=\"9-results\" href=\"#9-results\"> <\/a> 9. Results <\/h2>\n<ul>\n<li>Successfully executed arbitrary ARM shellcode without authentication on the WAGO 750-831.<\/li>\n<li>The final stage required 8 hours and 32 minutes and cost $535.74.<\/li>\n<li>Created two network payloads in 12 minutes after solving target-specific buffer retention issues.<\/li>\n<li>Permanently bricked the PLC during C2 implant development due to an accidental write to flash memory.<\/li>\n<\/ul>\n<h2> <a name=\"10-operational-implications\" href=\"#10-operational-implications\"> <\/a> 10. Operational Implications <\/h2>\n<ul>\n<li>The process currently requires expert assistance and high costs, making it no easier than traditional methods.<\/li>\n<li>Payload derivation after initial RCE is fast, and improving model capabilities may lower the cost of deployment to related targets in the future.<\/li>\n<li>Even defensive AI agents can cause physical and operational impacts if they malfunction when given write access to cyber-physical systems.<\/li>\n<\/ul>\n<h2> <a name=\"11-success-conditions\" href=\"#11-success-conditions\"> <\/a> 11. Success Conditions <\/h2>\n<ul>\n<li>Access to the reference exploit, target firmware, and physical hardware.<\/li>\n<li>Human capability to supply firmware-specific disassembly and correct false hypotheses.<\/li>\n<li>An isolated lab environment capable of repeatedly observing network and memory behavior.<\/li>\n<\/ul>\n<h2> <a name=\"12-constraints-and-limitations\" href=\"#12-constraints-and-limitations\"> <\/a> 12. Constraints and Limitations <\/h2>\n<ul>\n<li>This case study covers only a single vendor, a single CVE, and a single target, and cannot be generalized.<\/li>\n<li>There is no controlled comparison against humans alone or other AI models.<\/li>\n<li>The lack of a target debugger, combined with context window limits and false hypotheses, prolonged the trial-and-error process.<\/li>\n<li>The C2 implant was never completed, as the experiment ended due to hardware destruction.<\/li>\n<\/ul>\n<h2> <a name=\"13-deployment-and-operational-guidance\" href=\"#13-deployment-and-operational-guidance\"> <\/a> 13. Deployment and Operational Guidance <\/h2>\n<ul>\n<li>Conduct OT exploit testing in a lab physically and network-isolated from production environments.<\/li>\n<li>Minimize network, memory, and firmware write permissions for AI agents, and establish clear stop conditions and human approval gates.<\/li>\n<li>Disable unnecessary FTP services on PLCs and block port 21 traffic from IT and external networks.<\/li>\n<li>Monitor for crashes, reboots, ICMP\/UDP beacons, and configuration or firmware changes.<\/li>\n<\/ul>\n<h2> <a name=\"14-required-evidence-and-records\" href=\"#14-required-evidence-and-records\"> <\/a> 14. Required Evidence and Records <\/h2>\n<ul>\n<li>Logs of models, versions, prompts, tools, and context windows.<\/li>\n<li>Firmware hashes, physical hardware models and versions, and network topologies.<\/li>\n<li>All FTP requests, crashes, uptimes, and ICMP\/UDP packet captures.<\/li>\n<li>Human interventions, time spent, token usage, and API costs.<\/li>\n<li>Memory and flash states before and after hardware destruction, alongside recovery viability.<\/li>\n<\/ul>\n<h2> <a name=\"15-facts-inference-hypothesis\" href=\"#15-facts-inference-hypothesis\"> <\/a> 15. Facts \/ Inference \/ Hypothesis <\/h2>\n<h3> <a name=\"facts\" href=\"#facts\"> <\/a> Facts <\/h3>\n<ul>\n<li>Forescout used AI assistance to port an existing RCE exploit for the WAGO 750-852 to the 750-831, executing arbitrary ARM shellcode via a pre-authentication FTP USER buffer overflow.<\/li>\n<li>The final RCE development stage took 8 hours and 32 minutes with an API cost of $535.74, spanning multiple days with human-provided disassembly context and correction instructions.<\/li>\n<li>The issue where the FTP process cleared the shellcode was resolved by omitting the CRLF terminator and changing the sequence to USER -&gt; CWD.<\/li>\n<li>After overcoming this barrier, Claude created two payloads\u2014an ICMP echo and a UDP packet sending the &#8220;PWNED&#8221; string\u2014in 12 minutes.<\/li>\n<li>During C2 implant expansion, a payload wrote to a region mapped to flash memory, permanently damaging the WAGO 750-831.<\/li>\n<\/ul>\n<h3> <a name=\"inference\" href=\"#inference\"> <\/a> Inference <\/h3>\n<ul>\n<li>While AI strongly relies on expert support to solve target-specific initial exploit hurdles, it can accelerate payload derivation once code execution is established.<\/li>\n<li>OT defenders&#8217; assumption that difficult exploits represent low-reality threats must be re-evaluated as model capabilities and automation advance.<\/li>\n<\/ul>\n<h3> <a name=\"hypothesis\" href=\"#hypothesis\"> <\/a> Hypothesis <\/h3>\n<ul>\n<li>The suggestion that marginal costs for parallel ports to similar PLCs will decrease in the future is a projection and cannot be quantified based solely on this experiment.<\/li>\n<\/ul>\n<h2> <a name=\"16-mitre-attampck-mapping\" href=\"#16-mitre-attampck-mapping\"> <\/a> 16. MITRE ATT&amp;CK Mapping <\/h2>\n<ul>\n<li>Since this research did not observe active threat actor operations, no forced mapping is applied.<\/li>\n<\/ul>\n<h2> <a name=\"17-unknowns-and-further-research\" href=\"#17-unknowns-and-further-research\"> <\/a> 17. Unknowns and Further Research <\/h2>\n<ul>\n<li>Reproducibility across other vendors, CPU architectures, and firmware versions.<\/li>\n<li>Strict time and cost comparisons against humans alone, other models, and environments with or without debuggers.<\/li>\n<li>The extent to which AI agent permission constraints can prevent physical hardware damage.<\/li>\n<\/ul>\n<h2> <a name=\"18-impact-on-socs\" href=\"#18-impact-on-socs\"> <\/a> 18. Impact on SOCs <\/h2>\n<p>In manufacturing, building automation, and water treatment environments, if legacy PLC FTP services remain reachable from IT\/OT boundaries, organizations may be impacted by AI-assisted cross-model exploit porting. Organizations must map their assets, firmware, and service reachability, and ensure that AI-driven testing environments enforce physical safety, network isolation, write restrictions, and explicit stop conditions.<\/p>\n<h2> <a name=\"19-summary-by-role\" href=\"#19-summary-by-role\"> <\/a> 19. Summary by Role <\/h2>\n<ul>\n<li> <strong>SOC Analysts<\/strong>: Monitor for abnormal FTP USER lengths, PLC crashes, ICMP\/UDP beacons, and service reachability; do not dismiss difficult exploits from threat models.<\/li>\n<li> <strong>Administrators<\/strong>: Disable and isolate unnecessary FTP services on PLCs, apply firmware updates, restrict inbound traffic from external and IT networks, and establish safety boundaries for testing hardware.<\/li>\n<li> <strong>End Users<\/strong>: This is not an attack that general users handle directly. Promptly report any abnormal PLC stoppages or suspicious network activity to maintenance personnel.<\/li>\n<\/ul><\/div>\n<\/article>\n<p> <!-- Bottom content skipped via SKIP_BOTTOM_CONTENT config --> <\/div>\n<p> <\/main> <\/div>\n<\/div>\n<\/div>\n<\/div>\n<p>Fuente: <a href=\"https:\/\/dev.to\/anoymask\/ai-experiment-porting-a-plc-exploit-takes-hours-and-hundreds-of-dollars-56od\">Art\u00edculo original<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>1. Basic Information Article Title: Experiment: Porting a PLC Exploit With AI Takes Hours and Hundreds of Dollars Publisher: SecurityWeek Publication Date: September 1, 2026 Source URL: SecurityWeek Related Source: Forescout Vedere Labs Related Technologies, Products, and Datasets: CVE-2021-31886, WAGO 750-852, WAGO 750-831 firmware V01.04.16, Nucleus FTP server, Claude Sonnet 4.6, Claude Opus 4.6, Ghidra [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":4821,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"webixso_pending_account_ids":""},"categories":[41],"tags":[],"class_list":["post-4822","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-devto"],"jetpack_publicize_connections":[],"_links":{"self":[{"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/posts\/4822","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/comments?post=4822"}],"version-history":[{"count":0,"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/posts\/4822\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/media\/4821"}],"wp:attachment":[{"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/media?parent=4822"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/categories?post=4822"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/tags?post=4822"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}