Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
mcpjam-to-root — MCPJam Inspector RCE에서 root까지 — CVE-2026-23744, JupyterLab 토큰 노출, 커널 실행 및 OPSMCP 권한 상승 | Kitploit
도구/GitHubGitHub/itsc1sco/mcpjam-to-root
Privilege EscalationVulnerability AnalysisExploitationWeb Application ExploitationPost-ExploitationPenetration TestingLearning & EducationAPI Security
GitHubitsc1sco/mcpjam-to-root

mcpjam-to-root

MCPJam Inspector RCE에서 root까지 — CVE-2026-23744, JupyterLab 토큰 노출, 커널 실행 및 OPSMCP 권한 상승

저장소 보기
1일 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

⚠️ 고지 사항

이 저장소는 공인된 보안 연구, 침투 테스트 및 교육 목적으로만 사용됩니다. 명시적인 승인 없이 여기에 설명된 기술을 시스템에 사용하지 마십시오.


⚡ MCPJam → Root

CVE-2026-23744 MCPJam Inspector JupyterLab Linux Privilege Escalation

MCPJam Inspector RCE에서 root까지 — CVE-2026-23744, JupyterLab 토큰 노출, 커널 실행 및 OPSMCP 권한 상승.

---

📖 개요

이 저장소는 노출된 MCPJam Inspector 인스턴스에서 root 수준 접근까지 이어지는 완전한 Linux 공격 체인을 문서화합니다.

이 체인은 개발자 도구, 로컬 서비스, 자격 증명 처리 및 애플리케이션 권한 부여 전반에 걸친 취약점들을 연결합니다:

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 — MCPJam Inspector RCE
  • 🕵️ 내부 정보 수집
  • 🔐 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에만 바인딩된 서비스:

포트서비스권한
8888JupyterLabUser
5000OPSMCProot

포트 6274의 외부 접근 가능한 MCPJam Inspector가 초기 진입점이 됩니다.


💥 CVE-2026-23744 — MCPJam Inspector RCE

노출된 MCPJam Inspector 인스턴스는 CVE-2026-23744의 영향을 받습니다.

MCPJam Inspector는 주로 MCP 서버용 개발 및 테스트 인터페이스로 설계되었습니다. 이 인터페이스가 신뢰할 수 없는 네트워크에 노출되면 이 취약점은 특히 위험해집니다 — 취약한 구성 흐름으로 인해 공격자가 제어하는 데이터가 명령 실행 경로에 도달할 수 있습니다.

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

이 취약점은 1.4.2 이하 버전의 MCPJam Inspector에 영향을 미칩니다. 공인된 테스트를 위해 공개 PoC(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 커널은 WebSocket을 통해 통신합니다:

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

Jupyter 메시징 프로토콜은 execute_request 메시지를 사용하여 Python 코드를 실행합니다:

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

이는 Jupyter 서비스의 신원으로 Python 실행을 가능하게 합니다 — 이 환경에서 커널은 User 권한으로 실행됩니다.

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 자격 증명 노출

관리 도구는 요청된 정보를 설명하는 대상을 입력받습니다. 지원되는 리소스 중 하나는 root SSH 키입니다:

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

애플리케이션은 OPSMCP가 root로 실행되어 /root/*를 읽을 수 있기 때문에 root가 소유한 SSH 개인 키를 읽습니다. 따라서 애플리케이션은 자격 증명 노출 프리미티브가 됩니다.


👑 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
  • 손상된 키를 교체합니다.
  • 제한적인 개인 키 권한을 사용합니다.
  • 직접적인 root SSH 접근을 최소화합니다.
  • root 인증 이벤트를 모니터링합니다.

🔍 탐지

시스템관찰 대상
MCPJam예상치 못한 구성 변경 · 의심스러운 자식 프로세스 · 비정상적인 원격 클라이언트
JupyterLab

💡 핵심 시사점

01 — 개발자 도구는 공격 표면이다 로컬 개발용으로 설계된 도구는 신뢰할 수 없는 네트워크에 노출되면 심각한 취약점이 될 수 있습니다.

02 — Jupyter 토큰은 강력한 자격 증명이다 Jupyter 토큰에 대한 접근은 UI 접근 이상을 제공할 수 있습니다 — 커널 API는 임의 코드 실행을 제공할 수 있습니다.

03 — 숨겨짐이 안전을 의미하지는 않는다 문서화되지 않은 엔드포인트는 권한 부여 메커니즘이 아닙니다.

04 — 소스 코드는 사후 침투 단계에서 가치가 높다 애플리케이션 소스는 인증 메커니즘, 비밀, 숨겨진 기능 및 권한 경계를 즉시 드러낼 수 있습니다.

05 — 최소 권한은 공격 체인을 끊을 수 있다 OPSMCP가 권한이 없는 서비스 계정으로 실행되었다면 최종 영향은 상당히 줄어들었을 것입니다.


📚 참고 자료

  • CVE-2026-23744 — MCPJam Inspector 원격 코드 실행
  • JupyterLab Documentation — 커널 및 API 아키텍처
  • OWASP — Least Privilege
  • OWASP — Secrets Management

⚠️ 고지 사항

이 저장소는 공인된 보안 연구, 침투 테스트 및 교육 목적으로만 사용됩니다. 명시적인 승인 없이 여기에 설명된 기술을 시스템에 사용하지 마십시오.


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

도구 다운로드
단계단계
1MCPJam Inspector가 네트워크에 노출됨
2CVE-2026-23744 악용
3초기 RCE 달성
4JupyterLab 토큰 노출
5Jupyter 커널 실행
6사용자 수준 셸
7OPSMCP 소스 코드 검토
8하드코딩된 API 자격 증명 발견
9숨겨진 관리 기능 악용
10Root 자격 증명 노출
11root
#취약점영향
1노출된 MCPJam Inspector원격 공격 표면
2CVE-2026-23744초기 RCE
3프로세스 인자에 있는 토큰자격 증명 노출
4Jupyter 커널 접근사용자 수준 코드 실행
5읽기 가능한 애플리케이션 소스자격 증명 발견
6하드코딩된 OPSMCP API 키API 인증 우회
7숨겨진 관리 기능권한 있는 작업
8root로 실행되는 OPSMCP전체 시스템 손상
예상치 못한 토큰 사용 · 예상치 못한 커널 생성 · 비정상적인 WebSocket 연결 · 커널에서 생성된 셸 프로세스
OPSMCP문서화되지 않은 도구 호출 · 자격 증명 관련 요청 · 예상치 못한 API 클라이언트 · 관리 작업
SSH예상치 못한 root 로그인 · 새로운 SSH 키 · 비정상적인 인증 소스