Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
mcpjam-to-root — От RCE в MCPJam Inspector до root — CVE-2026-23744, раскрытие токена JupyterLab, выполнение кода в ядре и повышение привилегий OPSMCP | Kitploit
Инструменты/GitHubGitHub/itsc1sco/mcpjam-to-root
Повышение привилегийАнализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийПост-эксплуатацияТестирование на ПроникновениеОбучение и ОбразованиеБезопасность API
GitHubitsc1sco/mcpjam-to-root

mcpjam-to-root

От RCE в MCPJam Inspector до root — CVE-2026-23744, раскрытие токена JupyterLab, выполнение кода в ядре и повышение привилегий OPSMCP

Репозиторий
1 день назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

⚠️ Отказ от ответственности

Этот репозиторий предназначен только для авторизованных исследований безопасности, тестирования на проникновение и образовательных целей. Не используйте описанные здесь техники против систем без явного разрешения.


⚡ MCPJam → root

CVE-2026-23744 MCPJam Inspector JupyterLab Linux Privilege Escalation

От RCE в MCPJam Inspector до root — CVE-2026-23744, раскрытие токена JupyterLab, выполнение кода в ядре и повышение привилегий через OPSMCP.

---

📖 Обзор

В этом репозитории документируется полная цепочка атак на Linux — от открытого экземпляра MCPJam Inspector до доступа уровня root.

Цепочка связывает воедино слабости в инструментарии разработчика, локальных сервисах, обработке учётных данных и авторизации приложений:

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

[!WARNING] Этот репозиторий предназначен только для авторизованных исследований безопасности, тестирования на проникновение и образовательных целей. Адреса целей, учётные данные, токены и другие значения, зависящие от окружения, в этом документе отредактированы или заменены лабораторными плейсхолдерами.


📑 Оглавление

  • 🎯 Путь атаки
  • 🔎 Разведка
  • 💥 CVE-2026-23744 — RCE в MCPJam Inspector
  • 🕵️ Внутренняя разведка
  • 🔐 Раскрытие токена JupyterLab
  • 🧠 Выполнение кода в ядре JupyterLab
  • 📂 Исходный код OPSMCP
  • 🚨 Скрытая административная функция
  • 🔑 Раскрытие root-учётных данных
  • 👑 root
  • 🗺️ Полная цепочка атак
  • 🧩 Сводка уязвимостей
  • 🛡️ Устранение
  • 🔍 Обнаружение
  • 💡 Ключевые выводы
  • 📚 Ссылки

🎯 Путь атаки


🔎 Разведка

Первоначальная разведка направлена на выявление сервисов, доступных извне.

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

Затем можно выполнить полное сканирование TCP:

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

Релевантные внешние сервисы:

ПортСервисРоль
22SSHУдалённое администрирование
6274MCPJam InspectorНачальная поверхность атаки

Сервисы, привязанные только к localhost:

ПортСервисУровень привилегий
8888JupyterLabПользователь
5000OPSMCProot

Доступный извне MCPJam Inspector на порту 6274 становится начальной точкой входа.


💥 CVE-2026-23744 — RCE в MCPJam Inspector

Открытый экземпляр MCPJam Inspector подвержен CVE-2026-23744.

MCPJam Inspector в первую очередь предназначен как интерфейс для разработки и тестирования MCP-серверов. Уязвимость становится особенно опасной, когда этот интерфейс доступен из недоверенной сети — уязвимая конфигурация позволяет данным, контролируемым атакующим, попасть в путь выполнения команд.

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

Уязвимость затрагивает версии MCPJam Inspector вплоть до 1.4.2 включительно. Для авторизованного тестирования можно использовать публичный proof of concept для проверки уязвимости в целевой среде.

После успешной эксплуатации подтвердите контекст выполнения:

root@kitploit:~
id
whoami
hostname

🕵️ Внутренняя разведка

После получения начальной точки опоры становятся видны локальные сервисы.

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

Особый интерес представляет разница в привилегиях между двумя внутренними приложениями.


🔐 Раскрытие токена JupyterLab

Процесс JupyterLab был запущен с токеном аутентификации прямо в командной строке:

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

Командную строку можно посмотреть через:

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

Это демонстрирует типичную проблему управления секретами:

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

Восстановленный токен предоставляет доступ к локальному Jupyter API.


🧠 Выполнение кода в ядре JupyterLab

Jupyter предоставляет REST API для управления ядрами. После аутентификации с восстановленным токеном ядро можно создать через:

root@kitploit:~
POST /api/kernels

Ответ содержит UUID ядра. Ядра Jupyter взаимодействуют через WebSockets:

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

Протокол обмена сообщениями Jupyter использует сообщение execute_request для выполнения Python-кода:

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

Это обеспечивает выполнение Python-кода от имени сервиса Jupyter — в данном окружении ядро выполняется как пользователь.

root@kitploit:~
MCPJam RCE → JupyterLab → User

📂 Исходный код OPSMCP

Имея оболочку пользователя, следующий шаг — изучение локально установленных приложений. Приложение OPSMCP находится в:

root@kitploit:~
/opt/opsmcp/

Анализ исходного кода выявляет встроенные API-учётные данные:

