
needrestart (CVE-2024-48990) के लिए स्थानीय विशेषाधिकार वृद्धि शोषण
इस रिपॉज़िटरी में needrestart (CVE-2024-48990) में एक भेद्यता को लक्षित करने वाला एक न्यूनतम स्थानीय विशेषाधिकार वृद्धि एक्सप्लॉइट शामिल है।
यह भेद्यता -c कॉन्फ़िगरेशन विकल्प का दुरुपयोग करके रूट के रूप में मनमाना Perl कोड निष्पादन की अनुमति देती है, जिसे विशेषाधिकार प्राप्त संदर्भ में पार्स और निष्पादित किया जाता है।
कई मौजूदा विशेषाधिकार वृद्धि एक्सप्लॉइट्स के लिए कस्टम बाइनरी संकलित करना, अतिरिक्त शेल स्पॉन करना, या इंटरैक्टिव कमांड श्रृंखलाओं पर निर्भर रहना आवश्यक होता है।
यह एक्सप्लॉइट उन आवश्यकताओं से बचने के लिए विकसित किया गया था, जो एक सीधी स्थानीय विशेषाधिकार वृद्धि तकनीक प्रदान करता है जिसके लिए संकलन, अतिरिक्त टूलिंग, या इंटरैक्टिव एडिटर या पेजर के दुरुपयोग की आवश्यकता नहीं होती है। विशेषाधिकार वृद्धि needrestart के विशेषाधिकार प्राप्त कॉन्फ़िगरेशन निष्पादन के माध्यम से SUID-root शेल बनाकर प्राप्त की जाती है।
needrestart Perl में कार्यान्वित है और -c विकल्प के माध्यम से पारित कॉन्फ़िगरेशन फ़ाइलों को रूट विशेषाधिकारों के साथ Perl कोड के रूप में निष्पादित करता है।
system() कॉल वाली एक विशेष रूप से तैयार कॉन्फ़िगरेशन फ़ाइल प्रदान करके, रूट के रूप में मनमाने कमांड निष्पादित किए जा सकते हैं, जिससे स्थानीय विशेषाधिकार वृद्धि होती है।
एक्सप्लॉइट चलाएँ:
python3 needrestart_privesc.py
यदि उपयोगकर्ता को sudo के माध्यम से needrestart निष्पादित करने की अनुमति है, तो स्क्रिप्ट इसे आमंत्रित करेगी और /tmp/bash पर एक SUID-root शेल बनाएगी। यदि sudo को पासवर्ड की आवश्यकता होती है, तो इसे सामान्य रूप से संकेत दिया जाएगा।
सफल निष्पादन पर, एक रूट शेल स्वचालित रूप से स्पॉन किया जाता है।
स्वचालित शेल स्पॉनिंग अक्षम करें:
python3 needrestart_privesc.py --no-shell
निर्मित आर्टिफैक्ट साफ़ करें:
python3 needrestart_privesc.py --cleanup
needrestart निष्पादित करने की अनुमति होनी चाहिए।यह कोड केवल शैक्षिक और अनुसंधान उद्देश्यों के लिए प्रदान किया गया है।