
MCPJam Inspector RCE से root तक — CVE-2026-23744, JupyterLab टोकन प्रकटीकरण, कर्नेल निष्पादन, और OPSMCP विशेषाधिकार वृद्धि
यह रिपॉजिटरी केवल अधिकृत सुरक्षा अनुसंधान, पैठ परीक्षण और शैक्षिक उद्देश्यों के लिए है। स्पष्ट प्राधिकरण के बिना यहां वर्णित तकनीकों का उपयोग सिस्टम के विरुद्ध न करें।
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] यह रिपॉजिटरी केवल अधिकृत सुरक्षा अनुसंधान, पैठ परीक्षण और शैक्षिक उद्देश्यों के लिए है। इस दस्तावेज़ में लक्ष्य पते, क्रेडेंशियल, टोकन और अन्य पर्यावरण-विशिष्ट मानों को हटा दिया गया है या प्रयोगशाला प्लेसहोल्डर से बदल दिया गया है।
| चरण | अवस्था |
|---|---|
| 1 | MCPJam Inspector नेटवर्क पर उजागर |
| 2 | CVE-2026-23744 का शोषण किया गया |
| 3 | प्रारंभिक RCE प्राप्त हुआ |
| 4 | JupyterLab टोकन प्रकट हुआ |
| 5 | Jupyter कर्नेल निष्पादन |
| 6 | User-स्तरीय शेल |
| 7 | OPSMCP सोर्स-कोड समीक्षा |
| 8 | हार्डकोडेड API क्रेडेंशियल खोजा गया |
| 9 | छिपी हुई प्रशासनिक कार्यक्षमता का दुरुपयोग किया गया |
| 10 | Root क्रेडेंशियल प्रकट हुआ |
| 11 | root |
प्रारंभिक टोही बाह्य रूप से उजागर सेवाओं की पहचान करने पर केंद्रित है।
nmap -sC -sV -oN nmap_initial.txt TARGET
इसके बाद एक संपूर्ण TCP स्कैन किया जा सकता है:
nmap -p- --min-rate 5000 -oN nmap_full.txt TARGET
प्रासंगिक बाह्य सेवाएँ:
| पोर्ट | सेवा | भूमिका |
|---|---|---|
| 22 | SSH | दूरस्थ प्रशासन |
| 6274 | MCPJam Inspector | प्रारंभिक आक्रमण सतह |
केवल localhost से बंधी सेवाएँ:
| पोर्ट | सेवा | विशेषाधिकार |
|---|---|---|
| 8888 | JupyterLab | User |
| 5000 | OPSMCP | root |
पोर्ट 6274 पर स्थित बाह्य रूप से सुलभ 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 प्रक्रिया को कमांड लाइन पर सीधे प्रमाणीकरण टोकन के साथ प्रारंभ किया गया था:
--ServerApp.token=<JUPYTER_TOKEN>
कमांड लाइन को इस प्रकार देखा जा सकता है:
ps aux | grep jupyter
# or
cat /proc/<PID>/cmdline
यह एक सामान्य गोपनीय-प्रबंधन समस्या को दर्शाता है:
Secret → Command-line argument → Process metadata → Local credential disclosure
प्राप्त टोकन स्थानीय Jupyter API तक पहुंच प्रदान करता है।
Jupyter कर्नेल प्रबंधन के लिए एक REST API प्रदान करता है। प्राप्त टोकन से प्रमाणीकरण के बाद, एक कर्नेल इस प्रकार बनाया जा सकता है:
POST /api/kernels
प्रतिक्रिया में एक कर्नेल UUID होता है। Jupyter कर्नेल WebSockets के माध्यम से संचार करते हैं:
/api/kernels/<KERNEL_ID>/channels
Jupyter संदेश प्रोटोकॉल Python कोड चलाने के लिए execute_request संदेश का उपयोग करता है:
{
"header": { "msg_type": "execute_request" },
"content": { "code": "<AUTHORIZED_LAB_CODE>" }
}
यह Jupyter सेवा की पहचान के अंतर्गत Python निष्पादन स्थापित करता है — इस वातावरण में, कर्नेल User के रूप में निष्पादित होता है।
MCPJam RCE → JupyterLab → User
User शेल उपलब्ध होने पर, अगला कदम स्थानीय रूप से स्थापित अनुप्रयोगों की जांच करना है। OPSMCP अनुप्रयोग यहां स्थित है:
/opt/opsmcp/
सोर्स कोड की समीक्षा करने पर एक एम्बेडेड API क्रेडेंशियल प्रकट होता है:
VALID_API_KEY = "<REDACTED_OPSMCP_API_KEY>"
अनुप्रयोग दो टूल संग्रह भी बनाए रखता है:
दृश्यमान टूल
ops.system_statusops.list_servicesops.check_diskops.view_logsछिपे हुए टूल
ops._admin_dumpops._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 SSH कुंजी है: