Interesting Groups - Linux Privesc
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
कभी-कभी, डिफ़ॉल्ट रूप से (या क्योंकि कुछ सॉफ़्टवेयर को इसकी आवश्यकता होती है) /etc/sudoers फ़ाइल के अंदर आप इनमें से कुछ पंक्तियाँ पा सकते हैं:
यह मतलब है कि कोई भी उपयोगकर्ता जो sudo या admin समूह का सदस्य है, वह sudo के रूप में कुछ भी निष्पादित कर सकता है।
यदि ऐसा है, तो रूट बनने के लिए आप बस निष्पादित कर सकते हैं:
सभी suid बाइनरी खोजें और जांचें कि क्या बाइनरी Pkexec है:
यदि आप पाते हैं कि बाइनरी pkexec एक SUID बाइनरी है और आप sudo या admin में हैं, तो आप शायद pkexec
का उपयोग करके बाइनरी को sudo के रूप में निष्पादित कर सकते हैं।
यह इसलिए है क्योंकि आमतौर पर ये polkit नीति के अंदर समूह होते हैं। यह नीति मूल रूप से पहचानती है कि कौन से समूह pkexec
का उपयोग कर सकते हैं। इसे जांचें:
वहाँ आप पाएंगे कि कौन से समूह pkexec निष्पादित करने की अनुमति रखते हैं और डिफ़ॉल्ट रूप से कुछ लिनक्स वितरणों में समूह sudo और admin प्रकट होते हैं।
रूट बनने के लिए आप निष्पादित कर सकते हैं:
यदि आप pkexec निष्पादित करने की कोशिश करते हैं और आपको यह त्रुटि मिलती है:
यह इसलिए नहीं है कि आपके पास अनुमतियाँ नहीं हैं बल्कि इसलिए कि आप GUI के बिना जुड़े नहीं हैं। और इस समस्या का एक समाधान यहाँ है: https://github.com/NixOS/nixpkgs/issues/18012#issuecomment-335350903। आपको 2 अलग ssh सत्र की आवश्यकता है:
कभी-कभी, डिफ़ॉल्ट रूप से /etc/sudoers फ़ाइल के अंदर आप यह पंक्ति पा सकते हैं:
यह मतलब है कि कोई भी उपयोगकर्ता जो व्हील समूह का सदस्य है, वह sudo के रूप में कुछ भी निष्पादित कर सकता है।
यदि ऐसा है, तो रूट बनने के लिए आप बस निष्पादित कर सकते हैं:
shadow समूह के उपयोगकर्ता /etc/shadow फ़ाइल को पढ़ सकते हैं:
So, read the file and try to crack some hashes.
staff: उपयोगकर्ताओं को सिस्टम में स्थानीय संशोधन जोड़ने की अनुमति देता है (/usr/local
) बिना रूट विशेषाधिकार की आवश्यकता के (ध्यान दें कि /usr/local/bin
में निष्पादन योग्य फ़ाइलें किसी भी उपयोगकर्ता के PATH वेरिएबल में हैं, और वे समान नाम वाली /bin
और /usr/bin
में निष्पादन योग्य फ़ाइलों को "ओवरराइड" कर सकती हैं)। "adm" समूह की तुलना करें, जो निगरानी/सुरक्षा से अधिक संबंधित है। [source]
डेबियन वितरणों में, $PATH
वेरिएबल दिखाता है कि /usr/local/
उच्चतम प्राथमिकता के रूप में चलाया जाएगा, चाहे आप विशेषाधिकार प्राप्त उपयोगकर्ता हों या नहीं।
यदि हम /usr/local
में कुछ प्रोग्रामों को हाईजैक कर सकते हैं, तो हम आसानी से रूट प्राप्त कर सकते हैं।
run-parts
प्रोग्राम को हाईजैक करना रूट प्राप्त करने का एक आसान तरीका है, क्योंकि अधिकांश प्रोग्राम run-parts
को चलाएंगे जैसे (क्रॉनटैब, जब ssh लॉगिन)।
या जब एक नया ssh सत्र लॉगिन होता है।
शोषण
यह विशेषाधिकार लगभग रूट एक्सेस के बराबर है क्योंकि आप मशीन के अंदर सभी डेटा तक पहुँच सकते हैं।
Files:/dev/sd[a-z][1-9]
ध्यान दें कि debugfs का उपयोग करके आप फाइलें लिख भी सकते हैं। उदाहरण के लिए, /tmp/asd1.txt
को /tmp/asd2.txt
में कॉपी करने के लिए आप कर सकते हैं:
हालांकि, यदि आप रूट द्वारा स्वामित्व वाले फ़ाइलें लिखने की कोशिश करते हैं (जैसे /etc/shadow
या /etc/passwd
), तो आपको "अनुमति अस्वीकृत" त्रुटि मिलेगी।
कमांड w
का उपयोग करके आप जान सकते हैं कि सिस्टम पर कौन लॉग इन है और यह निम्नलिखित आउटपुट दिखाएगा:
The tty1 का मतलब है कि उपयोगकर्ता yossi शारीरिक रूप से मशीन पर एक टर्मिनल में लॉग इन है।
वीडियो समूह को स्क्रीन आउटपुट देखने की अनुमति है। मूल रूप से आप स्क्रीन को देख सकते हैं। ऐसा करने के लिए, आपको स्क्रीन पर वर्तमान छवि को कच्चे डेटा में प्राप्त करना होगा और यह जानना होगा कि स्क्रीन किस रिज़ॉल्यूशन का उपयोग कर रही है। स्क्रीन डेटा को /dev/fb0
में सहेजा जा सकता है और आप इस स्क्रीन का रिज़ॉल्यूशन /sys/class/graphics/fb0/virtual_size
पर पा सकते हैं।
To open the raw image you can use GIMP, select the **screen.raw
** file and select as file type Raw image data:
Then modify the Width and Height to the ones used on the screen and check different Image Types (and select the one that shows better the screen):
ऐसा लगता है कि डिफ़ॉल्ट रूप से रूट समूह के सदस्य कुछ सेवा कॉन्फ़िगरेशन फ़ाइलों या कुछ लाइब्रेरी फ़ाइलों या अन्य दिलचस्प चीजों को संशोधित करने तक पहुँच प्राप्त कर सकते हैं, जिन्हें विशेषाधिकार बढ़ाने के लिए उपयोग किया जा सकता है...
जांचें कि रूट सदस्य कौन सी फ़ाइलें संशोधित कर सकते हैं:
आप होस्ट मशीन के रूट फ़ाइल सिस्टम को एक इंस्टेंस के वॉल्यूम में माउंट कर सकते हैं, इसलिए जब इंस्टेंस शुरू होता है, तो यह तुरंत उस वॉल्यूम में chroot
लोड करता है। यह प्रभावी रूप से आपको मशीन पर रूट देता है।
अंत में, यदि आपको पहले के किसी भी सुझाव पसंद नहीं हैं, या वे किसी कारण से काम नहीं कर रहे हैं (docker api firewall?) तो आप हमेशा एक विशेषाधिकार प्राप्त कंटेनर चलाने और उससे भागने की कोशिश कर सकते हैं जैसा कि यहां समझाया गया है:
Docker Securityयदि आपके पास docker socket पर लिखने की अनुमति है तो इस पोस्ट को पढ़ें कि कैसे docker socket का दुरुपयोग करके विशेषाधिकार बढ़ाएं।
आमतौर पर adm
समूह के सदस्यों के पास /var/log/ में स्थित लॉग फ़ाइलों को पढ़ने की अनुमति होती है।
इसलिए, यदि आपने इस समूह के भीतर एक उपयोगकर्ता को समझौता किया है, तो आपको निश्चित रूप से लॉग्स पर नज़र डालनी चाहिए।
OpenBSD के अंदर auth समूह आमतौर पर /etc/skey और /var/db/yubikey फ़ोल्डरों में लिख सकता है यदि उनका उपयोग किया जाता है। इन अनुमतियों का दुरुपयोग निम्नलिखित शोषण के साथ विशेषाधिकार बढ़ाने के लिए किया जा सकता है: https://raw.githubusercontent.com/bcoles/local-exploits/master/CVE-2019-19520/openbsd-authroot
AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE) GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE)