Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
mcpjam-to-root — Da RCE do Inspector MCPJam à root — CVE-2026-23744, divulgação de token do JupyterLab, execução de kernel e escalonamento de privilégios do OPSMCP | Kitploit
Ferramentas/GitHubGitHub/itsc1sco/mcpjam-to-root
Escalada de PrivilégiosAnálise de VulnerabilidadesExploraçãoExploração de Aplicações WebPós-ExploraçãoTestes de PenetraçãoAprendizado e EducaçãoSegurança de API
GitHubitsc1sco/mcpjam-to-root

mcpjam-to-root

Da RCE do Inspector MCPJam à root — CVE-2026-23744, divulgação de token do JupyterLab, execução de kernel e escalonamento de privilégios do OPSMCP

Ver Repositório
há 1 diaAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

⚠️ Aviso Legal

Este repositório destina-se exclusivamente à pesquisa de segurança autorizada, testes de penetração e fins educacionais. Não use as técnicas aqui descritas contra sistemas sem autorização explícita.


⚡ MCPJam → Root

CVE-2026-23744 MCPJam Inspector JupyterLab Linux Privilege Escalation

Do RCE no MCPJam Inspector ao root — CVE-2026-23744, divulgação do token do JupyterLab, execução de kernel e escalada de privilégios do OPSMCP.

---

📖 Visão Geral

Este repositório documenta uma cadeia de ataque Linux completa, de uma instância exposta do MCPJam Inspector ao acesso em nível de root.

A cadeia encadeia fragilidades em ferramentas de desenvolvimento, serviços locais, tratamento de credenciais e autorização de aplicações:

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

[!WARNING] Este repositório destina-se exclusivamente à pesquisa de segurança autorizada, testes de penetração e fins educacionais. Endereços-alvo, credenciais, tokens e outros valores específicos do ambiente ao longo deste documento foram ocultados ou substituídos por placeholders de laboratório.


📑 Índice

  • 🎯 Caminho de Ataque
  • 🔎 Enumeração
  • 💥 CVE-2026-23744 — RCE no MCPJam Inspector
  • 🕵️ Enumeração Interna
  • 🔐 Divulgação do Token do JupyterLab
  • 🧠 Execução do Kernel do JupyterLab
  • 📂 Código-Fonte do OPSMCP
  • 🚨 Função Administrativa Oculta
  • 🔑 Divulgação da Credencial de Root
  • 👑 Root
  • 🗺️ Cadeia de Ataque Completa
  • 🧩 Resumo de Vulnerabilidades
  • 🛡️ Remediação
  • 🔍 Detecção
  • 💡 Principais Conclusões
  • 📚 Referências

🎯 Caminho de Ataque


🔎 Enumeração

O reconhecimento inicial concentra-se em identificar serviços expostos externamente.

root@kitploit:~
nmap -sC -sV -oN nmap_initial.txt TARGET

Em seguida, pode ser realizada uma varredura TCP completa:

root@kitploit:~
nmap -p- --min-rate 5000 -oN nmap_full.txt TARGET

Serviços externos relevantes:

PortaServiçoFunção
22SSHAdministração remota
6274MCPJam InspectorSuperfície de ataque inicial

Serviços vinculados apenas ao localhost:

PortaServiçoPrivilégio
8888JupyterLabUsuário
5000OPSMCProot

O MCPJam Inspector acessível externamente na porta 6274 torna-se o ponto de entrada inicial.


💥 CVE-2026-23744 — RCE no MCPJam Inspector

A instância exposta do MCPJam Inspector é afetada pela CVE-2026-23744.

O MCPJam Inspector é destinado principalmente a servir como interface de desenvolvimento e teste para servidores MCP. A vulnerabilidade torna-se particularmente perigosa quando essa interface é exposta a uma rede não confiável — um fluxo de configuração vulnerável permite que dados controlados pelo atacante alcancem um caminho de execução de comandos.

root@kitploit:~
Remote Request
      │
      ▼
MCP Server Configuration
      │
      ▼
Command Execution
      │
      ▼
Initial Shell

A vulnerabilidade afeta as versões do MCPJam Inspector até a 1.4.2, inclusive. Para testes autorizados, uma prova de conceito pública pode ser usada para validar a vulnerabilidade contra o ambiente-alvo.

Após a exploração bem-sucedida, confirme o contexto de execução:

root@kitploit:~
id
whoami
hostname

🕵️ Enumeração Interna

Uma vez obtido o acesso inicial, os serviços locais tornam-se visíveis.

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

