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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2022-0847-Container-Escape — CVE-2022-0847 (Dirty Pipe) का उपयोग करके कंटेनर एस्केप प्राप्त करना | Kitploit
उपकरण/GitHubGitHub/greenhandatsjtu/cve-2022-0847-container-escape
विशेषाधिकार वृद्धिकंटेनर सुरक्षाभेद्यता विश्लेषणशोषणकंटेनर एस्केप
GitHubgreenhandatsjtu/cve-2022-0847-container-escape

CVE-2022-0847-Container-Escape

CVE-2022-0847 (Dirty Pipe) का उपयोग करके कंटेनर एस्केप प्राप्त करना

रिपॉजिटरी देखें

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें
37654 साल पहलेKitploit द्वारा समीक्षित

CVE-2022-0847

CVE-2022-0847 का उपयोग कंटेनर escape प्राप्त करने के लिए किया जाता है (होस्ट पर किसी भी केवल-पढ़ने योग्य फ़ाइलों को अधिलेखित करना)

अंग्रेज़ी में स्लाइड्स यहाँ उपलब्ध हैं

利用CVE-2022-0847 (Dirty Pipe) 实现容器逃逸(效果为覆写宿主机上任意只读文件)

中文汇报PPT在这里

परिचय

यदि कर्नेल CVE-2022-0847 के लिए असुरक्षित है, तो हमलावर केवल-पढ़ने योग्य फ़ाइलों को अधिलेखित कर सकता है (गैर-स्थायी! अधिक जानकारी के लिए https://dirtypipe.cm4all.com/ देखें)। हालांकि, कंटेनर केवल कंटेनर के अंदर की फ़ाइलों तक ही पहुंच सकता है। सौभाग्य से, जब CAP_DAC_READ_SEARCH प्रदान किया जाता है, तो हमलावर होस्ट पर फ़ाइलों को अधिलेखित कर सकता है!

व्याख्या

जैसा कि https://dirtypipe.cm4all.com/ बताता है, किसी केवल-पढ़ने योग्य फ़ाइल को अधिलेखित करने के लिए, हमें इसे splice() के माध्यम से पाइप में भेजना होगा। splice() का उपयोग करने के लिए, हमें पहले लक्ष्य फ़ाइल को O_RDONLY फ़्लैग के साथ खोलना होगा ताकि एक फ़ाइल डिस्क्रिप्टर प्राप्त हो सके।

तब मेरे दिमाग में CAP_DAC_READ_SEARCH आया। Linux मैनुअल के अनुसार, जब CAP_DAC_READ_SEARCH प्रदान किया जाता है, तो कंटेनर के अंदर का हमलावर यह कर सकता है:

  • फ़ाइल पढ़ने की अनुमति जाँच और निर्देशिका पढ़ने तथा निष्पादन अनुमति जाँच को बायपास करना
  • open_by_handle_at(2) को आह्वान करना

क्षमता CAP_DAC_READ_SEARCH के साथ, हम होस्ट फ़ाइलसिस्टम को खोज सकते हैं और open_by_handle_at(2) का उपयोग करके कंटेनर से होस्ट पर किसी भी फ़ाइल को केवल-पढ़ने के लिए खोल सकते हैं, जिससे उसका फ़ाइल डिस्क्रिप्टर प्राप्त होता है (अधिक जानकारी के लिए http://stealth.openwall.net/xSports/shocker.c देखें)।

अब जब हमारे पास होस्ट पर लक्ष्य फ़ाइल का फ़ाइल डिस्क्रिप्टर है, तो हम निश्चित रूप से splice() का उपयोग करके लक्ष्य फ़ाइल की सामग्री को पाइप में भेज सकते हैं, और फिर उसे अधिलेखित कर सकते हैं!

उपयोग

root@kitploit:~
cp /etc/password . # back up /etc/password
gcc dp.c -o dp
docker run --rm -it -v $(pwd):/exp --cap-add=CAP_DAC_READ_SEARCH ubuntu
/exp/dp /etc/passwd 1 ootz: # overwrite /etc/password on host from offset 1
/etc/dp /etc/passwd # dump /etc/passwd on host

उदाहरण

सबसे पहले, होस्ट पर रूट उपयोगकर्ता द्वारा एक केवल-पढ़ने योग्य फ़ाइल /home/vagrant/flag.txt बनाएं, जिसकी सामग्री hello world है:

फिर, क्षमता CAP_DAC_READ_SEARCH के साथ एक कंटेनर शुरू करें, पहले होस्ट पर /home/vagrant/flag.txt को डंप करने का प्रयास करें, हमें hello world मिलता है:

फिर लक्ष्य फ़ाइल को ऑफ़सेट 1 से abcdefghij सामग्री के साथ अधिलेखित करने का प्रयास करें:

लक्ष्य फ़ाइल को फिर से डंप करें, अब सामग्री habcdefghij है! कंटेनर से बाहर निकलें और होस्ट पर /home/vagrant/flag.txt की जाँच करें, इसकी सामग्री habcdefghij है।

हाँ, हमने कंटेनर से होस्ट पर एक फ़ाइल को अधिलेखित कर दिया!

श्रेय

  • https://dirtypipe.cm4all.com/
  • http://stealth.openwall.net/xSports/shocker.c
टूल डाउनलोड करें