
PLC Penetration Testing: A Safe Methodology That Works


Team Shieldworkz
What Is PLC Penetration Testing?
Definition PLC penetration testing is a controlled, authorised security assessment of programmable logic controllers and the systems around them, engineering workstations, HMIs, industrial networks and remote access paths, that proves which weaknesses an attacker could actually exploit, without disrupting the physical process. |
It sits within the wider discipline of OT penetration testing (also called ICS or SCADA penetration testing), and differs from IT testing in one critical way: the cost of a mistake is measured in process safety and downtime, not just data loss.
Why PLC Penetration Testing Is Different From Everything Else in Security
If you have managed IT penetration testing programmes, the instinct is to scope, scan, exploit and report. In an OT environment, that playbook can cause the very incident you are trying to prevent. The differences are structural, not cosmetic.
Factor | IT environment | OT / PLC environment |
Consequence of failure | Server reboot, data exposure | Opened valve, tripped safety interlock, spoiled batch, injury risk |
Device resilience | Modern CPUs and mature network stacks | Embedded CPUs with minimal memory; legacy stacks that can crash under active scanning |
Patching | Monthly or faster | Often once a shutdown window allows - sometimes years apart |
Availability | Maintenance windows are routine | Uptime is non-negotiable; downtime is costly and may be unsafe |
Protocol security | TLS, authentication, encryption common | Modbus/TCP, S7comm, EtherNet/IP and DNP3 largely lack authentication and encryption |
Testing approach | Scan, exploit, report | Review, observe passively, replicate in lab, validate minimally |
Industry reporting underlines why this cannot be skipped. Recent studies point to sharp year-on-year growth in OT incidents with physical consequences and a rise in ransomware against manufacturers, while a significant share of Siemens S7 PLCs still in the field are older, vulnerable models. Organisations that understand these constraints do not skip testing. They test differently.
Understanding the PLC Attack Surface
Before any methodology makes sense, you need to know what you are actually testing. The attack surface is larger than most security teams assume:
The controller itself - firmware, ladder logic or structured text programs, and configuration.
Engineering workstations (EWs) - the Windows machines where control logic is written and downloaded to PLCs. These are the crown jewels of any OT environment.
HMI and SCADA servers - operator interfaces and supervisory systems at Purdue Level 2 and above.
Industrial protocols - Modbus/TCP, EtherNet/IP, S7comm, DNP3, OPC UA and Profinet, most designed without authentication or encryption.
Remote access infrastructure - vendor VPNs, jump hosts and support tunnels that cross the IT/OT boundary.
Safety instrumented systems (SIS) - independent controllers built to bring the plant to a safe state, which attackers increasingly target directly, as Triton demonstrated.
The uncomfortable reality: most industrial protocols were designed for reliability, not security. If an attacker can reach a PLC on the network, there is often little stopping them from reading or writing whatever they want - a gap compounded by the fact that most PLCs do not support modern controls such as 802.1X port-based network access control.
That is why ICS penetration testing that stops at the IT/OT firewall misses the point. The question is not only “can they get in?” but “once they are at Level 1, what can they do to the process?”
The First Principle: Safety Is Not a Phase, It Is the Constraint
Every penetration test has phases. A safe PLC penetration test has something else first: a set of non-negotiable constraints agreed before anyone touches a keyboard.
In our experience, incidents during security testing rarely come from sophisticated exploitation. They come from sloppy scoping - a tester scans a subnet nobody said contained a fragile legacy controller, or runs an active tool during a production-critical window. NIST SP 800-82 Rev. 3, the leading guide to OT security, makes the same point: assessments, including penetration testing, must be conducted with care so that OT operations are not adversely affected.
Pre-test checklist (all in writing)
Requirement | What it must cover |
Named operational contacts | A control engineer and plant operator who can answer questions and authorise activity in real time |
Excluded systems | Fragile, legacy or safety-critical devices explicitly off-limits for active techniques |
Defined stop conditions | Specific events - process alarm, operator alert, unexpected controller behaviour - that halt testing immediately |
Approved testing windows | Low-production periods or planned maintenance |
Signed rules of engagement | Methods, timing, data handling and escalation paths |
Red flag If your penetration testing provider does not insist on these five items, question their OT experience. |
The 7-Phase Safe PLC Penetration Testing Methodology
The methodology is built around one idea: maximise knowledge gained per unit of operational risk. It progresses from zero-risk activities such as documentation review to carefully controlled validation, and touches live production controllers only when there is no safer alternative - with explicit authorisation.
Phase | Activity | Production risk | Where it runs |
1 | Scoping and architecture review | None | Paper / offline |
2 | Threat modelling and crown-jewel identification | None | Workshop |
3 | Passive discovery | None (listen-only) | Production network via tap/SPAN |
4 | Configuration and boundary validation | Very low | IT/OT boundary, EWs |
5 | Controller-level assessment | None in lab; minimal if bounded | Lab replica first |
6 | Safe exploitation and attack-path demonstration | None (replica) | Lab |
7 | Reporting, remediation and retesting | None | Offline |
Phase 1: Scoping and Architecture Review (zero operational risk)
Everything starts on paper. Before a single packet is sent, the team reviews:
Network diagrams and Purdue-level architecture
Firewall rulesets governing IT/OT and DMZ boundaries
Remote access pathways - VPNs, jump hosts, vendor portals
Asset inventories, including firmware versions and vendor support status
Historians, engineering workstations and data flows between zones
Reviewing the architecture on paper first gives the team a full understanding of the environment before any testing begins. This phase routinely surfaces serious issues without touching production: flat networks that contradict the official diagram, undocumented vendor tunnels, and firewall rules that allow far more than intended.
Phase 2: Threat Modelling and Crown-Jewel Identification
Not all PLCs are equal. A PLC in a comfort-cooling loop carries different risk from a burner management controller at a refinery. Work with process engineers to identify the crown-jewel assets - controllers whose compromise would mean safety consequences, environmental release or catastrophic downtime - then model realistic attack paths. How would an adversary move from a phishing email in the corporate network to that controller, and with which techniques?
Map these paths to MITRE ATT&CK for ICS. The Triton intrusion maps to a long list of documented ICS techniques, from valid account abuse to program download and controller manipulation. This mapping gives you a defensible framework for what to test, and why.
Phase 3: Passive Discovery - Look, Don’t Touch
This is where OT testing genuinely diverges from IT. Instead of sending probes, you listen.
Network tap or SPAN port deployment to mirror traffic (usually from the Level 3/3.5 boundary) without injecting packets.
Protocol analysis with Wireshark to identify every controller, its protocol, communication partners and operating state.
Traffic baselining - normal cyclic traffic, programming connections and engineering downloads.
Asset reconciliation - compare what you observe with the documented inventory. The gap is often the first significant finding.
Visibility is the foundational problem in industrial security: surveys consistently show that only a minority of organisations have full OT asset visibility. Passive discovery carries no risk to control operations and answers critical questions: Which PLCs accept programming connections, and from where? Is anyone talking to the SIS network who should not be? Is plaintext Modbus crossing zones?
Phase 4: Configuration and Boundary Validation
With a traffic baseline in hand, move to controls testing - still without touching the PLCs themselves.
Segmentation testing: verify, from a simulated compromised IT host, that firewall rules actually block unauthorised IT-to-OT paths, and that the industrial DMZ is the only bridge between worlds.
Remote access review: Is MFA enforced on every vendor pathway? Are sessions recorded and attributable? Is access time-bound and removed when contracts end? Unauthorised external access features prominently in OT incident reporting.
Engineering workstation assessment: patch status, local admin rights, removable media controls and protection of PLC project files. A compromised engineering workstation is the most dangerous position an OT attacker can hold, because it bridges cyber access to process-level change.
Phase 5: Controller-Level Assessment - Lab First, Production Last
Here is where most testing programmes go wrong: they want to “test the PLC” and point tools at live production hardware. Don’t. A safer, more defensible approach uses three tiers.
Tier | Approach | Examples |
Tier 1 | Vendor documentation and known-vulnerability analysis | Map controller models and firmware versions to CVEs and vendor advisories before testing anything |
Tier 2 | Lab replication (the main event) | Use the same or a decommissioned controller model, load a copy of the logic and build a test bench. Fuzz protocol implementations, test authentication bypasses, attempt program uploads and downloads — all at full aggression with zero production risk |
Tier 3 | Bounded live validation (only if explicitly approved) | A single authenticated status query; confirming an unauthorised programming connection is refused; verifying run-mode/key-switch protections work as documented |
Write operations to production PLCs - downloads, mode changes, register writes - should be reserved for dedicated maintenance windows, if done at all. In many mature programmes they are never performed on live systems. Combining passive production observation with aggressive lab testing delivers most of the insight at a fraction of the risk. This mirrors NIST guidance to test changes on a test system under field conditions before they reach the OT system.
Phase 6: Safe Exploitation and Attack-Path Demonstration
When exploitation is validated, do it in the lab against the replica, then demonstrate the path, not just the punch. A board does not need to hear “we can crash a Modbus stack.” It needs to hear:
Example board-level finding “An attacker who phishes an engineering contractor’s VPN credentials can reach the historian, pivot to the HMI network and issue unauthorised write commands to the boiler controllers. We proved this end-to-end in the replica environment. Here are the three control points where detection or blocking would have stopped it.” |
Phase 7: Reporting, Remediation and Retesting
The report must serve three audiences:
Audience | What they need |
Executives | Business impact in operational and financial terms, and a prioritised risk-reduction roadmap |
OT engineering | Precise technical findings, reproduction steps and compensating-control options - crucial where patching is not feasible |
Detection teams | What the attacks look like on the wire. Many OT intrusions are detectable in traffic if anyone is watching - Triton, for example, produced observable anomalies such as off-hours TriStation traffic and unusually large packets to controllers |
The Toolkit: What Professionals Use (and Avoid)
Category | Tools and techniques |
Approved for production-adjacent work | Wireshark with ICS dissectors (Modbus, S7comm, EtherNet/IP, DNP3, TriStation); network taps and SPAN configuration; Nmap with carefully rate-limited NSE scripts (e.g. modbus-info) against approved targets only - never broad sweeps; passive asset-discovery platforms (e.g. Nozomi, Claroty, Armis) |
Lab-only | Protocol fuzzers and active scanners (e.g. plcscan, ISF, Snap7-based tooling); exploit frameworks for industrial protocols; malicious-logic simulation (modifying ladder logic, injecting rogue function blocks); vendor engineering software to understand controllers the way attackers do |
Never on production | Vulnerability scanners with IT-default templates (aggressive or unauthenticated full scans); denial-of-service or fuzzing tools of any kind; anything that writes to controller memory, registers or program blocks |
Common Mistakes That Turn Tests Into Incidents
Treating OT like IT. Default scanner configurations and broad active enumeration are a leading cause of testing-related outages in industrial environments.
Testing without operations in the room. OT teams know things no scan will tell you - which loop is unstable, which controller dislikes TCP retransmissions, when the plant is most sensitive.
Ignoring the safety systems. Attackers do not share your reluctance. Triton targeted the SIS precisely because defenders treated it as too sensitive to examine.
A report that ends in “patch it.” If the realistic answer is “during the next planned shutdown in 14 months,” the report is shelf-ware. Effective OT reporting always includes compensating controls.
Point-in-time thinking. A penetration test is a snapshot; attackers operate continuously. Use findings to drive continuous monitoring and recurring validation.
Aligning With the Standards Your Auditors Will Ask About
A well-scoped IEC 62443 penetration test maps cleanly onto the frameworks regulators and cyber insurers increasingly reference:
Framework | How PLC penetration testing supports it |
NIST SP 800-82 Rev. 3 | Primary OT security guidance; requires that testing not impact operations |
ISA/IEC 62443 | Zones and conduits, target security levels (SL-T) and the requirement for ongoing assessment |
MITRE ATT&CK for ICS | Threat modelling and technique coverage for industrial adversaries |
NIST CSF 2.0 | Testing feeds the Identify, Protect and Detect functions directly |
Sector regimes | NERC CIP for power, plus national critical-infrastructure directives elsewhere |
Anchor your methodology to these, and the pentest report becomes evidence of due diligence, not just a technical document.
Frequently Asked Questions About PLC Penetration Testing
Is PLC penetration testing safe?
Yes - when it is properly scoped, coordinated with operations, uses passive methods first, defines stop conditions and reserves active testing for lab replicas or approved maintenance windows. The methodology above ensures no production-affecting action occurs without explicit authorisation and a safety case.
How is PLC penetration testing different from a vulnerability assessment?
A vulnerability assessment lists what might be wrong. A penetration test proves what actually is: which weaknesses are reachable, exploitable and chainable into real attack paths. In OT this matters even more, because you need to know which of your thousands of scan findings are dangerous given your segmentation and compensating controls.
Can we test PLCs without taking the plant offline?
In most cases, yes. A mature programme gets the majority of its value from passive observation, configuration review and lab replication. Direct active testing on live controllers is the exception, not the rule.
How often should PLC penetration testing be done?
At minimum annually, and after significant change: new remote access pathways, network re-architecture, controller firmware upgrades or integration of acquired facilities. OT environments change slowly, but the connections around them change constantly.
Who should perform PLC penetration testing?
A team with demonstrated OT experience, not just pentesting certifications. Ask about prior industrial engagements, safety training and how they handle a PLC that crashes during testing. Their answer will tell you a great deal.
The Bottom Line
PLC penetration testing is not about proving you can break a controller. Any competent attacker can do that, Triton proved it at nation-state scale. It is about understanding your real exposure before someone hostile does, in a way that never puts your operation at risk.
Organisations that get this right share a pattern: they treat safety as a design constraint rather than a disclaimer, they test aggressively in replicas and passively in production, and they turn findings into compensating controls that survive the reality of unpatchable, decades-old control hardware.
If your current security testing programme cannot touch the OT environment without operations pushing back, the answer is not to stop testing. It is to test safely.
Ready for a production-respecting OT security assessment? At Shieldworkz, we deliver end-to-end OT cybersecurity - from PLC and SCADA penetration testing to continuous monitoring and IEC 62443-aligned security programmes- across industrial sectors in India and worldwide. → Talk to our OT security team about a safe, production-respecting assessment of your control environment. |
احصل على تحديثات أسبوعية
الموارد والأخبار
تعرف على كيفية معالجة حلولنا الرائدة في مجال أمن تكنولوجيا التشغيل (OT) للتحديات الأمنية الحيوية
قد تود أيضًا

PHP2Shell Update: First Confirmed Exploitation, OT Vendor Fallout and the CISO Response Plan

Team Shieldworkz

Investigative report on Lamashtu extortion operations: German brewery incident analysis

Prayukth K V

Passive OT Asset Discovery Techniques: The Complete Guide for Industrial Environments

Team Shieldworkz

Modbus TCP Security: Firewall Rules and Best Practices

Team Shieldworkz

IEC 62443 Zones and Conduits: Practical Industrial Examples

Team Shieldworkz

OT Removable Media Security: NIST SP 1334 Implementation Guide

Team Shieldworkz

