Communitygithub.com

OT / ICS セキュリティ

Purdueモデルゾーニング、PLC/SCADA露出、産業プロトコル発見、および安全なパッシブファースト評価を網羅した、許可されたOT/ICSセキュリティ評価のためのスキル。

ICS セキュリティ とは?

このスキルは、産業制御システム(ICS)および運用技術(OT)環境における許可されたセキュリティ評価を実施するための包括的なガイドです。Purdueモデルに基づくゾーニング、PLC/SCADAシステムの露出評価、Modbus/DNP3/S7/EtherNet/IPなどの産業プロトコルの発見を安全に実行します。特に、物理的な危険を回避するために「パッシブファースト」アプローチを厳格に採用し、PLCへの書き込み操作は明示的な許可があるまで禁止されます。Claude CodeやCursorなどのAIエージェントプラットフォーム上で動作し、評価の各フェーズ(資産特定、パッシブ分析、制限付きアクティブスキャン、ファームウェア分析)を段階的に進めます。また、ツールチェーンとしてWireshark、Nmap NSE、Claroty/Nozomi、PLCペンダーソフトウェア、binwalk/Ghidraなどを状況に応じて使用し、最終的なファインディングには物理的・プロセスへの影響評価を含める必要があります。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/zhaoxuya520/reverse-skill/tree/main/skills/ot-ics

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

ICS セキュリティ は何をしますか?

アクション必須(読んだらすぐ実行)

  1. NOW: ../field-journal/precedent-pentest.md を読む — 工場環境での誤操作は物理的危険を引き起こす可能性があります
  2. NOW: 書面による許可には以下を明記する必要があります:サイト、ネットワークセグメント、能動的スキャン/レジスタ書き込みの可否
  3. NOW: case-init;デフォルトは passive-first;ready_for_act まで PLC への書き込み操作を禁止
  4. NEXT: tool-index;ほとんどの制御ツールは手動で隔離実験ネットワークに接続する必要があります
  5. ACT: アセットとゾーンの識別 → 露出面 → 読み取り専用検証

適用シナリオ

  • 制御/SCADA/DCS セキュリティ評価(許可済み)
  • Purdue モデルゾーニングとゾーン間チャネル
  • Modbus/DNP3/S7/EtherNet/IP などのプロトコル露出
  • エンジニアリングワークステーション、HMI、ヒストリアン、ジャンプホスト
  • IT/OT 融合境界(ファイアウォールルール、一方通行ゲートウェイ)

安全の鉄則(MUST)

MUST NOT 明示的に許可されていない場合:
- PLC へのコイル/レジスタ書き込み
- 生産 OT に対する高レートスキャン
- 安全計装システム(SIS)関連パスの中断
優先:読み取り専用識別、トラフィックミラーリング、オフラインファームウェア/設定分析

ワークフロー

フェーズ 1 — ゾーニングとアセット

□ Purdue L0–L5 スケッチ:現場デバイス → 制御 → 監視 → サイトDMZ → エンタープライズ
□ アセットリスト:PLC/RTU/HMI/EWS/ヒストリアン/ジャンプホスト
□ プロトコルとポートベースライン(許可されたセグメントのみ)

フェーズ 2 — パッシブと読み取り専用

□ SPAN/ミラー PCAP → protocol-reverse / Wireshark 産業用パーサー
□ 設定とプロジェクトファイルのオフライン監査(TIA/RSLogix エクスポートなど)
□ デフォルトパスワードと平文プロトコル(Modbus の認証欠如)を Finding として記録、ディスク書き込みや値変更は行わない

フェーズ 3 — 制限付きアクティブ(許可がある場合のみ)

□ 低速識別、メンテナンスウィンドウ内
□ 読み取り専用ファンクションコード優先
□ 各ステップの Evidence;異常があれば即座に停止し報告

フェーズ 4 — ファームウェア/パッチ面

□ コントローラファームウェアバージョン → CVE マッピング(ファームウェアの盲目的書き込みは行わない)
□ firmware-pentest と連携してオフラインイメージ分析

ツールチェーン

ツール用途注意
Wireshark 産業用 dissectorsパッシブ解析ミラーリングされたトラフィック
Nmap NSE(制限付き)識別レートと時間枠に注意
Claroty/Nozomi など資産発見商用/現場用
PLC ベンダーエンジニアリングソフト設定監査オフライン優先
binwalk / Ghidraファームウェアオフライン

