Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
scada-scanner — 高性能な非同期SCADA/ICSスキャナ | Kitploit
ツール/GitHubGitHub/geeknik/scada-scanner
偵察脆弱性スキャナーネットワークマッピングポートスキャン脆弱性分析SCADA/ICSセキュリティ情報収集ネットワークセキュリティペネトレーションテスト
GitHubgeeknik/scada-scanner

scada-scanner

高性能な非同期SCADA/ICSスキャナ

1638ヶ月前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
リポジトリを見る
ウェブサイト

SCADAスキャナーおよびフィンガープリンター

概要

ネットワーク上の産業用制御システムを識別し、フィンガープリントを取得するための、高性能な非同期SCADA/ICSスキャナーです。脆弱性を検出し、ベンダー/製品を特定して、包括的なリスクレポートを生成します。

警告: 許可されたセキュリティ評価専用です。無許可のスキャンは法律および規制に違反する可能性があります。

機能

中核機能

  • CIDR範囲または個別ターゲットの高速な非同期スキャン
  • 主要な産業用プロトコル(Modbus、S7、DNP3、BACnet、EtherNet/IPなど)のプロトコル検出
  • ベンダー、製品、バージョン識別によるデバイスのフィンガープリント取得
  • 実際のCVEおよびエクスプロイトとの脆弱性の関連付け
  • リスクスコアリングと評価

技術的特徴

  • 並行処理を設定可能なマルチスレッドアーキテクチャ
  • グローバルなリクエスト上限を尊重するトークンバケット方式のレート制限
  • レート制限とホスト単位の接続制御
  • プロトコル固有のプローブによる動作ベースのフィンガープリント取得
  • 検出の証跡を備えたポート認識型プロトコルヒューリスティクス
  • 詳細なロギングと包括的なJSON/CSVレポート

対応プロトコル

  • Modbus TCP
  • Siemens S7
  • DNP3
  • BACnet
  • EtherNet/IP
  • IEC 60870-5-104
  • OPC UA
  • CODESYS
  • その他多数

インストール

前提条件

  • Python 3.7+
  • Linux/macOS/Windows

セットアップ

root@kitploit:~
# リポジトリをクローン
git clone https://github.com/geeknik/scada-scanner.git
cd scada-scanner

# 依存関係をインストール
pip install -r requirements.txt

使用方法

基本的な使用方法

root@kitploit:~
# 単一ターゲットのスキャン
python scada_scanner.py -t 192.168.1.100 -o results.json

# CIDR範囲のスキャン
python scada_scanner.py -c 192.168.1.0/24 -o results.json

# ファイルから複数のCIDR範囲をスキャン
python scada_scanner.py -f networks.txt -o results.json

# JSONの代わりにCSVをエクスポート
python scada_scanner.py -t 192.168.1.100 --format csv -o results.csv

# 除外リストを尊重
python scada_scanner.py -c 10.0.0.0/24 --exclude exclude.txt

# 予期しないプロトコル/ポートの組み合わせを強調表示(ログと検出結果に記録)
python scada_scanner.py -t 203.0.113.10 -o results.json

# ProjectDiscovery vulnxによるライブ脆弱性エンリッチメントを有効化(vulnx + PDCP APIキーが必要)
vulnx auth
python scada_scanner.py -t 192.168.1.100 --vulnx --vulnx-limit 3

コマンドラインオプション

root@kitploit:~
Required arguments (one of):
  -t, --target            単一ターゲットのIPアドレス
  -c, --cidr              スキャンするCIDR範囲(例: 192.168.1.0/24)
  -f, --cidr-file         CIDR範囲を含むファイル(1行に1つ)

Optional arguments:
  -o, --output            出力ファイル(デフォルト: scan_results.json)
  -r, --rate              1秒あたりの最大リクエスト数(デフォルト: 10.0)
  --timeout               接続タイムアウト(秒)(デフォルト: 5)
  --max-concurrent        最大同時接続数(デフォルト: 50)
  --safe-mode             セーフモードを有効化(非侵襲的なスキャンのみ)
  --exclude               スキャンから除外するIPを含むファイル
  -v, --verbosity         詳細度レベル: 0=静か、1=通常、2=デバッグ
  --format                出力形式: jsonまたはcsv(デフォルト: json)

セーフモードと標準モード

