noorqureshi/security-skills/hardware-ot-ics
Claude Code and agent skill by noorqureshi/security-skills
- community
Checking that the SKILL.md file is still in the repository.
Assess OT/ICS environments — PLC, SCADA, DCS, HMI — safely and passive-first: Purdue-model zoning, industrial protocol discovery (Modbus, S7, DNP3, EtherNet/IP), mirrored-traffic analysis, and read-only verification. Load for an authorized engagement touching industrial control networks, engineering workstations, historians, or IT/OT boundaries. Signals: ports 502, 102, 44818, 20000; Modbus/S7comm banners; PLC/RTU inventory requests.
Install
npx vskill@latest install noorqureshi/security-skills/hardware-ot-icsSKILL.md
OT / ICS security assessment (passive-first)
When it applies
The engagement touches an industrial environment — PLC/RTU controllers, SCADA/DCS, HMIs, engineering workstations, historians, jump hosts, or the IT/OT boundary (firewall rules, data diodes). A misstep here can cause physical harm, not just downtime. Load tradecraft-scope-roe and require the written authorization to spell out: the site and network segments, whether active scanning is allowed, and whether writing coils/registers is allowed — the default for both is NO. Work passive-first; nothing touches a PLC's state until the scope explicitly says so.
Why it works
Industrial protocols (Modbus, S7comm, DNP3, EtherNet/IP) predate hostile networks: they run in cleartext with no authentication (CWE-306), so anyone who can reach the port can read process state — and usually write it. That's exactly why the assessment itself is the risk: a high-rate scan or a stray write can trip a control loop or a safety instrumented system (SIS). Mirrored traffic and offline artifacts reveal the same exposure with zero packets injected.
Iron rules (MUST)
- Never write coils/registers to a PLC unless the authorization explicitly permits it.
- No high-rate scanning of production OT segments — low rate, maintenance window only.
- Never touch SIS paths or anything in a safety loop.
- Prefer, in order: read-only identification → traffic mirroring → offline firmware/config analysis.
- An anomaly or unexpected device response → stop immediately and notify the site contact.
Method
- Zone and inventory (paper-first). Sketch the Purdue levels L0–L5: field devices → basic
control → supervisory → site DMZ → enterprise. Build the asset list — PLC/RTU/HMI/engineering workstation/historian/jump host — and the expected protocol/port baseline for the authorized segments only (identification, not exploitation): Modbus/TCP 502, S7comm 102, EtherNet/IP 44818, DNP3 20000.
- Passive capture. Take a SPAN/mirror-port PCAP from an authorized tap:
tshark -i <iface> -w ot-mirror.pcap. Dissect it with Wireshark's ICS dissectors (modbus, s7comm, enip, dnp3) — you learn the live devices, the masters/slaves, the function codes in use, and any cleartext credentials without sending a single packet. A proprietary protocol on the wire goes to reverse-eng-protocol.
- Offline audit. Review exported controller configuration and engineering projects (TIA
Portal, RSLogix/Studio 5000 exports) offline. Record default credentials and unauthenticated cleartext protocols (Modbus has none) as findings — observe and document; change nothing.
- Limited active checks — only if the scope says yes. During the agreed maintenance window,
at low rate (nmap -Pn -n --max-rate 20 -p 502,102,44818,20000 <host>, plus targeted NSE identification such as --script modicon-info,s7-info,enip-info), prefer read-only function codes, capture evidence for every step, and stop + escalate at the first anomaly.
- Firmware and patch surface. Map controller firmware versions to known CVEs (never blind-flash
firmware). Pull images for offline analysis with reverse-eng-firmware and reverse-eng-binary-triage rather than probing the live controller.
- Report with physical consequence. Every OT finding states its process/physical impact
(what an attacker could make the plant do), and distinguishes remotely exploitable issues from ones requiring physical or control-network access. Lateral movement into the IT side follows network-pivoting-tunneling and the ad domain skills as usual.
Gotchas
- A port scan is an active act on OT. Some PLCs fault or reboot under ordinary scan rates —
mirrored traffic first, always. Don't run default-parameter web/network scanners against OT segments; the profiles are wrong and the risk is real.
- "No response" may mean you hurt something, not that nothing's there — if a device goes quiet
mid-test, stop and notify; check with the site before resuming.
- Most ICS tooling assumes an isolated lab network — stage and rehearse tools in a lab VLAN or
on a mirrored feed, not on the production segment.
- Default creds and no-auth protocols are findings, not invitations — log them, prove reachability
minimally, never exercise a write "to demonstrate".
- Confirm the emergency contact and rollback plan exist before any active phase — including the
maintenance window and who can halt the test.
Verify success
You can produce: the Purdue-zone sketch with a reconciled asset inventory, the observed protocol/port baseline from passive capture, a findings list with physical-impact framing (remote vs physical reachability stated per finding), and — for any authorized active step — a step-by-step evidence trail showing read-only behavior and zero unplanned state changes.
References
NIST SP 800-82 (ICS security); ATT&CK for ICS; Wireshark ICS dissector docs; reverse-eng-firmware.
_Portions adapted from reverse-skill by zhaoxuya520, MIT License._
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/hardware/hardware-ot-ics/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/noorqureshi/security-skills/hardware-ot-ics)