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

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

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

171 месяц назадЕщё не проверено

Популярное

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

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

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

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

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

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

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


⚡ MCPJam → root

CVE-2026-23744 MCPJam Inspector JupyterLab Linux Privilege Escalation

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

🎯 Путь атаки

ШагЭтап
1MCPJam Inspector, доступный в сети
2Эксплуатация CVE-2026-23744
3Получен начальный RCE
4Раскрыт токен JupyterLab
5Выполнение кода в ядре Jupyter
6Оболочка уровня пользователя
7Анализ исходного кода OPSMCP
8Обнаружены захардкоженные API-учётные данные
9Злоупотребление скрытой административной функциональностью
10Раскрыты root-учётные данные
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

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


💥 CVE-2026-23744 — RCE в MCPJam Inspector

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

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

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

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

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

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 взаимодействуют через WebSockets:

/api/kernels/<KERNEL_ID>/channels

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

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

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

MCPJam RCE → JupyterLab → User

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

Имея оболочку пользователя, следующий шаг — изучение локально установленных приложений. Приложение 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
Скачать инструмент