セーフモード

  • 非侵襲的なプローブのみを使用します
  • ターゲットシステムへの影響を最小限に抑えます
  • 本番環境に推奨されます
  • --safe-modeフラグで有効化します

標準モード

  • より積極的なプロービング技術を使用します
  • IDS/IPSアラートをトリガーする可能性があります
  • 重要なシステムに影響を与える可能性があります
  • 本番環境では注意して使用してください

レポート例

root@kitploit:~
{
  "scan_summary": {
    "timestamp": "2025-02-27T14:02:33.456789",
    "total_hosts_scanned": 256,
    "hosts_with_scada": 12,
    "total_vulnerabilities": 37,
    "high_risk_hosts": 5
  },
  "hosts": [
    {
      "ip": "192.168.1.100",
      "ports": [
        {
          "port": 502,
          "protocol": "MODBUS",
          "fingerprint": {
            "vendor": "Schneider",
            "product": "M340",
            "version": "2.6.0",
            "risk_score": 0.75,
            "evidence": [
              "response:00010000000101",
              "port_hint:502"
            ],
            "findings": [
              "Detected MODBUS protocol (confidence: 0.55)",
              "Identified vendor: SCHNEIDER, product: M340",
              "Overall risk assessment: High (score: 0.75)"
            ],
            "unexpected_port": false
          }
        }
      ],
      "vulnerabilities": [
        {
          "cve_id": "CVE-2025-55221",
          "description": "Socomec DIRIS Digiware M-70 DoS via crafted Modbus TCP/RTU over TCP packets",
          "severity": "high",
          "source": "local_db"
        }
      ]
    }
  ]
}

倫理的考慮事項

法的コンプライアンス

このツールは、許可されたセキュリティ評価のみを目的としています。無許可のスキャンは以下に違反する可能性があります:

  • コンピュータ詐欺および濫用取締法(米国)
  • コンピュータ不正使用法(英国)
  • その他の法域における類似の法律

ベストプラクティス

  • スキャン前に必ず書面による許可を取得する
  • 可能な場合はセーフモードを使用する
  • 可能な場合はメンテナンス時間帯にスキャンする
  • DoS状態を回避するためにレート制限を尊重する
  • 産業用システムの繊細さを考慮する

脆弱性インテリジェンス

このスキャナーには、中核プロトコル用の小さな組み込み脆弱性データベースが同梱されています(VULNERABILITY_DATABASEを参照)。より新しい情報を得るには、オプションの ProjectDiscovery vulnx 統合を有効にできます:

  1. vulnxをインストールし、PDCP APIキーを設定します(vulnx auth)。
  2. --vulnxを指定して実行します(必要に応じて--vulnx-limitと--vulnx-timeoutを調整)。
  3. vulnxからの脆弱性はローカルの検出結果と統合され、source: "vulnx"とマークされます。

vulnxがない場合や到達できない場合は、スキャナーはローカルデータベースに自動的にフォールバックします。ローカルデータベースのエントリ(このリポジトリのスナップショットに収録)は、中核プロトコルに対するvulnx検索から定期的に更新され、source: "local_db"のタグが付けられます。

テスト

ユニットテストスイートを実行します:

root@kitploit:~
pytest

開発者向けドキュメント

新しいプロトコルの追加

スキャナーはモジュール式に設計されており、新しいプロトコルのサポートを簡単に追加できます:

  1. SCADA_PORTSリストにプロトコルの詳細を追加する
  2. PROTOCOL_SIGNATURESディクショナリにシグネチャパターンを追加する
  3. プロトコル固有のプローブ関数とアナライザ関数を作成する
  4. VULNERABILITY_DATABASEに脆弱性情報を追加する

コントリビューション

コントリビューションを歓迎します!以下の手順に従ってください:

  1. リポジトリをフォークする
  2. フィーチャーブランチを作成する(git checkout -b feature/amazing-feature)
  3. 変更をコミットする(git commit -m 'Add amazing feature')
  4. ブランチにプッシュする(git push origin feature/amazing-feature)
  5. プルリクエストを開く

ライセンス

このプロジェクトはMITライセンスの下で提供されています。詳細はLICENSEファイルを参照してください。

免責事項

本ソフトウェアは、明示または黙示を問わず、いかなる種類の保証もなく「現状のまま」提供されます。著作者は、本ソフトウェアの使用に起因するいかなる損害または損失についても、一切の責任を負いません。

ツールをダウンロード