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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2024-21626-runcPOC — CVE-2024-21626 के लिए प्रूफ-ऑफ-कॉन्सेप्ट, एक runc कंटेनर एस्केप भेद्यता। इसमें सत्यापन स्क्रिप्ट, दो शोषण विधियाँ (cron रिवर्स शेल और कमांड प्रतिस्थापन), और मूल कारण और पैच का विश्लेषण शामिल है। | Kitploit
उपकरण/GitHubGitHub/v0wkeep3r/cve-2024-21626-runcpoc
विशेषाधिकार वृद्धिकंटेनर सुरक्षाभेद्यता विश्लेषणशोषणक्लाउड सुरक्षाकंटेनर एस्केप
GitHubv0wkeep3r/cve-2024-21626-runcpoc

CVE-2024-21626-runcPOC

CVE-2024-21626 के लिए प्रूफ-ऑफ-कॉन्सेप्ट, एक runc कंटेनर एस्केप भेद्यता। इसमें सत्यापन स्क्रिप्ट, दो शोषण विधियाँ (cron रिवर्स शेल और कमांड प्रतिस्थापन), और मूल कारण और पैच का विश्लेषण शामिल है।

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

सभी देखें →

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

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

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

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

【भेद्यता पुनरुत्पादन】CVE-2024-21626 डॉकर रनक एस्केप भेद्यता

1. भेद्यता परिचय

भेद्यता का नामdocker runc एस्केप भेद्यता
भेद्यता संख्याCVE-2024-21626
प्रकटीकरण तिथि2024-01-31
विशेषता/
प्रभावित संस्करणrunc @ [v1.0.0-rc93,1.1.11]

2. शोषण और POC/EXP

उपयोग की शर्तें थोड़ी कठोर हैं, पीड़ित के इंटरैक्शन की आवश्यकता है, व्यक्तिगत रूप से मुझे लगता है कि यह थोड़ा बेकार है:

  1. हमलावर के दुर्भावनापूर्ण इमेज (जिसमें कार्य निर्देशिका सेटिंग्स आदि शामिल हैं) का उपयोग करके कंटेनर बनाएं
  2. हमलावर कंटेनर को नियंत्रित कर सकता है और कमांड निष्पादित कर सकता है।

भेद्यता अस्तित्व सत्यापन और डिस्क्रिप्टर प्राप्त करना:

root@kitploit:~
git clone https://github.com/V0WKeep3r/CVE-2024-21626-runcPOC.git
cd CVE-2024-21626-runcPOC
bash verify.sh

जैसा कि नीचे चित्र में दिखाया गया है, भेद्यता मौजूद है, और फ़ाइल डिस्क्रिप्टर /proc/self/fd8 है verify.sh वर्तमान मशीन वातावरण में संबंधित fd का विशिष्ट मान खोज सकता है। यदि fd 8 नहीं है, तो Dockerfile में WORKDIR को संबंधित मान में संशोधित करें या docker run में -w का उपयोग करें।

एस्केप/एलिवेशन सत्यापन: मैं यहाँ अधिक व्यावहारिक हूँ, poc.sh टाइमर टास्क (cron job) का उपयोग करके रिवर्स शेल प्राप्त करता है। poc2.sh कमांड प्रतिस्थापन विधि का उपयोग करता है (ध्यान दें, इस विधि का उपयोग करने से पहले फ़ाइलों का बैकअप लें ताकि बाद में फ़ाइलों को पुनर्स्थापित करना मुश्किल न हो)।

root@kitploit:~
# 需要确认定时任务文件存在,不存在可以创建写,但是那样不能触发定时任务
# 只有crontab -e创建的,在crontab组的文件才会被定时执行。
docker build . -t poc1
docker run -it --rm poc1 bash /poc.sh

POC2:

root@kitploit:~
docker build . -t poc2
docker run -it --rm poc2 bash /poc.sh

# 另起一个terminal
/bin/bash.copy

3. भेद्यता सिद्धांत विश्लेषण

पूरी तरह से समझ में नहीं आया, लेकिन पैच के साथ मिलाकर मोटा-मोटा समझ आ सकता है।

docker exec या docker run की प्रक्रिया के दौरान runc का execve फ़ंक्शन कॉल किया जाता है, लेकिन runc exec के दौरान, fd फ़ाइल डिस्क्रिप्टर को बंद नहीं किया जाता है, जिससे होस्ट मशीन के फ़ाइल डिस्क्रिप्टर एक साथ कंटेनर वातावरण में लीक हो जाते हैं। उपयोगकर्ता इस फ़ाइल डिस्क्रिप्टर के माध्यम से होस्ट मशीन की फ़ाइलों को पढ़ और लिख सकता है, जिससे कंटेनर एस्केप पूरा होता है।

4. सुधार योजना/पैच विश्लेषण

सुधार योजना runc को 1.12 या उससे ऊपर के संस्करण में अपग्रेड करें। runc आधिकारिक लिंक: https://github.com/opencontainers/runc/releases

पैच विश्लेषण diff कमिट: https://github.com/opencontainers/runc/commit/2a4ed3e75b9e80d93d1836a9c4c1ebfa2b78870e execve से पहले आंतरिक fds को तुरंत बंद करें init_linux.go, chdir के बाद सत्यापित करें कि cwd (वर्तमान कार्य निर्देशिका) कंटेनर के अंदर है या नहीं

F. संदर्भ लिंक

  1. भेद्यता विवरण: https://github.com/opencontainers/runc/security/advisories/GHSA-xr7r-f8xq-vfvv
  2. पैच: https://github.com/opencontainers/runc/commit/2a4ed3e75b9e80d93d1836a9c4c1ebfa2b78870e
टूल डाउनलोड करें