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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2021-3560-Polkit-Privilege-Esclation — स्वचालित Bash PoC CVE-2021-3560 polkit विशेषाधिकार वृद्धि के लिए। dbus समय हमले का शोषण करके एक sudo उपयोगकर्ता को इंजेक्ट करता है और कमजोर Linux वितरणों पर root शेल प्राप्त करता है। | Kitploit
उपकरण/GitHubGitHub/secnigma/cve-2021-3560-polkit-privilege-esclation
विशेषाधिकार वृद्धिभेद्यता विश्लेषणशोषणपेनिट्रेशन टेस्टिंगप्रमाणीकरण
GitHubsecnigma/cve-2021-3560-polkit-privilege-esclation

CVE-2021-3560-Polkit-Privilege-Esclation

स्वचालित Bash PoC CVE-2021-3560 polkit विशेषाधिकार वृद्धि के लिए। dbus समय हमले का शोषण करके एक sudo उपयोगकर्ता को इंजेक्ट करता है और कमजोर Linux वितरणों पर root शेल प्राप्त करता है।

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें
रिपॉजिटरी देखें
124513 साल पहलेKitploit द्वारा समीक्षित

CVE-2021-3560-Polkit-Privilege-Esclation PoC

मूल शोध केविन बैकहाउस द्वारा

यह केवल एक Bash PoC स्क्रिप्ट है, जो केविन बैकहाउस के ब्लॉग में उल्लिखित शोषण चरणों को स्वचालित करती है। इस भेद्यता के बारे में उनकी पोस्ट पढ़ें: https://github.blog/2021-06-10-privilege-escalation-polkit-root-on-linux-with-bug/

उपयोग

root@kitploit:~
प्रयोग:
     ./poc.sh
     -h --help
     -u=सम्मिलित करने के लिए कस्टम उपयोगकर्ता नाम दर्ज करें (वैकल्पिक)
     -p=सम्मिलित करने के लिए कस्टम पासवर्ड दर्ज करें (वैकल्पिक)
     -f=y, भेद्यता जाँच छोड़ने और शोषण को बलपूर्वक करने के लिए (वैकल्पिक)
     -t=स्वचालित पहचान के बजाय कस्टम स्लीप टाइम दर्ज करें (वैकल्पिक)
     समय दर्ज करने का प्रारूप: '-t=.004' या '-t=0.004' यदि आप स्लीप टाइम 0.004ms सेट करना चाहते हैं
नोट:
एक विकल्प निर्दिष्ट करने के बाद बराबर का चिह्न (=) अनिवार्य है।
यदि आप विकल्प निर्दिष्ट नहीं करते हैं, तो स्क्रिप्ट स्वचालित रूप से संभावित समय का पता लगाएगी और
उस समय का उपयोग करके एक नया उपयोगकर्ता सम्मिलित करने का प्रयास करेगी।
डिफ़ॉल्ट क्रेडेंशियल्स 'secnigma:secnigmaftw' हैं।
यदि शोषण सफलतापूर्वक चलता है, तो आप 'su - secnigma' का उपयोग करके लॉगिन कर सकते हैं
और 'sudo bash' का उपयोग करके एक रूट शेल प्राप्त कर सकते हैं

ध्यान देने वाली बातें:

  • यह शोषण केवल उन वितरणों पर काम करता है जिनमें accountsservice और gnome-control-center स्थापित हैं, और इसमें polkit संस्करण 0.113 (या बाद का) या 0-105-26 (polkit का Debian फ़ोर्क) होना चाहिए।
  • इस शोषण का परीक्षण Ubuntu 20.04 पर polkit संस्करण 0-105-26 (polkit का Debian फ़ोर्क) और Centos 8 पर polkit संस्करण 0.115 के साथ किया गया था। यदि आप सुनिश्चित हैं कि आपका लक्ष्य भेद्य है, लेकिन शोषण की जाँच फ़ंक्शन विफल हो जाती है, तो सभी जाँचों को बायपास करने और शोषण को बलपूर्वक करने के लिए -f=y फ़्लैग का उपयोग करें।
  • RHEL 8, Fedora 21, Debian testing ("bullseye") और Ubuntu 20.04 जैसे वितरण भेद्य पाए गए हैं।
  • वितरण संगतता की सूची केविन के ब्लॉग से प्राप्त की जा सकती है।

शोषण कैसे काम करता है?

शोधकर्ता के ब्लॉग पर इस भेद्यता का विस्तृत विवरण और इसे मैन्युअल रूप से शोषित करने का PoC दिया गया है।

TL;DR नीचे दिया गया है:

  • इस हमले के लिए सटीक समय की आवश्यकता होती है और हमें SSH (या कुछ कमांड लाइन सत्र) के माध्यम से लॉगिन करना होता है, जहां ग्राफिकल एप्लिकेशन खोलना संभव नहीं है।
  • एक हमलावर polkit को एक dbus संदेश भेजकर इस भेद्यता का शोषण कर सकता है, लेकिन polkit द्वारा अनुरोध प्रसंस्करण के दौरान अचानक अनुरोध को बंद कर देता है। फिर हमलावर पिछले अनुरोध के अद्वितीय बस पहचानकर्ता के साथ दूसरा अनुरोध भेज सकता है, ताकि अनुरोध को UID 0 उर्फ root के रूप में निष्पादित किया जा सके।
  • यह भेद्यता polkit में मौजूद है, क्योंकि यह एक बस पहचानकर्ता के साथ कनेक्शन के UID को, जो अब मौजूद नहीं है, UID 0 से अनुरोध के रूप में मानता है। इसका मतलब है कि यदि हम हमले को सही समय पर कर सकते हैं और अपने पहले अनुरोध को सही क्षण पर समाप्त कर सकते हैं, तो हम UID 0 उर्फ root के विशेषाधिकारों के साथ दूसरा अनुरोध कर सकते हैं।
  • कनेक्शन को समाप्त करने का समय dbus-संदेश भेजने के लिए आवश्यक समय / 2 के रूप में गणना की जाती है। विस्तृत विवरण यहाँ दिया गया है।

