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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
cygor — Python製のモジュール式アセットディスカバリーフレームワーク。反復的な手動作業を自動化します。 | Kitploit
ツール/GitHubGitHub/tjnull/cygor
偵察脆弱性スキャナーネットワークマッピングポートスキャンスクリプトと自動化情報収集ウェブセキュリティペネトレーションテストDNS分析データベースセキュリティ
GitHubtjnull/cygor

cygor

8562ヶ月前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有

Python製のモジュール式アセットディスカバリーフレームワーク。反復的な手動作業を自動化します。

リポジトリを見る

Cygor

cygor_banner

概要

Cygorは、スキャン、パース、サービス列挙を1つのワークフローに統合したモジュール式アセットディスカバリフレームワークです。個別ツールの寄せ集めに代わり、発見、エンリッチメント、ターゲットを絞った列挙をシームレスに処理する自動化プロセスを提供し、手作業のオーバーヘッドを削減して、ツール管理ではなく結果に集中できるようにします。

CygorのWeb UIは、生のスキャンデータの混沌を整理し、単一の視覚的なコマンドセンターにまとめます。延々とXML、JSON、フラットテキストを探し回る代わりに、結果は自動的にパース、エンリッチメントされ、迅速なトリアージと意思決定のために設計された1つのスペースに表示されます。

FastAPIとBootstrap 5を搭載したダッシュボードでは、以下が簡単に行えます:

  • 全体像を一目で把握 — カウンターとサマリーがサービス分布、ステータスコードの傾向、OSフィンガープリントを明らかにします。
  • 即座に詳細へドリルダウン — 高レベルのメトリクスからホストごとの詳細、ポート、モジュール結果へワンクリックで遷移できます。
  • 露出の可視化 — LockonというCygorのモジュールの1つがアクティブなWebサービスのスクリーンショットを撮影し、出力が直接埋め込まれるため、ダッシュボードを離れることなく即座にコンテキストを得られます。
  • トリアージ中の整理 — レビュー済みと未レビューの発見事項をマークし、結果のフィルタリングとソートを行い、最も価値の高いターゲットに絞り込めます。

Web UIは単なる表示のためだけではありません — 効率性と明確さのためのものです。収集したすべてのデータを単一のインタラクティブなワークスペースにまとめることで、ファイルのパースや出力の突き合わせに費やす時間を削減し、テスターが重要なこと、つまり環境の理解とそれに基づく行動に集中できるようにします。

なぜCygorという名前なのか?

私が作成するツール、テクニック、トレードクラフトの多くは、スポーン・ユニバースから着想を得ています。スポーンのコミックを読んだことがなくても大丈夫です。このツールの名前にこのキャラクターを選んだ理由をいくつか共有します。

Cygorという名前は、スポーンの世界に登場する悲劇的なアンチヒーロー、Cy-Gorに由来します。元々は政府工作員であり、アル・シモンズの親友だったマイケル・コニェチュニーは、シモンズ殺害後に汚職を暴こうとしました。しかし、彼は捕らえられ、フレデリック・ウィルハイム博士の類人猿実験であるプロジェクト・シムに強制的に参加させられ、ゴリラの体とコニェチュニーの意識が侵襲的サイバネティクスによって融合されました。その結果生まれたのが、サイバネティック・ゴリラの略であるCy-Gorという獣でした。

捕虜から脱出したCy-Gorは、混乱と怒りに任せて暴れ回り、政府のデータセンターを破壊することもありました。何度も狩られ、再捕獲されましたが、最終的には自分を支配しようとするシステムに反抗し、追跡インプラントを除去して自らの道を切り開き、機械と獣と人間の間で引き裂かれました。

  • 参考文献: https://www.spawnworld.com/encyclopedia/cygor.htm

Cygorを使うべき人

  • レッドチーム&ペネトレーションテスター – 発見を自動化し、列挙を合理化し、大規模なエンゲージメント全体でコンテキストを維持
  • ブルーチーム&システム管理者 – 未知のアセットを発見し、インベントリを検証し、攻撃表面を拡大する設定ミスを特定
  • セキュリティ研究者 – スキャンデータを迅速にパース・分析して、傾向、見落とされがちなサービス、パターン化された異常を特定
  • 学生と教育者 – 構造化された再現可能な環境で、実践的なリコンと列挙のテクニックを学習

