The OT security handbook.
How industrial networks are actually assessed: which protocols answer, what a scan can and cannot break, and where the reach from the business network stops. Every port, function code and advisory read off the source and dated.
15 of 15 guides shown
The question underneath the others.
OT penetration testing differs from IT testing because the asset behind the address is physical, patches often wait years for a shutdown, and the goal is proving reachability and controllability rather than firing an exploit. The Purdue model, not the subnet, decides where an OT engagement is even allowed to run.
The techniques are not the problem. The reflexes are: scan harder, retry the login, enumerate everything, and treat a timeout as a challenge.
What can go wrong, and what stops it.
A port scan can crash a legacy PLC, and CISA's ICSA-19-106-03 documents named controllers from five vendors doing exactly that under heavy network load; the difference between a routine assessment and an outage is the scan type used (connect, not SYN), the packet rate, and keeping version probes off fragile or unidentified devices.
Before widening our industrial port coverage we measured what we already sent. Twenty bytes into an iFIX failover channel, and a single null byte into GuardLogix safety I/O.
Every industrial scanner claims to be safe. The question worth asking is what happens when the safe path has a bug in it.
What the wire carries, and what it proves.
The ports guide's CODESYS, SLMP and OPC UA-secure entries are corrected against verified sources: CODESYS defaults to port 1217 (2455 could not be confirmed as a CODESYS default and was dropped), SLMP has no protocol-mandated default port and now says so instead of citing an unconfirmed 5007, and OPC UA's secure port 4843 is now cited to its actual IANA registration rather than an unrelated PubSub spec section.
Modbus TCP has no authentication because it is the same 1979 Modicon serial protocol, carried unchanged over TCP since 1999: the frame has no field for a credential. Any host that can route to its default port can send the same read and write function codes a legitimate master would, which is why the real fix is network controls around it, not the protocol itself.
We set out to read a CIP device type and name safety equipment from it. ODVA's own conformance record says that cannot work, and the finding changed what we shipped.
Plants move software. A historian on a non-standard port is still a historian, and a web server on 502 is not a PLC.
Who can get to the thing that moves.
An engineering workstation holds the project archive, the controller passwords and the vendor toolchain for every controller it has ever programmed, so compromising it is not one incident, it is every controller downstream of it. Stuxnet and TRITON both proved the same host is where an attacker goes to actually reach the process.
Every plant has a network diagram showing a clean Purdue hierarchy. Validating it is one TCP connection, and the answer is often not what the diagram says.
Where the paperwork meets the plant.
We hold 116 vendor advisories for industrial software. Only 14 of them can currently decide anything about your equipment, and the reason is not laziness.
An industrial audit produced findings and lit no compliance control at all. The framework pack was not the missing piece.
What the machine decides, and what it must not.
The interesting question about an AI red team is not how clever the planner is. It is which decisions the planner is structurally prevented from making.
On an isolated network a tool cannot look anything up. That one constraint decides the architecture, the research process and what you are allowed to claim.