参考

  • references/ot-safe-assessment.md
  • ../firmware-pentest/ ../protocol-reverse/ ../network via pentest-tools

ルーティングコンテキスト

上流: MASTER R28
下流: ファームウェア詳細分析 firmware-pentest;プロトコル protocol-reverse;IT 横断 windows-ad/attack-chain
同レベル: 通常のWebスキャンのデフォルトパラメータでOTを攻撃しないこと

タスク完了自己チェック

  • デフォルトでパッシブ/読み取り専用であり、許可境界を記録したか?
  • 制御ループへの書き込み操作を避けたか(明示的に許可されていない限り)?
  • Finding に物理的/プロセスへの影響説明を含めたか?
  • Checklist / journal?

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

api-security

Use for authorized security assessment of REST, GraphQL, WebSocket, or SOAP APIs, including discovery, authentication, authorization, rate-limit, and CI/CD testing.

apk-reverse

在 CLI 环境下做 Android APK 逆向时使用。适用于 APK 解包、Java 反编译、smali 修改、重打包、Frida 动态 Hook,以及按需切换到 so/native 分析。优先使用本机已安装的 jadx、apktool、frida、adb、ida-reverse、radare2。

attack-chain

Use for authorized multi-stage attack-path planning and orchestration when a task spans reconnaissance, initial access, privilege escalation, lateral movement, or impact assessment. Route single-stage tasks directly to their specialist skill.

binary-diff

|

binary-ninja-reverse

Use for authorized binary analysis in Binary Ninja, including HLIL/MLIL/LLIL inspection, strings/imports/exports, cross-references, types, patch review, Python API automation, and optional Binary Ninja MCP or localhost HTTP integration.

browser-automation

|

browser-extension-reverse

Use for authorized reverse engineering of browser extensions (Chrome/Firefox) including manifest analysis, background workers, and extension-based credential or traffic logic recovery.

case-review

Reviews a reverse-skill case package for scope readiness, Evidence to Finding to Path traceability, work item coverage, timeline references, and optional artifact hash integrity before report handoff.

cloud-k8s

Use for authorized cloud, container, and Kubernetes security assessment including metadata SSRF, IAM misconfig, container escape paths, and cluster RBAC review.

code-audit

Use for authorized source-code security review and SAST workflows including Semgrep, CodeQL patterns, dangerous API hunting, and fix verification.

ctf-sandbox

Thin PRIMARY for CTF / AWD / 靶场 multi-type orchestration. Hands off to the sidecar CTF-Sandbox-Orchestrator. Use when the user says CTF, AWD, 靶场, or 比赛题 and no more specific pwn/APK/IDA route already won.

database-security

Use for authorized database security assessment covering PostgreSQL/MySQL/MSSQL/Mongo/Redis exposure, authz, UDF/command paths, and misconfiguration review.

diagram-generator

generate, refine, validate, and render diagrams from natural language, notes, code snippets, schemas, tables, or existing diagram source. use for flowcharts, swimlanes, sequence diagrams, state diagrams, er diagrams, class diagrams, architecture/c4-style diagrams, dependency graphs, gantt charts, mind maps, user journeys, sankey-style flows, org charts, network graphs, and other visual models. supports mermaid by default, graphviz dot for complex graph layout, plantuml for uml-heavy engineering diagrams, and svg output when direct markup is more reliable.

digital-forensics

Use for authorized digital forensics including memory dumps, disk timelines, PCAP investigation, artifact triage, and IR evidence preservation.

docs-generator

|

dotnet-reverse

.NET / C# 二进制逆向。当目标是 .NET assembly(PE 头含 CLR、.exe/.dll 托管程序)、C# 编译产物(含 NativeAOT)、红队 Sharp* 工具(Rubeus / SharpHound / SharpHound 等)、.NET 混淆程序(ConfuserEx / SmartAssembly / Babel / Eazfuscator)、.NET loader / info-stealer / 套壳 malware 时使用。优先用 dnSpyEx + de4dot,需要 AI 直接操作时联动 dnSpy MCP。不用于纯 native 二进制(走 reverse-engineering / ida-reverse)。

edr-bypass-re

|

email-security

Use for authorized email security review including phishing analysis, header authentication (SPF/DKIM/DMARC), BEC patterns, and mailbox token abuse research.

firmware-pentest

|

ghidra-reverse

Use for free/open reverse engineering with Ghidra (headless or GUI), including decompile, cross-refs, and optional Ghidra MCP workflows when IDA is unavailable.

関連スキル