Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
mcpjam-to-root — 从 MCPJam Inspector RCE 到 root — CVE-2026-23744、JupyterLab 令牌泄露、内核执行与 OPSMCP 权限提升 | Kitploit
工具/GitHubGitHub/itsc1sco/mcpjam-to-root
权限提升漏洞分析漏洞利用Web应用程序漏洞利用后渗透利用渗透测试学习与教育API 安全
GitHubitsc1sco/mcpjam-to-root

mcpjam-to-root

从 MCPJam Inspector RCE 到 root — CVE-2026-23744、JupyterLab 令牌泄露、内核执行与 OPSMCP 权限提升

查看仓库
171个月前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

⚠️ 免责声明

本仓库仅用于授权的安全研究、渗透测试和教育目的。 请勿在未经明确授权的系统上使用本文所述的技术。


⚡ MCPJam → Root

CVE-2026-23744 MCPJam Inspector JupyterLab Linux Privilege Escalation

从 MCPJam Inspector RCE 到 root — CVE-2026-23744、JupyterLab 令牌泄露、内核执行与 OPSMCP 权限提升。

---

📖 概述

本仓库记录了一条完整的 Linux 攻击链,从暴露的 MCPJam Inspector 实例一直到 root 级访问权限。

该攻击链串联了开发者工具、本地服务、凭据处理和应用授权方面的多个弱点:

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

[!WARNING] 本仓库仅用于授权的安全研究、渗透测试和教育目的。本文档中的所有目标地址、凭据、令牌及其他与环境相关的值均已脱敏或替换为实验环境占位符。


📑 目录

  • 🎯 攻击路径
  • 🔎 枚举
  • 💥 CVE-2026-23744 — MCPJam Inspector RCE
  • 🕵️ 内部枚举
  • 🔐 JupyterLab 令牌泄露
  • 🧠 JupyterLab 内核执行
  • 📂 OPSMCP 源代码
  • 🚨 隐藏的管理功能
  • 🔑 Root 凭据泄露
  • 👑 Root
  • 🗺️ 完整攻击链
  • 🧩 漏洞总结
  • 🛡️ 修复建议
  • 🔍 检测
  • 💡 关键要点
  • 📚 参考

🎯 攻击路径

步骤阶段
1MCPJam Inspector 暴露于网络
2利用 CVE-2026-23744
3获得初始 RCE
4JupyterLab 令牌泄露
5Jupyter 内核执行
6用户级 Shell
7OPSMCP 源代码审计
8发现硬编码 API 凭据
9滥用隐藏的管理功能
10Root 凭据泄露
11root

🔎 枚举

初步侦察的重点是识别暴露在外部的服务。

nmap -sC -sV -oN nmap_initial.txt TARGET

随后可以执行一次完整的 TCP 扫描:

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

相关的外部服务:

端口服务角色
22SSH远程管理
6274MCPJam Inspector初始攻击面

仅绑定到 localhost 的服务:

端口服务权限
8888JupyterLab用户
5000OPSMCProot

暴露在外部、监听端口 6274 的 MCPJam Inspector 成为初始入口点。


💥 CVE-2026-23744 — MCPJam Inspector RCE(远程代码执行)

暴露的 MCPJam Inspector 实例受 CVE-2026-23744 影响。

MCPJam Inspector 主要用作 MCP 服务器的开发与测试界面。当该界面暴露到不受信任的网络时,此漏洞会变得尤为危险——一个存在缺陷的配置流程会让攻击者可控的数据进入命令执行路径。

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

该漏洞影响 1.4.2 及以下版本的 MCPJam Inspector。在授权测试中,可以使用公开的概念验证(PoC)来验证目标环境是否存在该漏洞。

成功利用后,确认执行上下文:

id
whoami
hostname

🕵️ 内部枚举

获得初始立足点后,本地服务便可见。

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

这两个内部应用之间的权限差异尤其值得关注。


🔐 JupyterLab 令牌泄露

JupyterLab 进程启动时,其身份验证令牌直接出现在命令行中:

--ServerApp.token=<JUPYTER_TOKEN>

可以通过以下方式查看命令行:

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

这展示了一个常见的秘密管理问题:

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

恢复出的令牌可访问本地 Jupyter API。


🧠 JupyterLab 内核执行

Jupyter 提供了用于管理内核的 REST API。使用恢复出的令牌完成身份验证后,可以通过以下方式创建内核:

