OT / ICS 安全评估
立即执行(读完后立刻执行)
NOW: 读取../field-journal/precedent-pentest.md— 工控环境误操作可致物理危害NOW: 书面授权必须写明:站点、网段、是否允许主动扫描/写寄存器NOW: 初始化案例;默认 被动优先;在ready_for_act前禁止对 PLC 写操作NEXT: 索引工具;多数工控工具需手动连接隔离实验网络ACT: 资产与分区识别 → 暴露面分析 → 只读验证
适用场景
- 工控/SCADA/DCS 安全评估(授权)
- Purdue 模型分区与跨区通道分析
- Modbus/DNP3/S7/EtherNet/IP 等协议暴露检测
- 工程师站、HMI、历史库、跳板主机评估
- IT/OT 融合边界(防火墙规则、单向网关)
安全铁律(必须遵守)
严禁在未明确允许时:
- 对 PLC 写线圈/寄存器
- 全网高频率扫描生产 OT 网络
- 中断安全仪表系统(SIS)相关路径
优先顺序:只读识别、流量镜像、离线固件/配置分析
工作流
阶段 1 — 分区与资产
□ 绘制 Purdue L0–L5 草图:现场设备 → 控制 → 监督 → 站点 DMZ → 企业
□ 资产清单:PLC/RTU/HMI/工程师站/历史库/Jump host
□ 协议与端口基线(仅针对授权网段)
阶段 2 — 被动与只读
□ 配置 SPAN/端口镜像,抓取 PCAP → 使用 protocol-reverse / Wireshark 工控解析器分析
□ 离线审计配置与工程文件(如 TIA/RSLogix 导出等)
□ 记录默认口令与明文协议(如 Modbus 无认证)为发现项,不写入或修改值
阶段 3 — 受限主动探测(仅授权)
□ 低速识别,仅在维护窗口内进行
□ 优先使用只读功能码
□ 每一步都记录证据;发现异常立即停止并通报
阶段 4 — 固件/补丁面分析
□ 识别控制器固件版本 → 映射到 CVE(不盲目刷写固件)
□ 联合 firmware-pentest 技能进行离线镜像分析
工具链
| 工具 | 用途 | 注意 |
|---|---|---|
| Wireshark 工控解析器 | 被动解析 | 需要端口镜像流量 |
| Nmap NSE(受限) | 识别 | 控制速率与时间窗口 |
| Claroty/Nozomi 等 | 资产发现 | 商业/现场环境使用 |
| PLC 厂商工程软件 | 配置审计 | 离线优先 |
| binwalk / Ghidra | 固件分析 | 离线 |
参考
references/ot-safe-assessment.md../firmware-pentest/../protocol-reverse/../network通过 pentest-tools 工具
路由上下文
上游: MASTER R28
下游: 固件深度分析 firmware-pentest;协议分析 protocol-reverse;IT 横向移动 windows-ad/attack-chain
同级: 不要使用普通 Web 扫描默认参数来攻击 OT 系统
任务完成自检
- 是否默认采用被动/只读方式,并记录了授权边界?
- 是否避免了对控制回路的写操作(除非明确允许)?
- 发现项是否包含对物理/过程影响的说明?
- 是否更新了检查清单 / 日志?