Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2021-4034 — मैंने शैक्षिक उद्देश्यों के लिए आम बोलचाल में Pwnkit कहलाने वाली कमज़ोरी का विश्लेषण किया है और इसके लिए एक PoC लिखा है। इसका उपयोग केवल शैक्षिक उद्देश्यों के लिए ही करें | Kitploit
उपकरण/GitHubGitHub/eshkoreee/cve-2021-4034
विशेषाधिकार वृद्धिशोषणलर्निंग और शिक्षापेलोड डेवलपमेंटबाइनरी शोषण
GitHubeshkoreee/cve-2021-4034

CVE-2021-4034

मैंने शैक्षिक उद्देश्यों के लिए आम बोलचाल में Pwnkit कहलाने वाली कमज़ोरी का विश्लेषण किया है और इसके लिए एक PoC लिखा है। इसका उपयोग केवल शैक्षिक उद्देश्यों के लिए ही करें

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

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

सभी देखें →

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

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

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

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

CVE-2021-4034 (PwnKit) PoC

अस्वीकरण: यह सामग्री केवल शैक्षिक उद्देश्यों के लिए प्रदान की गई है। लक्ष्य सिस्टम के स्वामी की लिखित सहमति के बिना एक्सप्लॉइट का उपयोग अनैतिक है और इस पर कानूनी कार्रवाई की जा सकती है।

इंस्टॉलेशन और निष्पादन

  1. रिपॉज़िटरी को लक्ष्य मशीन पर क्लोन करें।
  2. बिल्ड स्क्रिप्ट को निष्पादन अधिकार दें: chmod +x build.sh।
  3. बिल्ड चलाएँ: ./build.sh।
  4. एक्सप्लॉइट निष्पादित करें: ./mls_envp। आपको root एक्सेस प्राप्त हो जाएगा।

भेद्यता का सार

polkit के भेद्य संस्करण (0.105) में, लेखक डेविड ज़ॉइटन ने मान लिया था कि pkexec को हमेशा कंसोल से ही कॉल किया जाएगा। उन्होंने यह माना था कि argc (आर्ग्युमेंट्स की संख्या) हमेशा 1 से अधिक होगा, क्योंकि argv[0] स्वयं प्रोग्राम का नाम होता है। हालाँकि, pkexec को सिस्टम कॉल execve के माध्यम से खाली आर्ग्युमेंट ऐरे पास करके भी कॉल किया जा सकता है। इसके कारण प्रोग्राम का लॉजिक टूट जाता है।

1. ऐरे की सीमा से बाहर जाना

pkexec के कोड में यह अपेक्षा कठोरता से अंतर्निहित है कि argv में कम से कम एक एलिमेंट होगा। जब argc 0 होता है, तब भी प्रोग्राम argv[1] तक पहुँचने का प्रयास करता है। इससे argv ऐरे की सीमा से बाहर जाना होता है और envp ऐरे (एनवायरनमेंट वेरिएबल्स) का पहला एलिमेंट पढ़ा जाता है। हमारे मामले में वहाँ स्ट्रिंग "exp_exe" मौजूद है।

2. PATH जाँच का बायपास

pkexec फ़ंक्शन g_find_program_in_path की सहायता से exp_exe प्रोग्राम खोजने का प्रयास करता है। खोज के लिए यह PATH वेरिएबल का उपयोग करता है। हम PATH को GCONV_PATH=. से बदल देते हैं। परिणामस्वरूप pkexec हमारे स्थानीय फ़ोल्डर में डमी फ़ाइल exp_exe पाता है और पथ GCONV_PATH=./exp_exe लौटाता है। argc से जुड़े बग के कारण यह पथ वापस envp[0] में लिख दिया जाता है, जिससे GCONV_PATH वेरिएबल "वैध" हो जाता है।

3. दुर्भावनापूर्ण लाइब्रेरी लोड करना

प्रोग्राम चलाने से पहले pkexec एनवायरनमेंट वेरिएबल्स (जिनमें SHELL भी शामिल है) की जाँच करता है। हम एक अनुपस्थित शेल (SHELL=xyz) पास करते हैं ताकि त्रुटि उत्पन्न हो सके। त्रुटि आउटपुट करते समय log_message को कॉल किया जाता है, जो glibc के तंत्र का उपयोग करता है। Glibc CHARSET=bohemcavanna वेरिएबल को देखता है और मानक कन्वर्टर न मिलने पर GCONV_PATH (जिसे हमने अंदर डाला था) वाली डायरेक्टरी तक पहुँचता है। वहाँ यह gconv-modules फ़ाइल पढ़ता है, हमारी लाइब्रेरी exploit.so लोड करता है और उसके अंदर के कोड को root अधिकारों के साथ निष्पादित करता है।

टूल डाउनलोड करें