A diferença de privilégio entre as duas aplicações internas é particularmente interessante.


🔐 Divulgação do Token do JupyterLab

O processo do JupyterLab foi iniciado com seu token de autenticação diretamente na linha de comando:

root@kitploit:~
--ServerApp.token=<JUPYTER_TOKEN>

A linha de comando pode ser inspecionada por meio de:

root@kitploit:~
ps aux | grep jupyter
# or
cat /proc/<PID>/cmdline

Isso demonstra um problema comum de gerenciamento de segredos:

root@kitploit:~
Secret → Command-line argument → Process metadata → Local credential disclosure

O token recuperado fornece acesso à API Jupyter local.


🧠 Execução do Kernel do JupyterLab

O Jupyter expõe uma API REST para gerenciar kernels. Após autenticar com o token recuperado, um kernel pode ser criado por meio de:

root@kitploit:~
POST /api/kernels

A resposta contém um UUID do kernel. Os kernels do Jupyter se comunicam por meio de WebSockets:

root@kitploit:~
/api/kernels/<KERNEL_ID>/channels

O protocolo de mensagens do Jupyter usa uma mensagem execute_request para executar código Python:

root@kitploit:~
{
  "header": { "msg_type": "execute_request" },
  "content": { "code": "<AUTHORIZED_LAB_CODE>" }
}

Isso estabelece a execução de Python sob a identidade do serviço Jupyter — neste ambiente, o kernel executa como Usuário.

root@kitploit:~
MCPJam RCE → JupyterLab → User

📂 Código-Fonte do OPSMCP

Com um shell de usuário disponível, o próximo passo é examinar as aplicações instaladas localmente. A aplicação OPSMCP está localizada em:

root@kitploit:~
/opt/opsmcp/

A revisão do código-fonte revela uma credencial de API embutida:

root@kitploit:~
VALID_API_KEY = "<REDACTED_OPSMCP_API_KEY>"

A aplicação também mantém duas coleções de ferramentas:

Ferramentas visíveis

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

Ferramentas ocultas

  • ops._admin_dump
  • ops._debug_mode

As funções administrativas são particularmente interessantes porque não são retornadas pela enumeração normal de ferramentas.

Não documentado não significa inacessível.

O backend ainda registra as ferramentas ocultas e aceita seus nomes por meio do mecanismo genérico de execução de ferramentas.


🚨 Função Administrativa Oculta

A aplicação autentica as solicitações usando uma chave de API:

root@kitploit:~
X-API-Key: <OPSMCP_API_KEY>

Uma vez autenticado, o endpoint de execução de ferramentas apenas verifica se a função solicitada existe — não se o chamador está autorizado a executá-la.

O que acontece:

root@kitploit:~
API Key → Authenticated → Tool exists? → Execute

O que deveria acontecer:

root@kitploit:~
API Key → Authenticated → Permission check → Allowed → Execute
                                            └ Denied  → 403

A função administrativa oculta pode acessar recursos sensíveis de propriedade do root.


🔑 Divulgação da Credencial de Root

A ferramenta administrativa aceita um alvo que descreve a informação solicitada. Um dos recursos suportados é a chave SSH do root:

root@kitploit:~
{
  "name": "ops._admin_dump",
  "arguments": {
    "target": "ssh_keys",
    "confirm": true
  }
}