Cygorが使用するツール:

  • Nmap – 信頼性の高いサービス・バージョン検出。XML出力は構造化されたホスト/サービスデータにパースされます。
  • Masscan – 大規模ネットワークを高速に発見するための高速ポートスキャナー。
  • Naabu – Masscan/Nmapワークフローを補完する、シンプルで高速なTCPポートスキャナー。
  • Playwright – LockonがWebスクリーンショットを撮影するために利用するブラウザ自動化エンジン。
  • Webコンテンツ発見 – ffuf、feroxbuster、gobuster、dirsearchはwebenumモジュールによって並列でオーケストレーションされます(インストールされているツールのみが実行されます)。
  • サービス列挙ツール – rpcclient/polenum(MSRPC)、ldapsearch/ldapdomaindump(LDAP)、snmpwalk/onesixtyone(SNMP)、dig/dnsrecon(DNS)、showmount(NFS)がexplorerモジュールを支えます。各モジュールは、ツールが存在しない場合はきれいにスキップされます。
  • Pythonライブラリ –(requests、colorama、SQLModelなど)パース、エンリッチメント、出力フォーマット、データベース処理用。

Cygorのインストール

Cygorのインストールには、pip、pipx、uv、dockerのいくつかの方法がサポートされています。

pipxでのインストール

一部の依存関係(例:Kerberos/WinRM用のgssapi)はC拡張をビルドするため、まずビルドツールチェーンとKerberosヘッダーをインストールしてください:

root@kitploit:~
# Debian/Ubuntu/Kali:
sudo apt install -y build-essential python3-dev libkrb5-dev
root@kitploit:~
# Stable version:
pipx install cygor

# Install from source:
git clone https://github.com/tjnull/cygor
cd cygor
pipx install .

Dockerを使用したCygorのデプロイ

CygorのDockerセットアップには、アプリケーションとPostgreSQLデータベースサービスの両方が含まれています。PostgreSQLが利用できない場合、システムは自動的にSQLiteにフォールバックします。

クイックスタート

本番環境(推奨):

root@kitploit:~
# Option 1: Use the wrapper script (automatically handles port conflicts)
./docker-compose-up.sh up --build

# Option 2: Direct docker compose (uses default ports)
docker compose up --build

開発環境(ソースコードをマウント):

root@kitploit:~
# Option 1: Use the wrapper script (automatically handles port conflicts)
./docker-compose-up.sh dev up --build

# Option 2: Direct docker compose (uses default ports)
docker compose -f docker-compose-dev.yaml up --build

Docker Composeサービス

Docker Composeセットアップには以下が含まれます:

  • PostgreSQLサービス: 自動設定されるデータベース(利用できない場合はSQLiteにフォールバック)
  • Cygorサービス: Web UIとアプリケーション
  • 自動ポート検出: ポート競合をチェックし、必要に応じて代替ポートを使用
  • 永続ボリューム:
    • results/: スキャン出力、credrecon結果、データベースファイル
    • cygor-config/: ローカル設定ボリューム(自動作成)

ポート設定

デフォルトでは:

  • 本番環境: PostgreSQLはホストポート5432で公開(利用可能な場合)
  • 開発環境: PostgreSQLはホストポート5434で公開(利用可能な場合)
  • 内部: コンテナは内部で常にポート5432を使用(Dockerネットワーク)

ポートが使用中の場合は、以下の方法があります:

  1. ラッパースクリプトを使用(推奨 - 利用可能なポートを自動検出):

    root@kitploit:~
    ./docker-compose-up.sh up --build
    
  2. ポートを手動設定:

    root@kitploit:~
    export POSTGRES_HOST_PORT=5435
    docker compose up --build
    
  3. ポートマッピングを削除(外部からのPostgreSQLアクセスが不要な場合): docker-compose.yamlのports:セクションをコメントアウトしてください