POST /api/kernels

响应中包含内核 UUID。Jupyter 内核通过 WebSocket 进行通信:

/api/kernels/<KERNEL_ID>/channels

Jupyter 消息协议使用 execute_request 消息来运行 Python 代码:

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

这将在 Jupyter 服务的身份下建立 Python 执行环境——在本环境中,内核以**用户(User)**身份执行。

MCPJam RCE → JupyterLab → User

📂 OPSMCP 源代码

获得用户级 Shell 后,下一步是检查本地安装的应用。OPSMCP 应用位于:

/opt/opsmcp/

审查源代码后发现了一个嵌入的 API 凭据:

VALID_API_KEY = "<REDACTED_OPSMCP_API_KEY>"

该应用还维护着两个工具集合:

可见工具

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

隐藏工具

  • ops._admin_dump
  • ops._debug_mode

管理功能尤其值得关注,因为它们不会通过常规的工具枚举返回。

未记录在案并不意味着无法访问。

后端仍然注册了这些隐藏工具,并通过通用的工具执行机制接受它们的名称。


🚨 隐藏的管理功能

应用使用 API 密钥对请求进行身份验证:

X-API-Key: <OPSMCP_API_KEY>

通过身份验证后,工具执行端点仅检查所请求的函数是否存在——而不检查调用者是否被允许运行它。

实际情况:

API Key → Authenticated → Tool exists? → Execute

应有情况:

API Key → Authenticated → Permission check → Allowed → Execute
                                            └ Denied  → 403

隐藏的管理功能可以访问由 root 拥有的敏感资源。


🔑 Root 凭据泄露

管理工具接受一个描述所请求信息的目标参数。支持的一种资源是 root 的 SSH 密钥:

{
  "name": "ops._admin_dump",
  "arguments": {
    "target": "ssh_keys",
    "confirm": true
  }
}

应用随后读取由 root 拥有的 SSH 私钥,这之所以可行,是因为 OPSMCP 以 root 身份运行,可以读取 /root/*。因此,该应用成为了一个凭据泄露原语。


👑 Root

恢复出实验室授权的 SSH 凭据后,使用严格的权限保存它:

chmod 600 <ROOT_KEY>

验证最终的身份验证上下文:

whoami
id

最终权限级别:root 🎉


🗺️ 完整攻击链

┌──────────────────────────────┐
│       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

🧩 漏洞总结

#弱点影响
1暴露的 MCPJam Inspector远程攻击面
2CVE-2026-23744初始 RCE
3进程参数中的令牌凭据泄露
4Jupyter 内核访问用户级代码执行
5可读的应用源代码凭据发现
6硬编码的 OPSMCP API 密钥API 身份验证绕过
7隐藏的管理功能特权操作
8以 root 运行的 OPSMCP系统完全沦陷

🛡️ 修复建议

MCPJam Inspector
  • 升级到已修复的版本。
  • 尽可能将 Inspector 界面绑定到 localhost。
  • 远程部署时要求进行身份验证。
  • 验证 MCP 配置输入。
  • 使用专用的低权限账户运行该服务。
JupyterLab
  • 同时保护 Web 界面和 API。
  • 限制内核 WebSocket 的访问。
  • 避免通过命令行参数传递身份验证秘密。
  • 以最小权限运行 Jupyter。
  • 轮换已暴露的令牌。
OPSMCP
  • 移除硬编码的 API 凭据。
  • 使用秘密管理解决方案。
  • 实现按工具的授权机制。
  • 从生产环境中移除隐藏的管理功能。
  • 绝不要通过 API 返回私钥。
  • 以非特权账户运行该服务。
SSH
  • 轮换已泄露的密钥。
  • 为私钥设置严格的权限。
  • 尽量减少直接的 root SSH 访问。
  • 监控 root 身份验证事件。

🔍 检测

系统监控内容
MCPJam意外的配置更改 · 可疑的子进程 · 异常的远程客户端
JupyterLab意外的令牌使用 · 意外的内核创建 · 异常的 WebSocket 连接 · 由内核产生的 Shell 进程
OPSMCP未记录的工具调用 · 与凭据相关的请求 · 意外的 API 客户端 · 管理操作
SSH意外的 root 登录 · 新增的 SSH 密钥 · 异常的身份验证来源
下载工具