A aplicação então lê a chave privada SSH de propriedade do root, o que é possível porque o OPSMCP executa como root e pode ler /root/*. A aplicação torna-se, portanto, uma primitiva de divulgação de credenciais.


👑 Root

Após recuperar a credencial SSH do laboratório autorizado, armazene-a com permissões restritivas:

root@kitploit:~
chmod 600 <ROOT_KEY>

Verifique o contexto de autenticação resultante:

root@kitploit:~
whoami
id

Nível de privilégio final: root 🎉


🗺️ Cadeia de Ataque Completa

root@kitploit:~
┌──────────────────────────────┐
│       MCPJam Inspector       │
│          TCP/6274            │
└──────────────┬───────────────┘
               │ CVE-2026-23744
               ▼
┌──────────────────────────────┐
│          Initial RCE         │
└──────────────┬───────────────┘
               ▼
┌──────────────────────────────┐
│          JupyterLab          │
│        127.0.0.1:8888        │
└──────────────┬───────────────┘
               │ Token disclosure
               ▼
┌──────────────────────────────┐
│       Jupyter Kernel         │
│        WebSocket RCE         │
└──────────────┬───────────────┘
               ▼
             User
               │ Source review
               ▼
┌──────────────────────────────┐
│           OPSMCP             │
│        127.0.0.1:5000        │
│             root             │
└──────────────┬───────────────┘
               │ API key + hidden tool
               ▼
┌──────────────────────────────┐
│    Root Credential Leak      │
└──────────────┬───────────────┘
               ▼
              root

🧩 Resumo de Vulnerabilidades


🛡️ Remediação

MCPJam Inspector
  • Atualize para uma versão corrigida.
  • Mantenha as interfaces do Inspector vinculadas ao localhost sempre que possível.
  • Exija autenticação para implantações remotas.
  • Valide a entrada de configuração do MCP.
  • Execute o serviço sob uma conta dedicada de privilégios baixos.
JupyterLab
  • Proteja tanto a interface web quanto a API.
  • Restrinja o acesso WebSocket aos kernels.
  • Evite passar segredos de autenticação por argumentos de linha de comando.
  • Execute o Jupyter com privilégio mínimo.
  • Rotacione os tokens expostos.
OPSMCP
  • Remova credenciais de API hardcoded.
  • Use uma solução de gerenciamento de segredos.
  • Implemente autorização por ferramenta.
  • Remova a funcionalidade administrativa oculta da produção.
  • Nunca retorne chaves privadas por meio de uma API.
  • Execute o serviço como uma conta sem privilégios.
SSH
  • Rotacione as chaves comprometidas.
  • Use permissões restritivas para chaves privadas.
  • Minimize o acesso SSH direto como root.
  • Monitore os eventos de autenticação de root.

🔍 Detecção

Sistema

💡 Principais Conclusões

01 — Ferramentas de desenvolvimento são superfície de ataque Ferramentas projetadas para desenvolvimento local podem tornar-se vulnerabilidades críticas quando expostas a redes não confiáveis.

02 — Tokens do Jupyter são credenciais poderosas O acesso a um token do Jupyter pode fornecer muito mais do que acesso à interface — as APIs de kernel podem fornecer execução arbitrária de código.

03 — Oculto não significa seguro Um endpoint não documentado não é um mecanismo de autorização.

04 — O código-fonte é valioso no pós-exploração O código-fonte da aplicação pode revelar imediatamente mecanismos de autenticação, segredos, funcionalidades ocultas e limites de privilégio.

05 — O privilégio mínimo pode quebrar cadeias de ataque Se o OPSMCP estivesse sendo executado como uma conta de serviço sem privilégios, o impacto final teria sido significativamente reduzido.


📚 Referências

  • CVE-2026-23744 — Execução remota de código no MCPJam Inspector
  • Documentação do JupyterLab — Arquitetura de kernel e API
  • OWASP — Privilégio Mínimo
  • OWASP — Gerenciamento de Segredos

⚠️ Aviso Legal

Este repositório destina-se exclusivamente à pesquisa de segurança autorizada, testes de penetração e fins educacionais. Não use as técnicas aqui descritas contra sistemas sem autorização explícita.


⚡ MCPJam → RCE → Jupyter → User → OPSMCP → root ⚡

Baixar ferramenta
EtapaEstágio
1MCPJam Inspector exposto na rede
2CVE-2026-23744 explorada
3RCE inicial obtido
4Token do JupyterLab divulgado
5Execução do kernel Jupyter
6Shell em nível de usuário
7Revisão do código-fonte do OPSMCP
8Credencial de API hardcoded descoberta
9Funcionalidade administrativa oculta abusada
10Credencial de root divulgada
11root
#FragilidadeImpacto
1MCPJam Inspector expostoSuperfície de ataque remota
2CVE-2026-23744RCE inicial
3Token em argumentos de processoDivulgação de credenciais
4Acesso ao kernel JupyterExecução de código em nível de usuário
5Código-fonte da aplicação legívelDescoberta de credenciais
6Chave de API OPSMCP hardcodedBypass de autenticação da API
7Funcionalidade administrativa ocultaOperação privilegiada
8OPSMCP executando como rootComprometimento total do sistema
Fique atento a
MCPJamAlterações inesperadas de configuração · processos filhos suspeitos · clientes remotos incomuns
JupyterLabUso inesperado de token · criação inesperada de kernels · conexões WebSocket anormais · processos de shell gerados por kernels
OPSMCPInvocação de ferramentas não documentadas · solicitações relacionadas a credenciais · clientes de API inesperados · operações administrativas
SSHLogins de root inesperados · novas chaves SSH · fontes de autenticação incomuns