root@kitploit:~
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-ключа:

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

После аутентификации конечная точка выполнения инструментов проверяет только, существует ли запрошенная функция, а не разрешено ли вызывающей стороне её выполнять.

Что происходит:

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

Что должно происходить:

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

Скрытая административная функция может получать доступ к чувствительным ресурсам, принадлежащим root.


🔑 Раскрытие root-учётных данных

Административный инструмент принимает цель (target), описывающую запрашиваемую информацию. Один из поддерживаемых ресурсов — root-ключ SSH:

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

Затем приложение читает приватный SSH-ключ, принадлежащий root, что возможно, поскольку OPSMCP работает от имени root и может читать /root/*. Таким образом, приложение становится примитивом раскрытия учётных данных.


👑 root

После получения SSH-учётных данных авторизованной лаборатории сохраните их с ограничительными правами:

root@kitploit:~
chmod 600 <ROOT_KEY>

Проверьте полученный контекст аутентификации:

root@kitploit:~
whoami
id

Итоговый уровень привилегий: root 🎉


🗺️ Полная цепочка атак

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

🧩 Сводка уязвимостей


🛡️ Устранение

MCPJam Inspector
  • Обновитесь до исправленной версии.
  • По возможности держите интерфейсы Inspector привязанными к localhost.
  • Требуйте аутентификацию для удалённых развёртываний.
  • Проверяйте входные данные конфигурации MCP.
  • Запускайте сервис под выделенной учётной записью с минимальными привилегиями.
JupyterLab
  • Защищайте и веб-интерфейс, и API.
  • Ограничьте доступ к WebSocket ядра.
  • Не передавайте секреты аутентификации через аргументы командной строки.
  • Запускайте Jupyter с минимальными привилегиями.
  • Ротируйте раскрытые токены.
OPSMCP
  • Удалите захардкоженные API-учётные данные.
  • Используйте решение для управления секретами.
  • Внедрите авторизацию для каждого инструмента.
  • Удалите скрытую административную функциональность из продакшена.
  • Никогда не возвращайте приватные ключи через API.
  • Запускайте сервис от непривилегированной учётной записи.
SSH
  • Ротируйте скомпрометированные ключи.
  • Используйте ограничительные права на приватные ключи.
  • Минимизируйте прямой SSH-доступ к root.
  • Отслеживайте события аутентификации root.

🔍 Обнаружение

Система

💡 Ключевые выводы

01 — Инструментарий разработчика — это поверхность атаки Инструменты, предназначенные для локальной разработки, могут стать критическими уязвимостями при доступе из недоверенных сетей.

02 — Токены Jupyter — это мощные учётные данные Доступ к токену Jupyter может дать гораздо больше, чем доступ к интерфейсу — API ядер могут обеспечить выполнение произвольного кода.

03 — Скрытое не значит защищённое Недокументированная конечная точка — это не механизм авторизации.

04 — Исходный код ценен на этапе пост-эксплуатации Исходный код приложения может сразу раскрыть механизмы аутентификации, секреты, скрытую функциональность и границы привилегий.

05 — Минимальные привилегии могут разорвать цепочки атак Если бы OPSMCP работал от непривилегированной сервисной учётной записи, итоговое воздействие было бы значительно ниже.


📚 Ссылки

  • CVE-2026-23744 — удалённое выполнение кода в MCPJam Inspector
  • Документация JupyterLab — архитектура ядер и API
  • OWASP — Наименьшие привилегии
  • OWASP — Управление секретами

⚠️ Отказ от ответственности

Этот репозиторий предназначен только для авторизованных исследований безопасности, тестирования на проникновение и образовательных целей. Не используйте описанные здесь техники против систем без явного разрешения.


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

Скачать инструмент
ШагЭтап
1MCPJam Inspector, доступный в сети
2Эксплуатация CVE-2026-23744
3Получен начальный RCE
4Раскрыт токен JupyterLab
5Выполнение кода в ядре Jupyter
6Оболочка уровня пользователя
7Анализ исходного кода OPSMCP
8Обнаружены захардкоженные API-учётные данные
9Злоупотребление скрытой административной функциональностью
10Раскрыты root-учётные данные
11root
#СлабостьВоздействие
1Открытый MCPJam InspectorУдалённая поверхность атаки
2CVE-2026-23744Начальный RCE
3Токен в аргументах процессаРаскрытие учётных данных
4Доступ к ядру JupyterВыполнение кода уровня пользователя
5Читаемый исходный код приложенияОбнаружение учётных данных
6Захардкоженный API-ключ OPSMCPОбход аутентификации API
7Скрытая административная функциональностьПривилегированная операция
8OPSMCP, работающий от имени rootПолная компрометация системы
Что отслеживать
MCPJamНеожиданные изменения конфигурации · подозрительные дочерние процессы · необычные удалённые клиенты
JupyterLabНеожиданное использование токена · неожиданное создание ядер · аномальные WebSocket-соединения · shell-процессы, порождаемые ядрами
OPSMCPВызов недокументированных инструментов · запросы, связанные с учётными данными · неожиданные API-клиенты · административные операции
SSHНеожиданные входы под root · новые SSH-ключи · необычные источники аутентификации