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
mcpjam-to-root — De la RCE de MCPJam Inspector à root — CVE-2026-23744, divulgation de jeton JupyterLab, exécution du noyau et élévation de privilèges OPSMCP | Kitploit
Outils/GitHubGitHub/itsc1sco/mcpjam-to-root
Escalade de PrivilègesAnalyse des VulnérabilitésExploitationExploitation d'Applications WebPost-ExploitationTests d'IntrusionApprentissage et ÉducationSécurité des API
GitHubitsc1sco/mcpjam-to-root

mcpjam-to-root

De la RCE de MCPJam Inspector à root — CVE-2026-23744, divulgation de jeton JupyterLab, exécution du noyau et élévation de privilèges OPSMCP

17il y a 1 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
Voir le dépôt

⚠️ Avertissement

Ce dépôt est destiné uniquement à la recherche en sécurité autorisée, aux tests d'intrusion et à des fins éducatives. N'utilisez pas les techniques décrites ici contre des systèmes sans autorisation explicite.


⚡ MCPJam → Root

CVE-2026-23744 MCPJam Inspector JupyterLab Linux Privilege Escalation

De la RCE de MCPJam Inspector au root — CVE-2026-23744, divulgation de jeton JupyterLab, exécution du kernel et élévation de privilèges OPSMCP.

---

📖 Vue d'ensemble

Ce dépôt documente une chaîne d'attaque Linux complète, d'une instance MCPJam Inspector exposée à un accès niveau root.

La chaîne enchaîne des faiblesses à travers l'outillage des développeurs, les services locaux, la gestion des identifiants et l'autorisation applicative :

MCPJam Inspector
       │  CVE-2026-23744
       ▼
     RCE
       │
       ▼
JupyterLab Token
       │
       ▼
Jupyter Kernel
       │
       ▼
     User
       │
       ▼
  OPSMCP API
       │
       ▼
Hidden Admin Tool
       │
       ▼
Root Credential
       │
       ▼
     root

[!WARNING] Ce dépôt est destiné uniquement à la recherche en sécurité autorisée, aux tests d'intrusion et à des fins éducatives. Les adresses cibles, identifiants, jetons et autres valeurs spécifiques à l'environnement tout au long de ce document sont expurgés ou remplacés par des espaces réservés de laboratoire.


📑 Table des matières

  • 🎯 Chaîne d'attaque
  • 🔎 Énumération
  • 💥 CVE-2026-23744 — RCE MCPJam Inspector
  • 🕵️ Énumération interne
  • 🔐 Divulgation du jeton JupyterLab
  • 🧠 Exécution du kernel JupyterLab
  • 📂 Code source d'OPSMCP
  • 🚨 Fonction administrative cachée
  • 🔑 Divulgation de l'identifiant root
  • 👑 Root
  • 🗺️ Chaîne d'attaque complète
  • 🧩 Résumé des vulnérabilités
  • 🛡️ Remédiation
  • 🔍 Détection
  • 💡 Points clés
  • 📚 Références

🎯 Chaîne d'attaque

ÉtapePhase
1MCPJam Inspector exposé sur le réseau
2CVE-2026-23744 exploitée
3RCE initiale obtenue
4Jeton JupyterLab divulgué
5Exécution du kernel Jupyter
6Shell au niveau utilisateur
7Revue du code source d'OPSMCP
8Identifiant API codé en dur découvert
9Fonctionnalité administrative cachée abusée
10Identifiant root divulgué
11root

🔎 Énumération

La reconnaissance initiale se concentre sur l'identification des services exposés à l'extérieur.

nmap -sC -sV -oN nmap_initial.txt TARGET

Un scan TCP complet peut ensuite être effectué :

nmap -p- --min-rate 5000 -oN nmap_full.txt TARGET

Services externes pertinents :

PortServiceRôle
22SSHAdministration à distance
6274MCPJam InspectorSurface d'attaque initiale

Services liés uniquement à localhost :

PortServicePrivilège
8888JupyterLabUtilisateur
5000OPSMCProot

L'instance MCPJam Inspector accessible depuis l'extérieur sur le port 6274 devient le point d'entrée initial.


💥 CVE-2026-23744 — RCE MCPJam Inspector

L'instance MCPJam Inspector exposée est affectée par CVE-2026-23744.

MCPJam Inspector est principalement conçu comme une interface de développement et de test pour les serveurs MCP. La vulnérabilité devient particulièrement dangereuse lorsque cette interface est exposée à un réseau non fiable — un flux de configuration vulnérable permet à des données contrôlées par l'attaquant d'atteindre un chemin d'exécution de commandes.

Remote Request
      │
      ▼
MCP Server Configuration
      │
      ▼
Command Execution
      │
      ▼
Initial Shell

La vulnérabilité affecte les versions de MCPJam Inspector jusqu'à la 1.4.2 incluse. Pour des tests autorisés, une preuve de concept publique peut être utilisée pour valider la vulnérabilité contre l'environnement cible.

Après une exploitation réussie, confirmez le contexte d'exécution :

id
whoami
hostname

🕵️ Énumération interne

Une fois le premier point d'appui obtenu, les services locaux deviennent visibles.

ss -tlnp
ps aux | grep -E 'jupyter|python|node'
                    Network
                       │
                       ▼
              MCPJam Inspector
                   :6274
                       │
                       ▼
                 Initial RCE
                       │
             ┌─────────┴─────────┐
             ▼                   ▼
        JupyterLab             OPSMCP
        :8888/local            :5000/local
             │                   │
             ▼                   ▼
            User                root

La différence de privilèges entre les deux applications internes est particulièrement intéressante.


🔐 Divulgation du jeton JupyterLab

Le processus JupyterLab a été démarré avec son jeton d'authentification directement sur la ligne de commande :

--ServerApp.token=<JUPYTER_TOKEN>

La ligne de commande peut être inspectée via :

ps aux | grep jupyter
# or
cat /proc/<PID>/cmdline

Ceci illustre un problème courant de gestion des secrets :

Secret → Command-line argument → Process metadata → Local credential disclosure

Le jeton récupéré fournit un accès à l'API Jupyter locale.


🧠 Exécution du kernel JupyterLab

Jupyter expose une API REST pour gérer les kernels. Après s'être authentifié avec le jeton récupéré, un kernel peut être créé via :

POST /api/kernels

La réponse contient un UUID de kernel. Les kernels Jupyter communiquent via des WebSockets :

/api/kernels/<KERNEL_ID>/channels

Le protocole de messagerie Jupyter utilise un message execute_request pour exécuter du code Python :

{
  "header": { "msg_type": "execute_request" },
  "content": { "code": "<AUTHORIZED_LAB_CODE>" }
}

Cela établit une exécution Python sous l'identité du service Jupyter — dans cet environnement, le kernel s'exécute en tant qu'utilisateur.

MCPJam RCE → JupyterLab → User

📂 Code source d'OPSMCP

Avec un shell utilisateur disponible, l'étape suivante consiste à examiner les applications installées localement. L'application OPSMCP se trouve sous :

/opt/opsmcp/

L'examen du code source révèle un identifiant API intégré :

VALID_API_KEY = "<REDACTED_OPSMCP_API_KEY>"

L'application gère également deux collections d'outils :

Outils visibles

  • ops.system_status
  • ops.list_services
  • ops.check_disk
  • ops.view_logs

Outils cachés

  • ops._admin_dump
  • ops._debug_mode

Les fonctions administratives sont particulièrement intéressantes car elles ne sont pas renvoyées par l'énumération normale des outils.

Non documenté ne signifie pas inaccessible.

Le backend enregistre toujours les outils cachés et accepte leurs noms via le mécanisme générique d'exécution d'outils.


🚨 Fonction administrative cachée

L'application authentifie les requêtes à l'aide d'une clé API :

X-API-Key: <OPSMCP_API_KEY>
Télécharger l’outil