यह स्क्रिप्ट वास्तव में क्या करती है?

जैसा कि मैंने पहले कहा, यह सिर्फ एक bash स्क्रिप्ट है जो केविन बैकहाउस के PoC को स्वचालित करती है। मुख्य कमांड समान हैं; मैंने बस कुछ प्रारंभिक चरणों को स्वचालित किया है (जैसे समय सही करना, भेद्यता स्कैन करना, कस्टम क्रेडेंशियल्स सम्मिलित करना, सुंदर रंग प्रिंट करना आदि)।

यदि यह स्क्रिप्ट बिना किसी पैरामीटर के चलाई जाती है, तो इस स्क्रिप्ट का डिफ़ॉल्ट व्यवहार इस प्रकार है:

  • वितरण प्रकार की जाँच करें। [/etc/os-release फ़ाइल का उपयोग करके]
  • accountservice और gnome-control-center की स्थापना की जाँच करें। [rhel/centos/fedora में, rpm -qa का उपयोग करता है और debian/ubuntu वितरणों में, यह dpkg -l का उपयोग करता है]।
  • यदि स्थापनाएँ पाई जाती हैं, तो स्क्रिप्ट polkit संस्करण की जाँच करती है। [rhel,centos,fedora के लिए 0.113 (या बाद का) और Debian/Ubuntu के लिए 0-105-26]
  • यदि polkit संस्करण भेद्य पाया जाता है, तो स्क्रिप्ट शोषण शुरू करती है
  • पहले, स्क्रिप्ट bash time dbus-send --system --dest=org.freedesktop.Accounts --type=method_call --print-reply /org/freedesktop/Accounts org.freedesktop.Accounts.CreateUser string:`echo $username` string:"`echo $username`" int32:1 2>&1 >/dev/null जारी करके debus-send का उपयोग करके अनुरोध भेजने के लिए आवश्यक समय का पता लगाती है।
टूल डाउनलोड करें
  • यह स्क्रिप्ट sudo समूह में एक नया उपयोगकर्ता इंजेक्ट करती है। यदि शोषण काम करता है, तो हम स्क्रिप्ट को दिए गए पासवर्ड के साथ su - <उपयोगकर्ता_नाम> का उपयोग करके खाते में लॉगिन कर सकते हैं, और फिर रूट शेल में जाने के लिए sudo bash दर्ज कर सकते हैं!
  • चूंकि यह हमला सटीक समय पर निर्भर करता है, इसलिए इस शोषण के काम करने के लिए आमतौर पर कई प्रयासों की आवश्यकता होती है।
  • चेतावनी: इस स्क्रिप्ट को ग्राफिकल लॉगिन में न चलाएं!
  • यदि यह स्क्रिप्ट ग्राफिकल लॉगिन वातावरण में चलाई जाती है, तो लूप बार-बार polkit प्रमाणीकरण प्रॉम्प्ट को पॉप करता रहेगा। इसलिए, इस शोषण को केवल SSH/NC शेल के अंदर चलाएं।
  • यदि ऐसा होता है, तो प्रमाणीकरण प्रॉम्प्ट को बंद करने के लिए Esc कुंजी दबाएं और स्क्रिप्ट को तुरंत समाप्त करने के लिए Ctrl+C दबाएं।
  • फिर, अनुरोध को समाप्त करने का समय ($t) अनुरोध के लिए आवश्यक समय को 2 से विभाजित करके गणना की जाती है। ($t=अनुरोध के लिए आवश्यक समय/2) [awk का उपयोग करके गणना की गई]
  • समय ($t) की गणना के बाद, लक्ष्य में $username secnigma सम्मिलित करने का अनुरोध 20 बार दोहराया जाता है। bash dbus-send --system --dest=org.freedesktop.Accounts --type=method_call --print-reply /org/freedesktop/Accounts org.freedesktop.Accounts.CreateUser string:`echo $username` string:"`echo $username`" int32:1 & sleep `echo $t`s ; kill $!
  • यदि उपयोगकर्ता सम्मिलन सफल होता है, [id secnigma का उपयोग करके पाया गया], तो एक पासवर्ड हैश उत्पन्न किया जाता है [bash openssl passwd -5 `echo -n $password` का उपयोग करके]। ($password=secnigmaftw)
  • फिर पासवर्ड हैश सम्मिलन कमांड 20 बार निष्पादित किया जाता है। bash dbus-send --system --dest=org.freedesktop.Accounts --type=method_call --print-reply /org/freedesktop/Accounts/User`echo $u_id` org.freedesktop.Accounts.User.SetPassword string:`echo -n $hash1` string:GoldenEye & sleep `echo $ti`s ; kill $!