Interesting Groups - Linux Privesc
Last updated
Last updated
AWS हैकिंग सीखें और अभ्यास करें: HackTricks प्रशिक्षण AWS रेड टीम एक्सपर्ट (ARTE) GCP हैकिंग सीखें और अभ्यास करें: HackTricks प्रशिक्षण GCP रेड टीम एक्सपर्ट (GRTE)
कभी-कभी, डिफ़ॉल्ट रूप से (या क्योंकि कुछ सॉफ़्टवेयर की आवश्यकता होती है) /etc/sudoers फ़ाइल के अंदर आप इन पंक्तियों में से कुछ पा सकते हैं:
इसका मतलब है कि किसी भी उपयोगकर्ता जो सूडो या एडमिन समूह में शामिल है, वह सूडो के रूप में कुछ भी चला सकता है।
यदि ऐसा है, तो रूट बनने के लिए आप बस निम्नलिखित को चला सकते हैं:
सभी suid बाइनरी खोजें और जांचें कि क्या बाइनरी Pkexec है:
यदि आपको पता चलता है कि बाइनरी pkexec एक SUID बाइनरी है और आप sudo या admin समूह में शामिल हैं, तो आप pkexec
का उपयोग करके बाइनरी को सुडो के रूप में चला सकते हैं।
यह इसलिए है क्योंकि आम तौर पर ये समूह polkit नीति के अंदर होते हैं। यह नीति मुख्य रूप से पहचानती है कि कौन-कौन से समूह pkexec
का उपयोग कर सकते हैं। इसे जांचें:
वहां आपको मिलेगा कि कौन से समूहों को pkexec और डिफ़ॉल्ट में कुछ लिनक्स डिस्ट्रो में समूह sudo और admin को निषेधित किया गया है।
रूट बनने के लिए आप निम्नलिखित को चला सकते हैं:
यदि आप pkexec को execute करने का प्रयास करते हैं और आपको यह त्रुटि मिलती है:
यह इसलिए नहीं है कि आपके पास अनुमतियाँ नहीं हैं, बल्कि इसलिए कि आप GUI के बिना कनेक्ट नहीं हैं। और इस मुद्दे का एक काम करने का तरीका यहाँ है: https://github.com/NixOS/nixpkgs/issues/18012#issuecomment-335350903। आपको 2 अलग-अलग ssh सत्र की आवश्यकता है:
कभी-कभी, डिफ़ॉल्ट रूप से /etc/sudoers फ़ाइल के अंदर आप यह पंक्ति पा सकते हैं:
इसका मतलब है कि कोई भी उपयोगकर्ता जो समूह wheel में शामिल है, वह सुडो के रूप में कुछ भी चला सकता है।
यदि ऐसा है, तो रूट बनने के लिए आप बस निम्नलिखित को चला सकते हैं:
शैडो ग्रुप से उपयोगकर्ता /etc/shadow फ़ाइल पढ़ सकते हैं:
So, फ़ाइल पढ़ें और कुछ हैश क्रैक करने का प्रयास करें।
staff: उपयोगकर्ताओं को बिना रूट विशेषाधिकारों की आवश्यकता के साथ सिस्टम (/usr/local
) में स्थानीय संशोधन जोड़ने की अनुमति देता है (नोट करें कि /usr/local/bin
में निर्वाचनीय हैं, और वे "/bin" और "/usr/bin" में उसी नाम के निर्वाचनीय को "रीडायरेक्ट" कर सकते हैं)। जिसका संबंध अधिक से अधिक मॉनिटरिंग/सुरक्षा से है। [स्रोत]
डेबियन वितरणों में, $PATH
चर मान दिखाता है कि /usr/local/
सबसे उच्च प्राथमिकता के रूप में चलाया जाएगा, चाहे आप विशेषाधिकारी उपयोगकर्ता हों या न हों।
यदि हम /usr/local
में कुछ कार्यक्रमों को हाइजैक कर सकते हैं, तो हम आसानी से रूट अकाउंट प्राप्त कर सकते हैं।
run-parts
कार्यक्रम को हाइजैक करना रूट प्राप्त करने का एक आसान तरीका है, क्योंकि अधिकांश कार्यक्रम run-parts
की तरह चलाए जाएंगे (क्रॉनटैब, जब एसएसएच लॉगिन हो)।
या जब एक नई ssh सत्र लॉगिन हो।
शारीरिक या दाखिले करने की क्रिया
यह विशेषाधिकार लगभग रूट एक्सेस के समान है क्योंकि आप मशीन के अंदर सभी डेटा तक पहुंच सकते हैं।
फ़ाइलें: /dev/sd[a-z][1-9]
नोट करें कि debugfs का उपयोग करके आप फ़ाइलें लिख सकते हैं। उदाहरण के लिए /tmp/asd1.txt
को /tmp/asd2.txt
में कॉपी करने के लिए आप निम्नलिखित कर सकते हैं:
हालांकि, अगर आप रूट के स्वामित्व वाली फ़ाइलें लिखने की कोशिश करें (जैसे /etc/shadow
या /etc/passwd
) तो आपको "अनुमति नामंजूर" त्रुटि आएगी।
w
कमांड का उपयोग करके आप सिस्टम पर कौन लॉग इन है यह पता लगा सकते हैं और यह निम्नलिखित तरह का आउटपुट दिखाएगा:
tty1 का मतलब है कि उपयोगकर्ता yossi शारीरिक रूप से मशीन पर एक टर्मिनल में लॉग इन हैं।
वीडियो समूह को स्क्रीन आउटपुट देखने का अधिकार है। मूल रूप से आप स्क्रीन की वर्तमान छवि को रॉ डेटा में पकड़ सकते हैं और जांच सकते हैं कि स्क्रीन कौन सी रिज़ॉल्यूशन का उपयोग कर रही है। स्क्रीन डेटा को /dev/fb0
में सहेजा जा सकता है और आप इस स्क्रीन की रिज़ॉल्यूशन को /sys/class/graphics/fb0/virtual_size
पर पा सकते हैं।
खोलने के लिए रॉ इमेज का उपयोग करें आप GIMP का उपयोग कर सकते हैं, screen.raw
फ़ाइल का चयन करें और फ़ाइल प्रकार के रूप में रॉ इमेज डेटा का चयन करें:
फिर चौड़ाई और ऊचाई को स्क्रीन पर उपयोग किए जाने वाले वाले को बदलें और विभिन्न छवि प्रकारों की जांच करें (और उसे चुनें जो स्क्रीन को बेहतर दिखाता है):
ऐसा लगता है कि डिफ़ॉल्ट रूप समूह के सदस्य को कुछ सेवा कॉन्फ़िगरेशन फ़ाइल्स या कुछ लाइब्रेरी फ़ाइल्स या अन्य दिलचस्प चीजें तक पहुंच हो सकती है जिनका उपयोग वर्चस्व उन्नति करने के लिए किया जा सकता है...
जांचें कि रूट सदस्य कौन-कौन सी फ़ाइलें संशोधित कर सकते हैं:
आप मेज़बान मशीन के रूट फ़ाइल सिस्टम को एक इंस्टेंस के वॉल्यूम में माउंट कर सकते हैं, इसलिए जब इंस्टेंस शुरू होता है तो वह तुरंत उस वॉल्यूम में chroot
लोड करता है। यह आपको मशीन पर रूट देता है।
सामान्यतः समूह के सदस्य को adm
के अनुमतियाँ होती हैं /var/log/_ में स्थित लॉग फ़ाइलें पढ़ने के लिए।
इसलिए, यदि आप इस समूह के अंदर किसी उपयोगकर्ता को कंप्रमाइज़ कर चुके हैं तो आपको निश्चित रूप से लॉग्स की ओर देखना चाहिए।
OpenBSD के अंदर auth समूह आम तौर पर यदि उपयोग किए जाते हैं तो फ़ोल्डर /etc/skey और /var/db/yubikey में लिख सकते हैं। इन अनुमतियों का उपयोग निम्नलिखित एक्सप्लॉइट के साथ किया जा सकता है विशेषाधिकारों को उन्नत करने के लिए: https://raw.githubusercontent.com/bcoles/local-exploits/master/CVE-2019-19520/openbsd-authroot