mcpField
M
mcp-pymetasploit3

mcp-pymetasploit3

本地服务
github.com/daedalus安全027 周前更新

关于 mcp-pymetasploit3

mcp-pymetasploit3 通过 Metasploit Framework 的 RPC 接口,将 pymetasploit3 功能提供给大模型。它支持执行模块,以及管理会话、控制台、任务、插件和数据库记录。

主要功能

  1. 01连接并管理 Metasploit RPC
  2. 02搜索、配置和执行模块
  3. 03生成载荷并管理会话
  4. 04控制台及运行中任务管理
  5. 05管理工作区、主机和发现项
  6. 06查看框架设置与插件

适用场景

  1. 01查找并配置 Metasploit 模块
  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 工具开放,使大模型能够通过 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

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。