
Docker Enumeration, Escalation of Privileges and Container Escapes (DEEPCE)
## .
## ## ## ==
## ## ## ## ===
/"""""""""""""""""\___/ ===
~~~ {~~ ~~~~ ~~~ ~~~~ ~~~ ~ / ===- ~~~
\______ X __/
\ \ __/
\____\_______/
__
____/ /__ ___ ____ ________
/ __ / _ \/ _ \/ __ \/ ___/ _ \ ENUMERATE
/ /_/ / __/ __/ /_/ / (__/ __/ ESCALATE
\__,_/\___/\___/ .___/\___/\___/ ESCAPE
/_/
Docker एन्यूमरेशन, विशेषाधिकार वृद्धि और कंटेनर एस्केप (DEEPCE)
अधिकतम संख्या में कंटेनरों के साथ संगत होने के लिए DEEPCE को बिना किसी डिपेंडेंसी के शुद्ध sh में लिखा गया है। यह उपलब्ध होने पर curl, nmap, nslookup और dig जैसे अतिरिक्त टूल्स का उपयोग करेगा, लेकिन अधिकांशतः यह एन्यूमरेशन के लिए उन पर निर्भर नहीं है।
कोई भी एन्यूमरेशन डिस्क को स्पर्श नहीं करेगा, हालाँकि अधिकांश एक्सप्लॉइट्स नए कंटेनर बनाते हैं जिससे डिस्क पर लेखन होगा, और कुछ एक्सप्लॉइट्स runC को अधिलेखित कर सकते हैं जो विनाशकारी हो सकता है, इसलिए सावधान रहें!
DEEPCE द्वारा उपयोग की जा सकने वाली एन्यूमरेशन, एक्सप्लॉइट्स और पेलोड की सूची के लिए कृपया नीचे देखें। यदि आपके पास और विचार हैं तो कृपया github में कोई issue सबमिट करें!
DEEPCE को निम्नलिखित वन-लाइनर्स में से किसी एक का उपयोग करके होस्ट या कंटेनर पर डाउनलोड किया जा सकता है। टिप: डिस्क को स्पर्श करने से बचने के लिए /dev/shm पर डाउनलोड करें।
wget https://github.com/stealthcopter/deepce/raw/main/deepce.sh
curl -sL https://github.com/stealthcopter/deepce/raw/main/deepce.sh -o deepce.sh
# Or using python requests
python -c 'import requests;print(requests.get("https://github.com/stealthcopter/deepce/raw/main/deepce.sh").content)' > deepce.sh
python3 -c 'import requests;print(requests.get("https://github.com/stealthcopter/deepce/raw/main/deepce.sh").content.decode("utf-8"))' > deepce.sh
यदि आप Deepce और मेरे अन्य प्रोजेक्ट्स के साथ मेरे काम को पसंद करते हैं, तो अब आप सीधे मेरे काम का समर्थन कर सकते हैं! मुझे कॉफी ☕ खरीदकर, आप केवल मेरी कैफीन की ज़रूरतें पूरी नहीं कर रहे हैं – आप मुझे इन ओपन सोर्स प्रोजेक्ट्स को विकसित करने और सुधारने के लिए अधिक समय समर्पित करने में मदद कर रहे हैं। हर कॉफी मायने रखती है और साइबर सुरक्षा की दुनिया में और अधिक नवाचार लाती है। आपके समर्थन के लिए धन्यवाद – यह मेरे और ओपन सोर्स समुदाय के लिए बहुत मायने रखता है!
अधिक के लिए कृपया docs फ़ोल्डर देखें

निम्नलिखित DEEPCE द्वारा की जाने वाली एन्यूमरेशन की सूची है।
ऊपर दिए गए प्रत्येक एक्सप्लॉइट के लिए होस्ट सिस्टम का शोषण करने हेतु पेलोड परिभाषित किए जा सकते हैं। इनमें शामिल हैं:
# Make the script executable and then run it
chmod +x ./deepce.sh
./deepce.sh
निम्न उदाहरण दर्शाते हैं कि किस प्रकार के एक्सप्लॉइट किए जा सकते हैं और उपलब्ध पेलोड क्या हैं।
./deepce.sh --no-enumeration --exploit PRIVILEGED --username deepce --password deepce
/etc/shadow की सामग्री प्रिंट करने के लिए एक राइटेबल docker sock फ़ाइल का शोषण करें:./deepce.sh --no-enumeration --exploit SOCK --shadow
./deepce.sh --no-enumeration --exploit DOCKER --command "whoami>/tmp/hacked"
डिस्क को स्पर्श किए बिना deepce को डाउनलोड करके चलाना संभव है, हालाँकि आप आसानी से आर्ग्युमेंट्स सेट नहीं कर पाएँगे (export का उपयोग करके वेरिएबल्स का सीधा हेरफेर संभव है)।
wget -O - https://github.com/stealthcopter/deepce/raw/main/deepce.sh | sh
curl -sL https://github.com/stealthcopter/deepce/raw/main/deepce.sh | sh
इसे लिखते समय मुझे कुछ बेहतरीन कंटेनर एन्यूमरेशन/एस्केप स्क्रिप्ट्स और एन्यूमरेशन टूल्स से प्रेरणा मिली है। हालाँकि, मुझे go / ruby डिपेंडेंसी इंस्टॉल करने या स्टैटिक बाइनरी पर निर्भर रहने से बचने के लिए विशुद्ध रूप से sh में एक लिखने की आवश्यकता महसूस हुई। मैं यह भी पता लगाने के लिए अधिक एन्यूमरेशन करने में सक्षम होना चाहता था कि डोकर कंटेनर क्या है, क्योंकि परीक्षण के दौरान हम किसी अज्ञात कंटेनर के अंदर पहुँच सकते हैं। इस स्क्रिप्ट द्वारा एन्यूमरेट की जा सकने वाली चीज़ों की संख्या मुझसे बढ़ती चली गई क्योंकि हर बार जब मैं कुछ नया जोड़ता था, तो मैं और अधिक चीज़ों के बारे में सोचता था जिन्हें जोड़ सकता था।
Docker सुरक्षा युक्तियों की तलाश करने वाले डेवलपर्स https://github.com/OWASP/CheatSheetSeries/blob/master/cheatsheets/Docker_Security_Cheat_Sheet.md
मैं पुल रिक्वेस्ट्स, issues और प्रतिक्रिया का स्वागत करता हूँ।