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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2023-0386-OverlayFS — overlayFS का उपयोग करके नकली इन-मेमोरी फ़ाइलों को डिस्क पर कॉपी करें | Kitploit
उपकरण/GitHubGitHub/pwncone/cve-2023-0386-overlayfs
विशेषाधिकार वृद्धिभेद्यता विश्लेषणशोषणलर्निंग और शिक्षाबाइनरी शोषण
GitHubpwncone/cve-2023-0386-overlayfs

CVE-2023-0386-OverlayFS

overlayFS का उपयोग करके नकली इन-मेमोरी फ़ाइलों को डिस्क पर कॉपी करें

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

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

सभी देखें →

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

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

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

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

CVE-2023-0386 - OverlayFS / FUSE

मूल CVE स्रोत xkaneiki द्वारा लिखा गया: https://github.com/xkaneiki/CVE-2023-0386/tree/main

इसे इस प्रकार फिर से लिखा गया है कि एक्सप्लॉइट को 1 शेल में चलाया जा सके (मूल एक्सप्लॉइट के लिए 2 शेल की आवश्यकता होती है)।

# कंपाइल करें
make all
# फ्यूज़ फाइलसिस्टम के लिए माउंट पॉइंट बनाएं
mkdir -p /tmp/fusepwn/lower
# फ्यूज़ शुरू करें (जो एक SUID बाइनरी प्रदान करता है)
./fuse /tmp/fusepwn/lower
# एक्सप्लॉइट चलाएं (जो ओवरलेएफएस के माध्यम से फ्यूज़ के नकली SUID बाइनरी को असली SUID अधिकारों के साथ डिस्क पर कॉपी करता है)
./exp
# शेल चलाएं
/tmp/fusepwn/upper/bin

सफाई

# फ्यूज़ फाइलसिस्टम अनमाउंट करें
fusermount -u /tmp/fusepwn/lower
# सब कुछ हटा दें
rm -rf /tmp/fusepwn
# ओवरलेएफएस अनमाउंट करें (केवल रूट। आवश्यक नहीं है)
umount /tmp/fusepwn/merge

नोट्स

  • माउंटेड फाइलसिस्टम देखने के लिए findmnt का उपयोग करें
  • ओवरलेएफएस माउंट केवल रूट को दिखाई देता है (पता नहीं क्यों)

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

fuse.c एक फ्यूज़ फाइल सिस्टम बनाता है जो /tmp/fusepwn/lower पर माउंट होता है और रूट के स्वामित्व वाली एक नकली SUID बाइनरी प्रदान करता है। यह एक इन-मेमोरी फाइलसिस्टम है, इसलिए हम अनुमतियों के सेट के बारे में झूठ बोल सकते हैं।

exp.c फिर /tmp/fusepwn में एक ओवरलेएफएस माउंट बनाता है और नकली SUID बाइनरी (/tmp/fusepwn/lower/bin) को खोलता है। खोलने पर, यह ओवरलेएफएस को कॉपी-अप करने के लिए ट्रिगर करता है, जो नकली SUID बाइनरी को वास्तविक SUID विशेषाधिकारों के साथ और रूट के स्वामित्व में डिस्क पर लिखता है।

यह भेद्यता ओवरलेएफएस में इस तरह मौजूद है कि यह आँख मूंदकर भरोसा करता है कि निचले फाइलसिस्टम द्वारा उसे फाइल अनुमतियाँ कैसे प्रदान की जा रही हैं। यदि निचला फाइलसिस्टम कर्नेल है, तो यह ठीक है (क्योंकि रूट अनुमतियों के बिना इसमें हेरफेर नहीं किया जा सकता है)। यदि निचले फाइलसिस्टम में उपयोगकर्ता द्वारा हेरफेर किया जा सकता है, तो यह ठीक नहीं है क्योंकि हम झूठ बोल सकते हैं कि वहाँ कौन सी फाइलें हैं (जैसे FUSE का उपयोग करके)।

पैच

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=4f11ada10d0ad3fd53e2bd67806351de63a4f9c3

पैच जाँचता है कि फाइल का UID/GID उपयोगकर्ता के नेमस्पेस के भीतर मान्य है या नहीं। यदि यह मान्य नहीं है, तो यह कॉपी-अप को विफल कर देता है।

अर्थात्

  • हम bob हैं
  • हम proc/self/uid_map में 1000 (bob का UID) को 0 (रूट) मैप करके एक नया नेमस्पेस रूट के रूप में बनाते हैं
  • हम रूट-स्वामित्व वाली फाइल पर कॉपी-अप ट्रिगर करने का प्रयास करते हैं
  • ओवरलेएफएस bob की मैपिंग की जाँच करता है और देखता है कि उपयोगकर्ता का नेमस्पेस वास्तव में 1000 (bob) है, न कि 0 (रूट) जैसा कि फाइल का है, और कॉपी-अप विफल कर देता है

सहायक संसाधन

  • सहायक ब्लॉग: https://engineering.facile.it/blog/eng/write-filesystem-fuse/
  • FUSE कार्यान्वयन का उदाहरण: https://man.openbsd.org/fuse_main.3

आरेख

diagram

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