手動Dockerビルド

Dockerイメージを手動でビルドするには:

root@kitploit:~
docker build -t cygor .

シングルコンテナで実行する場合(PostgreSQLサービスなし):

root@kitploit:~
docker run --rm -v ./results:/opt/cygor/results \
  -e CYGOR_RESULTS_DIR=/opt/cygor/results \
  cygor web --host 0.0.0.0 --port 8080 --load-dir /opt/cygor/results

データベースの動作

  • Docker Compose使用時: PostgreSQLサービスを使用(自動設定)
  • PostgreSQLが失敗した場合: 自動的にSQLiteにフォールバック
  • スタンドアロンコンテナ: デフォルトでSQLiteを使用(CYGOR_DB_URLが設定されている場合を除く)

環境変数

Docker用の主要な環境変数:

データとワークスペース:

  • CYGOR_RESULTS_DIR: 結果ディレクトリ(デフォルト: /opt/cygor/results)
  • CYGOR_WORKSPACE: ワークスペースディレクトリ(デフォルト: /opt/cygor/results)
  • CYGOR_RESULTS_PATH: 結果ボリュームのホストパス(デフォルト: ./results)
  • CYGOR_CONFIG_PATH: 認証設定ボリュームのホストパス(デフォルト: ./cygor-config)

データベース:

  • CYGOR_DB_URL: データベース接続文字列(docker-composeが自動設定)
  • CYGOR_DB_USER: PostgreSQLデータベースユーザー(デフォルト: cygor)
  • CYGOR_DB_PASSWORD: PostgreSQLデータベースパスワード
  • POSTGRES_HOST_PORT: PostgreSQLホストポートマッピング(ポート競合解決用)

デバッグと冗長性:

  • CYGOR_DEBUG: デバッグモードを有効にする(有効にするには1に設定)
  • CYGOR_VERBOSE: 冗長レベル(0=通常、1=詳細、2=デバッグ)

ドキュメント

詳細なガイドはcygor/wiki/にあります — インストール、11の組み込み列挙モジュール、プラグイン開発、ワークスペース管理など。GitHubはこのディレクトリをナビゲーション可能なドキュメントサイトとしてレンダリングします(cygor/wiki/README.mdから開始)。同じページは、cygor web startを実行するとWeb UIの/docsからも参照できます。

Cygorの実行

トップレベルのCygorコマンドを使用して、利用可能なツールにアクセスします。各サブコマンドには独自のヘルプ画面(Cygor --help)があり、フラグとアクションが文書化されています。

root@kitploit:~
tjnull@kali:~$ cygor
Usage:
  cygor <command> [args]

Commands:
  banner      Cygor tool banner (Warning it is large!)
  scan        Automated scanner to discover hosts and services. (Will require root/sudo privileges for scanning).
  parse       Analyze a NMAP scan file (nmap, gnmap, xml) and extract categorized hostlists by common service.
  enum        Loads enumeration modules that are located in the cygor modules directory. 
  workspace   Manage workspaces (init/set-default/show).
  web         Control/launch the Cygor Web UI (start/stop/status) or run directly.

Environment:
  CYGOR_WORKSPACE     Override default workspace just for this run.
  CYGOR_RESULTS_DIR   Used by web and modules if set. (Auto-set from default workspace.)

Cygorスキャナー

cygorでスキャナーを実行するにはsudo(root)権限が必要です:

root@kitploit:~
    Run host discovery with Masscan only:

    cygor scan -i eth0 -f scope.txt --discover masscan

    Run host discovery with both Masscan and Naabu, then Nmap on merged results:

    cygor scan -i eth0 -f scope.txt --discover masscan naabu --nmap-source merge

    Discovery only (no Nmap), save results in results/discovery/:

    cygor scan -i eth0 -f scope.txt --discover masscan naabu --discover-only

    Reuse saved discovery results for Nmap top ports scan:

    cygor scan --use-discovery results/discovery/merged-discovered.txt --scan-type top-ports

    Run Nmap with custom ports on discovered hosts:

    cygor scan --use-discovery results/discovery/masscan-discovered.txt --ports 80,443,8443

    Run Nmap with 10 parallel processes on full scope (Max is 100):

    \cygor scan -i eth0 -f scope.txt --discover naabu --processes 10 --scan-type fullscan:

    Run Cygor to discover hosts and scan them with Nmap with a provided lists of IP Addresses or CDRs:

    cygor scan -i eth0 --ips 10.10.10.1 10.10.10.5 10.10.20.0/24 --discover naabu --processes 10 --scan-type fullscan

    Exclude specific subnets or hosts from scan:

    cygor scan -i eth0 -f scope.txt --exclusions exclusions.txt --discover masscan

Cygorパーサー:

root@kitploit:~
    Parse a directory of Nmap results and print hostlists:

    cygor parse results/nmap

    Parse a single XML and write hostlists to results/parsed-hostlists:

    cygor parse results/nmap/scan1.xml -o results

    Recursively parse .xml/.nmap/.gnmap files and write outputs:

    cygor parse /path/to/scans --out-dir results

Cygor列挙モジュール

Cygorには、プロトコル固有の列挙モジュールが増え続けています。各モジュールは実績のあるツールをラップし、出力を型付き行("parse-don't-dump")にパースして、インベントリ(DB + Web UI)に結果を格納し、ホストごとに検索・相関付けできるようにします。シグナル度の高い観察結果は自動的に次のステップエンジンにも供給され、優先順位付けされた発見事項と、すぐに実行可能なフォローアップコマンドがWeb UIに表示されます。

root@kitploit:~
    List all available modules:

    cygor enum --list

    Run lockon against an http hostlist:

    cygor enum lockon web -f results/parsed-hostlists/http/http-hostlist.txt -o results/enum/lockon

    Run web content discovery (multi-tool, with screenshots):

    cygor enum webenum -f results/parsed-hostlists/http-https/http-https-hostlist.txt --screenshot

    Run nfsexplorer against NFS targets (exports only):

    cygor enum nfsexplorer -i results/parsed-hostlists/nfs/nfs-hostlist.txt --info

    Run smbexplorer and list files:

    cygor enum smbexplorer -i results/parsed-hostlists/smb/smb-hostlist.txt --list-files

    Enumerate MSRPC (null session) with password policy + RID cycling:

    cygor enum rpcexplorer -i results/parsed-hostlists/smb/smb-hostlist.txt --rid-cycle

    Probe databases for unauthenticated access (point at any DB service hostlist):

    cygor enum dbprobe -i results/parsed-hostlists/mysql/mysql-hostlist.txt

各モジュールの全オプションリファレンスは cygor enum <module> --help を実行してください。

Cygorプラグイン

Cygorは拡張可能です — Pythonファイルを~/.cygor/plugins/に置くだけで、組み込みモジュールと同じようにcygor enum --list(およびWeb UI)に表示されます。独自のツールをラップし、チーム内で内部スキャナーを配布したり、フォークせずに特定のエンゲージメント向けにCygorを拡張できます。

root@kitploit:~
    Scaffold a new plugin (writes ~/.cygor/plugins/my_scanner.py):

    cygor plugin create "My Scanner"

    Install a plugin from a local file or a git URL:

    cygor plugin install ./my_scanner.py
    cygor plugin install https://github.com/example/cygor-myscanner

    Validate, list, update, remove:

    cygor plugin validate ./my_scanner.py
    cygor plugin list
    cygor plugin update --all
    cygor plugin remove my_scanner

    Run an installed plugin (same as a built-in module):

    cygor enum my_scanner -t 10.10.10.5

docs/examples/modules/の下に3つのリファレンスプラグインがあります:最小限の例、外部ツールラッパー、完全な注釈付きテンプレートです。完全なプラグインフォーマット、オプション/カラム/ビュー、依存関係処理、バージョン互換性、オプションのプラグイン許可リストについては、プラグイン開発ガイド を参照してください。

Cygor Web UI

データを収集した後、CygorのWeb UIに読み込むことで、スキャン結果をホスト、サービス、その他の重要な発見事項の明確な可視化に変換できます。Cygorはcygor.dbというファイルを作成し、CygorのWeb UIでモデリングするために必要なデータを格納します。

Webサーバーの起動

root@kitploit:~
# Basic usage - start on default host/port (127.0.0.1:8000)
cygor web start

# Start on all interfaces, port 8080
cygor web start -H 0.0.0.0 -p 8080

# Start with custom results directory
cygor web start --load-dir /path/to/results

# Start with verbose output
cygor web start -vv

# Start with all options
cygor web start -H 0.0.0.0 -p 8080 --load-dir ~/scan-results -vv

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

全オプションの一覧は cygor web start --help を実行してください。

Webサーバーの管理

root@kitploit:~
# Check if the web server is running
cygor web status

# Stop a running web server
cygor web stop

データベースオプション

CygorはPostgreSQLが利用可能な場合は自動的に検出して使用し、それ以外の場合はSQLiteにフォールバックします:

  • PostgreSQL(本番環境に推奨):

    • psqlが利用可能な場合に自動検出
    • 必要に応じてデータベースとユーザーを作成
    • 接続文字列: postgresql+psycopg_async://user:pass@host/db
  • SQLite(デフォルトのフォールバック):

    • セットアップ不要
    • データベースファイル: 結果ディレクトリ内のcygor.db
    • シングルユーザーデプロイに適しています

免責事項:

Cygorはセキュリティ研究および教育用フレームワークです。ペネトレーションテスト、レッドチーム運用、教室ラボ、個人用テスト範囲など、明示的な書面による許可がある環境でのみ使用することを意図しています。

このソフトウェアは、自分が所有または管理していないシステムへの不正アクセス、侵入、または妨害に使用してはなりません。そうした行為は、お住まいの地域の法律や規制に違反する可能性があり、刑事訴追や民事罰につながる可能性があります。

Cygorをダウンロード、実行、または変更することにより、以下に同意したものとみなされます:

  • 使用方法については、お客様が単独で責任を負います。
  • 法的および倫理的なシナリオにのみ使用を制限します。

Cygorの著者および貢献者は、このソフトウェアの使用から生じる誤用、損害、または結果について一切の責任を負いません。

特定の環境でCygorを使用する権限があるかどうか不明な場合は、実行しないでください。

ツールをダウンロード
モジュールサービス機能
lockonHTTP/S, RDP, VNC, X11高速な視覚的トリアージのため、プロトコル横断でスクリーンショットを撮影。
webenumHTTP/S並列マルチツールによるコンテンツ発見(ffuf、feroxbuster、gobuster、dirsearch)。ツール間の重複排除/相関付けと、オプションのスクリーンショットに対応。
smbexplorerSMB (445)共有、権限、アクセス可能なファイルを列挙。NTLM/Kerberos/pass-the-hashに対応。
nfsexplorerNFS (2049)エクスポート、バージョン、ファイルを列挙。UID/GIDスプーフィングとno_root_squashチェック。
rpcexplorerMSRPC (445)Null/認証セッション:サーバー情報、ドメインSID、ユーザー、グループ、完全なパスワードポリシー、RIDサイクリング。
ldapexplorerLDAP/AD (389/636)rootDSE、匿名バインド/検索、認証済みドメインダンプ。
snmpexplorerSNMP (161)v1/v2cコミュニティのブルートフォース、デバイスのシステム情報、MIBスイープ(ユーザー/プロセス/ソフトウェア/ポート/インターフェース)。
dnsexplorerDNS (53)バージョン、オープンリゾルバー検出、AXFRゾーン転送。
ftpexplorerFTP (21)バナー、匿名ログイン、ディレクトリリスト、FEAT、匿名書き込みテスト。
smtpexplorerSMTP (25/587)バナー、STARTTLS、AUTHメカニズム、VRFYユーザー列挙、オープンリレーテスト。
dbprobeデータベースRedis/MySQL/PostgreSQL/MongoDB/Elasticsearch/CouchDBの未認証アクセスとバージョンをプローブ。