OT / ICS 安全
行動要求(讀完後立刻執行)
現在: 讀取../field-journal/precedent-pentest.md— 工控環境誤操作可致物理危害現在: 書面授權必須寫清:站點、網段、是否允許主動掃描/寫暫存器現在: case-init;預設 passive-first;ready_for_act前禁止對 PLC 寫操作下一步: tool-index;多數工控工具需手動與隔離實驗網行動: 資產與分區識別 → 暴露面 → 唯讀驗證
適用場景
- 工控/SCADA/DCS 安全評估(授權)
- Purdue 模型分區與跨區通道
- Modbus/DNP3/S7/EtherNet/IP 等協定暴露
- 工程師站、HMI、歷史庫、跳板主機
- IT/OT 融合邊界(防火牆規則、單向閘)
安全鐵律(必遵守)
禁止在未明確允許時:
- 對 PLC 寫線圈/暫存器
- 全網高速率掃描生產 OT
- 中斷安全儀表系統(SIS)相關路徑
優先:唯讀識別、流量鏡像、離線韌體/配置分析
工作流程
階段 1 — 分區與資產
□ Purdue L0–L5 草圖:現場設備 → 控制 → 監督 → 站點 DMZ → 企業
□ 資產清單:PLC/RTU/HMI/工程師站/歷史庫/跳板主機
□ 協定與埠基線(僅授權網段)
階段 2 — 被動與唯讀
□ SPAN/鏡像 PCAP → protocol-reverse / Wireshark 工控解析器
□ 配置與工程檔案離線審計(TIA/RSLogix 匯出等)
□ 預設口令與明文協定(Modbus 無認證)記錄為 Finding,不寫盤改值
階段 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
任務完成自檢
- 是否預設被動/唯讀並記錄授權邊界?
- 是否避免對控制迴路寫操作(除非明確允許)?
- Finding 是否含物理/過程影響說明?
- Checklist / journal?