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
mcpjam-to-root — De RCE en MCPJam Inspector a root — CVE-2026-23744, divulgación de tokens de JupyterLab, ejecución del kernel y escalada de privilegios de OPSMCP | Kitploit
Herramientas/GitHubGitHub/itsc1sco/mcpjam-to-root
Escalada de PrivilegiosAnálisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebPost-ExplotaciónPruebas de PenetraciónAprendizaje y EducaciónSeguridad de APIs
GitHubitsc1sco/mcpjam-to-root

mcpjam-to-root

De RCE en MCPJam Inspector a root — CVE-2026-23744, divulgación de tokens de JupyterLab, ejecución del kernel y escalada de privilegios de OPSMCP

17hace 1 mesAú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
Ver Repositorio

⚠️ Aviso legal

Este repositorio está destinado únicamente a investigación de seguridad autorizada, pruebas de penetración y fines educativos. No utilice las técnicas aquí descritas contra sistemas sin autorización explícita.


⚡ MCPJam → Root

CVE-2026-23744 MCPJam Inspector JupyterLab Linux Privilege Escalation

De MCPJam Inspector RCE a root — CVE-2026-23744, divulgación del token de JupyterLab, ejecución de kernel y escalada de privilegios de OPSMCP.

---

📖 Descripción general

Este repositorio documenta una cadena de ataque completa en Linux, desde una instancia expuesta de MCPJam Inspector hasta el acceso de nivel root.

La cadena encadena debilidades en herramientas de desarrollo, servicios locales, gestión de credenciales y autorización de aplicaciones:

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

[!WARNING] Este repositorio está destinado únicamente a investigación de seguridad autorizada, pruebas de penetración y fines educativos. Las direcciones de destino, credenciales, tokens y otros valores específicos del entorno a lo largo de este documento están redactados o reemplazados con marcadores de laboratorio.


📑 Tabla de contenido

  • 🎯 Ruta de ataque
  • 🔎 Enumeración
  • 💥 CVE-2026-23744 — RCE en MCPJam Inspector
  • 🕵️ Enumeración interna
  • 🔐 Divulgación del token de JupyterLab
  • 🧠 Ejecución de kernel en JupyterLab
  • 📂 Código fuente de OPSMCP
  • 🚨 Función administrativa oculta
  • 🔑 Divulgación de la credencial de root
  • 👑 Root
  • 🗺️ Cadena de ataque completa
  • 🧩 Resumen de vulnerabilidades
  • 🛡️ Remediación
  • 🔍 Detección
  • 💡 Conclusiones clave
  • 📚 Referencias

🎯 Ruta de ataque

PasoEtapa
1MCPJam Inspector expuesto en la red
2CVE-2026-23744 explotado
3RCE inicial logrado
4Token de JupyterLab divulgado
5Ejecución de kernel de Jupyter
6Shell de nivel de usuario
7Revisión del código fuente de OPSMCP
8Credencial de API codificada descubierta
9Funcionalidad administrativa oculta abusada
10Credencial de root divulgada
11root

🔎 Enumeración

El reconocimiento inicial se centra en identificar servicios expuestos externamente.

nmap -sC -sV -oN nmap_initial.txt TARGET

A continuación se puede realizar un escaneo TCP completo:

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

Servicios externos relevantes:

PuertoServicioRol
22SSHAdministración remota
6274MCPJam InspectorSuperficie de ataque inicial

Servicios vinculados solo a localhost:

PuertoServicioPrivilegio
8888JupyterLabUsuario
5000OPSMCProot

El MCPJam Inspector, accesible externamente en el puerto 6274, se convierte en el punto de entrada inicial.


💥 CVE-2026-23744 — RCE en MCPJam Inspector

La instancia expuesta de MCPJam Inspector está afectada por CVE-2026-23744.

MCPJam Inspector está pensado principalmente como una interfaz de desarrollo y prueba para servidores MCP. La vulnerabilidad se vuelve especialmente peligrosa cuando esta interfaz se expone a una red no confiable: un flujo de configuración vulnerable permite que datos controlados por el atacante lleguen a una ruta de ejecución de comandos.

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

La vulnerabilidad afecta a las versiones de MCPJam Inspector hasta la 1.4.2 inclusive. Para pruebas autorizadas, se puede utilizar una prueba de concepto pública para validar la vulnerabilidad contra el entorno objetivo.

Tras una explotación exitosa, confirme el contexto de ejecución:

id
whoami
hostname

🕵️ Enumeración interna

Una vez obtenido el punto de apoyo inicial, los servicios locales se vuelven 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 diferencia de privilegios entre las dos aplicaciones internas resulta especialmente interesante.


🔐 Divulgación del token de JupyterLab

El proceso de JupyterLab se inició con su token de autenticación directamente en la línea de comandos:

--ServerApp.token=<JUPYTER_TOKEN>

La línea de comandos se puede inspeccionar mediante:

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

Esto demuestra un problema común en la gestión de secretos:

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

El token recuperado proporciona acceso a la API local de Jupyter.


🧠 Ejecución de kernel en JupyterLab

Jupyter expone una API REST para gestionar kernels. Tras autenticarse con el token recuperado, se puede crear un kernel mediante:

POST /api/kernels

La respuesta contiene un UUID de kernel. Los kernels de Jupyter se comunican a través de WebSockets:

/api/kernels/<KERNEL_ID>/channels

El protocolo de mensajería de Jupyter utiliza un mensaje execute_request para ejecutar código Python:

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

Esto establece la ejecución de Python bajo la identidad del servicio de Jupyter; en este entorno, el kernel se ejecuta como Usuario.

MCPJam RCE → JupyterLab → User

📂 Código fuente de OPSMCP

Con un shell de usuario disponible, el siguiente paso es examinar las aplicaciones instaladas localmente. La aplicación OPSMCP se encuentra en:

/opt/opsmcp/

La revisión del código fuente revela una credencial de API incrustada:

VALID_API_KEY = "<REDACTED_OPSMCP_API_KEY>"

La aplicación también mantiene dos colecciones de herramientas:

Herramientas visibles

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

Herramientas ocultas

  • ops._admin_dump
  • ops._debug_mode

Las funciones administrativas resultan especialmente interesantes porque no se devuelven a través de la enumeración normal de herramientas.

No documentado no significa inaccesible.

El backend sigue registrando las herramientas ocultas y acepta sus nombres a través del mecanismo genérico de ejecución de herramientas.


Descargar herramienta