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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2025-31133 — CVE-2025-31133 PoC | Kitploit
उपकरण/GitHubGitHub/skynet-f-nvidia/cve-2025-31133
विशेषाधिकार वृद्धिभेद्यता विश्लेषणशोषणपेनिट्रेशन टेस्टिंगरेड टीमिंगकंटेनर एस्केप
GitHubskynet-f-nvidia/cve-2025-31133

CVE-2025-31133

CVE-2025-31133 PoC

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

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें

CVE-2025-31133 PoC एक्सप्लॉइट

यह दस्तावेज़ runc भेद्यता CVE-2025-31133 के लिए प्रदान की गई प्रूफ-ऑफ-कॉन्सेप्ट (PoC) स्क्रिप्ट की कार्यप्रणाली की व्याख्या करता है।

सारांश

  • भेद्यता: CVE-2025-31133 - runc के maskedPaths हैंडलिंग में एक सिम्बोलिक लिंक रेस कंडीशन।
  • प्रभाव: एक दुर्भावनापूर्ण कंटेनर maskedPaths की सुरक्षाओं को बायपास कर सकता है, जिससे वह होस्ट सिस्टम पर संवेदनशील फ़ाइलों में लिख सकता है। यह एक कंटेनर एस्केप है।
  • PoC लक्ष्य: कंटेनर के अंदर से होस्ट की /proc/sys/kernel/core_pattern फ़ाइल को संशोधित करके भेद्यता को सुरक्षित रूप से प्रदर्शित करना।
  • सुरक्षा: यह PoC गैर-विनाशकारी है। यह केवल लक्षित फ़ाइल में "pwned" स्ट्रिंग लिखता है और होस्ट पर मनमाना कोड नहीं निष्पादित करता है। यह मूल मान को पुनर्स्थापित करने के निर्देश भी प्रदान करता है।

भेद्यता की व्याख्या

कंटेनर के OCI विनिर्देश (config.json) में maskedPaths सुविधा एक सुरक्षा तंत्र है जिसे कंटेनरों को संवेदनशील सिस्टम फ़ाइलों तक पहुँचने से रोकने के लिए डिज़ाइन किया गया है। यह कंटेनर के अंदर इन संवेदनशील पथों के ऊपर /dev/null (एक खाली डिवाइस फ़ाइल) को बाइंड-माउंट करके काम करता है, जिससे वे प्रभावी रूप से अपठनीय और अलिखनीय बन जाते हैं।

यह भेद्यता (CVE-2025-31133) एक Time-of-Check to Time-of-Use (TOCTOU) रेस कंडीशन है। यह एक्सप्लॉइट निम्नानुसार काम करता है:

  1. दोष: जब runc कंटेनर सेट करता है, तो यह संवेदनशील पथ (जैसे, /proc/sys/kernel/core_pattern) को मास्क करने वाले बाइंड माउंट के स्रोत के रूप में कंटेनर के rootfs से dev/null फ़ाइल का उपयोग करने की तैयारी करता है।
  2. रेस: runc द्वारा rootfs/dev/null का पथ हल करने और वास्तव में माउंट ऑपरेशन करने के बीच समय की एक छोटी खिड़की होती है।
  3. एक्सप्लॉइट: एक हमलावर होस्ट पर एक स्क्रिप्ट बना सकता है जो rootfs/dev/null फ़ाइल को एक वैध डिवाइस नोड और होस्ट पर लक्षित फ़ाइल (/proc/sys/kernel/core_pattern) की ओर इशारा करने वाले सिम्बोलिक लिंक के बीच लगातार और बहुत तेज़ी से स्वैप करती है।
  4. रेस जीतना: यदि समय सटीक हो, तो runc अपना माउंट ऑपरेशन ठीक उसी क्षण करेगा जब rootfs/dev/null एक सिमलिंक होगा। इससे कर्नेल सिमलिंक का अनुसरण करता है, और /proc/sys/kernel/core_pattern के लिए इच्छित मास्किंग ऑपरेशन विफल हो जाता है।
  5. कंटेनर एस्केप: चूँकि मास्किंग विफल हो गई, कंटेनर के अंदर का पथ अब सुरक्षित नहीं है। कंटेनर के अंदर चलने वाली एक प्रक्रिया अब में लिख सकती है, जो सीधे होस्ट की फ़ाइल को संशोधित करती है, जिससे कंटेनर एस्केप प्राप्त होता है।

यह PoC /proc/sys/kernel/core_pattern में लिखने के लिए इस तकनीक का उपयोग करता है, जो ऐसे एक्सप्लॉइट्स के लिए एक सामान्य लक्ष्य है क्योंकि इसे संशोधित करने से किसी प्रक्रिया के क्रैश होने पर होस्ट पर मनमाना कोड निष्पादन हो सकता है। हालाँकि, यह PoC केवल एक हानिरहित स्ट्रिंग लिखता है ताकि यह साबित हो सके कि राइट प्रिमिटिव मौजूद है।


PoC स्क्रिप्ट कैसे काम करती है

