mcpField
M
mcp-pymetasploit3

mcp-pymetasploit3

ローカル
github.com/daedalusセキュリティ027 週間前に更新

mcp-pymetasploit3 について

mcp-pymetasploit3は、Metasploit FrameworkのRPCインターフェースを通じてpymetasploit3の機能をLLMに公開します。モジュール実行のほか、セッション、コンソール、ジョブ、プラグイン、データベース記録を管理できます。

主な機能

  1. 01Metasploit RPCへの接続と管理
  2. 02モジュールの検索、設定、実行
  3. 03ペイロード生成とセッション管理
  4. 04コンソールと実行中ジョブの操作
  5. 05ワークスペース、ホスト、検出情報の管理
  6. 06フレームワーク設定とプラグインの確認

活用シーン

  1. 01Metasploitモジュールの検索と設定
  2. 02モジュールの実行と出力の確認
  3. 03アクティブなセッションの確認や操作
  4. 04ホスト、サービス、認証情報、脆弱性の確認

MCP 対応

MCPサーバーはpymetasploit3の機能をツールとして公開し、msfrpcプロトコルでMetasploit Frameworkに接続します。別途Metasploit RPCサーバーの起動が必要です。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"daedalus-mcp-pymetasploit3": {
"command": "uvx",
"args": [
"mcp-pymetasploit3"
]
}
}
}
起動コマンドuvx mcp-pymetasploit3

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypimcp-pymetasploit30.1.1

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

mcp-pymetasploit3

pymetasploit3 を介して Metasploit Framework を利用する MCP サーバーです。このサーバーは、pymetasploit3 のすべての機能を MCP ツールとして公開し、LLM が msfrpc プロトコルを通じて Metasploit Framework と対話できるようにします。

PyPI Python

インストール

pip install mcp-pymetasploit3

MCP サーバーの設定

{
  "mcpServers": {
    "mcp-pymetasploit3": {
      "command": "mcp-pymetasploit3",
      "env": {}
    }
  }
}

使い方

Metasploit RPC サーバーの起動

MCP サーバーを使用する前に、Metasploit RPC サーバーを起動する必要があります。

msfrpcd を使用する場合:

msfrpcd -P yourpassword -p 55553 -n

msfconsole を使用する場合:

msfconsole -q
msf6 > load msgrpc Pass=yourpassword
MCP ツール

接続すると、次のツールを使用できます。

接続管理
  • connect - Metasploit RPC サーバーに接続します
  • disconnect - RPC サーバーから切断します
  • get_client_info - 現在の接続状態を取得します
モジュール管理
  • list_modules - 種類ごとに利用可能なモジュールを一覧表示します
  • use_module - 指定したモジュールを読み込みます
  • get_module_info - モジュールの説明と情報を取得します
  • get_module_options - モジュールのすべてのオプションを取得します
  • set_module_option - モジュールのオプションを設定します
  • get_missing_required - 未設定の必須オプションを取得します
  • execute_module - モジュールを実行します
  • get_module_targets - 利用可能なターゲットを取得します
  • set_module_target - ターゲットを設定します
  • get_target_payloads - 互換性のあるペイロードを取得します
ペイロード生成
  • generate_payload - ペイロードを生成します
セッション管理
  • list_sessions - すべてのアクティブなセッションを一覧表示します
  • get_session_info - セッション情報を取得します
  • interact_session - セッションに書き込み、またはセッションから読み取ります
  • session_run_command - 出力付きでコマンドを実行します
  • stop_session - セッションを停止します
コンソール管理
  • create_console - 新しいコンソールを作成します
  • destroy_console - コンソールを破棄します
  • write_console - コンソールに書き込みます
  • read_console - コンソールの出力を読み取ります
  • console_is_busy - コンソールがビジー状態かどうかを確認します
  • run_module_output - モジュールを実行して出力を取得します
コア/フレームワーク
  • get_framework_version - フレームワークのバージョンを取得します
  • core_save - コアの状態を保存します
  • core_reload_modules - モジュールを再読み込みします
  • core_set_global - グローバル変数を設定します
  • core_unset_global - グローバル変数の設定を解除します
データベース
  • get_db_status - データベースの状態を取得します
  • db_list_workspaces - ワークスペースを一覧表示します
  • db_set_workspace - 現在のワークスペースを設定します
  • db_list_hosts - ホストを一覧表示します
  • db_list_services - サービスを一覧表示します
  • db_list_notes - ノートを一覧表示します
  • db_list_creds - 認証情報を一覧表示します
  • db_list_vulns - 脆弱性を一覧表示します
ジョブ
  • list_jobs - 実行中のジョブを一覧表示します
  • stop_job - ジョブを停止します
  • get_job_info - ジョブ情報を取得します
プラグイン
  • list_plugins - 読み込み済みのプラグインを一覧表示します
  • load_plugin - プラグインを読み込みます
  • unload_plugin - プラグインを読み込み解除します
検索
  • search_modules - モジュールを検索します
  • get_module_references - モジュールの参照情報を取得します

例

# Connect to Metasploit
connect(password="yourpassword", host="127.0.0.1", port=55553, ssl=False)

# List exploits
exploits = list_modules("exploit")

# Use an exploit
use_module("exploit", "unix/ftp/vsftpd_234_backdoor")

# Set options
set_module_option("exploit", "unix/ftp/vsftpd_234_backdoor", "RHOSTS", "192.168.1.100")

# Execute
result = execute_module("exploit", "unix/ftp/vsftpd_234_backdoor", payload="cmd/unix/interact")

# List sessions
sessions = list_sessions()

# Interact with session
output = interact_session("1", "whoami")

# Disconnect
disconnect()

開発

git clone https://github.com/daedalus/mcp-pymetasploit3.git
cd mcp-pymetasploit3
pip install -e ".[test]"

# run tests
pytest

# format
ruff format src/ tests/

# lint
ruff check src/ tests/

# type check
mypy src/

mcp-name: io.github.daedalus/mcp-pymetasploit3

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。