Docker सॉकेट का दुरुपयोग करके विशेषाधिकार वृद्धि
Reading time: 4 minutes
tip
AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE)
HackTricks का समर्थन करें
- सदस्यता योजनाएँ देखें!
- हमारे 💬 Discord समूह या टेलीग्राम समूह में शामिल हों या हमारे Twitter 🐦 @hacktricks_live** का पालन करें।**
- हैकिंग ट्रिक्स साझा करें और HackTricks और HackTricks Cloud गिटहब रिपोजिटरी में PRs सबमिट करें।
कुछ अवसर होते हैं जब आपके पास docker सॉकेट तक पहुंच होती है और आप इसका उपयोग विशेषाधिकार बढ़ाने के लिए करना चाहते हैं। कुछ क्रियाएँ बहुत संदिग्ध हो सकती हैं और आप उनसे बचना चाह सकते हैं, इसलिए यहाँ विभिन्न फ्लैग्स हैं जो विशेषाधिकार बढ़ाने में सहायक हो सकते हैं:
माउंट के माध्यम से
आप एक कंटेनर में फाइल सिस्टम के विभिन्न भागों को रूट के रूप में माउंट कर सकते हैं और उन्हें एक्सेस कर सकते हैं।
आप कंटेनर के अंदर विशेषाधिकार बढ़ाने के लिए माउंट का दुरुपयोग भी कर सकते हैं।
-v /:/host
-> कंटेनर में होस्ट फाइल सिस्टम को माउंट करें ताकि आप होस्ट फाइल सिस्टम पढ़ सकें।- यदि आप महसूस करना चाहते हैं कि आप होस्ट में हैं लेकिन कंटेनर में हैं, तो आप फ्लैग्स का उपयोग करके अन्य रक्षा तंत्रों को निष्क्रिय कर सकते हैं जैसे:
--privileged
--cap-add=ALL
--security-opt apparmor=unconfined
--security-opt seccomp=unconfined
-security-opt label:disable
--pid=host
--userns=host
--uts=host
--cgroupns=host
- **
--device=/dev/sda1 --cap-add=SYS_ADMIN --security-opt apparmor=unconfined
** -> यह पिछले तरीके के समान है, लेकिन यहाँ हम डिवाइस डिस्क को माउंट कर रहे हैं। फिर, कंटेनर के अंदरmount /dev/sda1 /mnt
चलाएँ और आप /mnt में होस्ट फाइल सिस्टम को एक्सेस कर सकते हैं। - होस्ट में
fdisk -l
चलाएँ ताकि</dev/sda1>
डिवाइस को माउंट किया जा सके। -v /tmp:/host
-> यदि किसी कारणवश आप केवल कुछ निर्देशिका को होस्ट से माउंट कर सकते हैं और आपके पास होस्ट के अंदर पहुंच है। इसे माउंट करें और माउंट की गई निर्देशिका में/bin/bash
के साथ suid बनाएं ताकि आप इसे होस्ट से निष्पादित कर सकें और रूट तक बढ़ा सकें।
note
ध्यान दें कि शायद आप /tmp
फ़ोल्डर को माउंट नहीं कर सकते लेकिन आप एक विभिन्न लिखने योग्य फ़ोल्डर को माउंट कर सकते हैं। आप लिखने योग्य निर्देशिकाएँ खोजने के लिए: find / -writable -type d 2>/dev/null
का उपयोग कर सकते हैं।
ध्यान दें कि सभी निर्देशिकाएँ लिनक्स मशीन में suid बिट का समर्थन नहीं करेंगी! यह जांचने के लिए कि कौन सी निर्देशिकाएँ suid बिट का समर्थन करती हैं, mount | grep -v "nosuid"
चलाएँ। उदाहरण के लिए आमतौर पर /dev/shm
, /run
, /proc
, /sys/fs/cgroup
और /var/lib/lxcfs
suid बिट का समर्थन नहीं करते हैं।
यह भी ध्यान दें कि यदि आप /etc
या किसी अन्य फ़ोल्डर को कॉन्फ़िगरेशन फ़ाइलों के साथ माउंट कर सकते हैं, तो आप उन्हें रूट के रूप में डॉकर कंटेनर से बदल सकते हैं ताकि आप होस्ट में उनका दुरुपयोग कर सकें और विशेषाधिकार बढ़ा सकें (शायद /etc/shadow
को संशोधित करके)।
कंटेनर से बाहर निकलना
--privileged
-> इस फ्लैग के साथ आप कंटेनर से सभी अलगाव हटा देते हैं। रूट के रूप में विशेषाधिकार प्राप्त कंटेनरों से बाहर निकलने की तकनीकों की जांच करें।--cap-add=<CAPABILITY/ALL> [--security-opt apparmor=unconfined] [--security-opt seccomp=unconfined] [-security-opt label:disable]
-> क्षमताओं का दुरुपयोग करके विशेषाधिकार बढ़ाने के लिए, उस क्षमता को कंटेनर को दें और अन्य सुरक्षा विधियों को निष्क्रिय करें जो शोषण को काम करने से रोक सकती हैं।
कर्ल
इस पृष्ठ पर हमने डॉकर फ्लैग्स का उपयोग करके विशेषाधिकार बढ़ाने के तरीकों पर चर्चा की है, आप पृष्ठ में कर्ल कमांड का उपयोग करके इन तरीकों का दुरुपयोग करने के तरीके पा सकते हैं:
tip
AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE)
HackTricks का समर्थन करें
- सदस्यता योजनाएँ देखें!
- हमारे 💬 Discord समूह या टेलीग्राम समूह में शामिल हों या हमारे Twitter 🐦 @hacktricks_live** का पालन करें।**
- हैकिंग ट्रिक्स साझा करें और HackTricks और HackTricks Cloud गिटहब रिपोजिटरी में PRs सबमिट करें।