poc.sh स्क्रिप्ट ऊपर वर्णित पूरी प्रक्रिया को स्वचालित करती है।

  1. सेटअप और क्लीनअप:

    • यह runc बाइनरी, कंटेनर नाम और rootfs पथ के लिए वेरिएबल परिभाषित करती है।
    • इसमें एक मज़बूत cleanup फ़ंक्शन शामिल है जो सुनिश्चित करता है कि स्क्रिप्ट से पहले बनाए गए कोई भी कंटेनर या फ़ाइलें हटा दी जाएँ। यह फ़ंक्शन बाहर निकलने, बाधित होने या समाप्त होने पर स्वचालित रूप से कॉल किया जाता है।
  2. तैयारी:

    • यह होस्ट के /proc/sys/kernel/core_pattern की मूल सामग्री को एक अस्थायी फ़ाइल में सहेजती है। इसका उपयोग बाद में यह सत्यापित करने के लिए किया जाता है कि एक्सप्लॉइट सफल हुआ या नहीं और उपयोगकर्ता को सिस्टम पुनर्स्थापित करने में मदद करने के लिए।
    • यह एक न्यूनतम कंटेनर rootfs (./rootfs) और एक config.json फ़ाइल बनाती है।
    • config.json स्पष्ट रूप से /proc/sys/kernel/core_pattern को maskedPaths के अंतर्गत सूचीबद्ध करता है—ठीक वही सुविधा जिसे एक्सप्लॉइट बायपास करने का लक्ष्य रखता है।
  3. रेस फ़ंक्शन (symlink_race)

    • यह एक्सप्लॉइट का मूल है। इसे बैकग्राउंड में चलाने के लिए डिज़ाइन किया गया है।
    • यह 20 सेकंड तक चलने वाले एक टाइट लूप में प्रवेश करता है।
    • लूप के अंदर, यह बार-बार:

उपयोग

पूर्वापेक्षाएँ:

  • runc का एक भेद्य संस्करण।
  • busybox-static स्थापित (कंटेनर के शेल के लिए)।
  • runc चलाने और /proc को संशोधित करने के लिए रूट विशेषाधिकार (sudo)।

चरण:

  1. स्क्रिप्ट को poc.sh के रूप में सहेजें।
  2. इसे निष्पादन योग्य बनाएँ: chmod +x poc.sh।
  3. इसे sudo के साथ चलाएँ: sudo ./poc.sh।

आउटपुट की व्याख्या

  • सफलता: यदि आपको [+] EXPLOIT SUCCEEDED! संदेश दिखाई देता है, तो इसका मतलब है कि रेस कंडीशन जीत ली गई। होस्ट का /proc/sys/kernel/core_pattern कंटेनर के अंदर से सफलतापूर्वक संशोधित किया गया, जो भेद्यता की पुष्टि करता है।
  • विफलता: यदि आपको [-] Exploit did not succeed. दिखाई देता है, तो इस प्रयास में रेस नहीं जीती गई। रेस कंडीशन संभाव्य होती हैं और सिस्टम के समय और लोड पर काफी हद तक निर्भर करती हैं। स्क्रिप्ट को कुछ और बार चलाने का प्रयास करें।

अपने सिस्टम को पुनर्स्थापित करना (सफल रन के बाद)

PoC एक सिस्टम फ़ाइल को संशोधित करेगा। इसे उसकी मूल स्थिति में पुनर्स्थापित करने के लिए, स्क्रिप्ट द्वारा सुझाई गई कमांड चलाएँ:

root@kitploit:~
# The 'ORIGINAL_PATTERN' will be the actual value from your system
echo 'original_core_pattern_value' | sudo tee /proc/sys/kernel/core_pattern
टूल डाउनलोड करें
/proc/sys/kernel/core_pattern
  1. rootfs/dev/null को हटाता है।
  2. rootfs/dev/null से लक्षित होस्ट फ़ाइल (/proc/sys/kernel/core_pattern) तक एक सिम्बोलिक लिंक बनाता है।
  3. एक सेकंड के एक छोटे से अंश (500 माइक्रोसेकंड) के लिए रुकता है।
  4. सिमलिंक को हटाता है।
  5. rootfs/dev/null को एक उचित कैरेक्टर डिवाइस (mknod) के रूप में फिर से बनाता है।
  6. थोड़े लंबे समय (5000 माइक्रोसेकंड) के लिए रुकता है।
  • यह तेज़ स्विचिंग रेस कंडीशन के घटित होने के लिए अवसर की खिड़की बनाती है।
  • निष्पादन:

    • symlink_race फ़ंक्शन को एक बैकग्राउंड प्रक्रिया के रूप में शुरू किया जाता है।
    • ठीक उसके बाद, स्क्रिप्ट कंटेनर बनाने और शुरू करने के लिए runc run ... निष्पादित करती है। यह वह समय है जब runc maskedPaths लागू करने का प्रयास करेगा।
    • कंटेनर चलने के बाद, स्क्रिप्ट कंटेनर के अंदर एक कमांड निष्पादित करने के लिए runc exec का उपयोग करती है: echo 'pwned' > /proc/sys/kernel/core_pattern।
  • सत्यापन:

    • स्क्रिप्ट बैकग्राउंड रेस प्रक्रिया के समाप्त होने की प्रतीक्षा करती है और कंटेनर को साफ करती है।
    • फिर यह होस्ट के /proc/sys/kernel/core_pattern की वर्तमान सामग्री पढ़ती है।
    • यह वर्तमान सामग्री की तुलना अपेक्षित "pwned" स्ट्रिंग और मूल मान से करती है।
    • परिणाम के आधार पर, यह एक स्पष्ट [+] EXPLOIT SUCCEEDED! या [-] Exploit did not succeed. संदेश प्रिंट करती है।