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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2023-28218 — CVE-2023-28218 के लिए विस्तृत तकनीकी विश्लेषण और प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट, AFD.sys ड्राइवर में विंडोज कर्नेल विशेषाधिकार वृद्धि कमजोरी, एक्सप्लॉइटेशन वॉकथ्रू और पैच विश्लेषण के साथ। | Kitploit
उपकरण/GitHubGitHub/h1bana/cve-2023-28218
विशेषाधिकार वृद्धिभेद्यता विश्लेषणशोषणलर्निंग और शिक्षाबाइनरी शोषण
GitHubh1bana/cve-2023-28218

CVE-2023-28218

CVE-2023-28218 के लिए विस्तृत तकनीकी विश्लेषण और प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट, AFD.sys ड्राइवर में विंडोज कर्नेल विशेषाधिकार वृद्धि कमजोरी, एक्सप्लॉइटेशन वॉकथ्रू और पैच विश्लेषण के साथ।

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

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

सभी देखें →

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

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

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

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

Report CVE-2023-28218

Bug अवलोकन

यह बग Windows kernel में विशेषाधिकार वृद्धि (privilege escalation) का कारण बनता है। यह बग ड्राइवर Windows Ancillary Function Driver for WinSock (AFD.sys) में मौजूद है। यह बग 11/04/2023 के पैच में जारी किया गया था। इसका CVSS:3.1 7.0 / 6.1 स्कोर है और इसे Important के रूप में मूल्यांकित किया गया है।

Bug विवरण

  • त्रुटि का प्रकार: Double fetch और Integer overflow जो pool overflow की ओर ले जाता है।
  • त्रुटि Afd!AfdComputeCMSGLength और Afd!AfdCopyCMSGBuffer फ़ंक्शन में होती है। img1

ये दोनों फ़ंक्शन इनपुट पैरामीटर के रूप में v82 प्राप्त करते हैं। v82 एक पता है जो usermode द्वारा नियंत्रित होता है। Afd!AfdComputeCMSGLength फ़ंक्शन में, इस पते को सीधे संदर्भित किया जाता है ताकि इसका मान प्राप्त किया जा सके। फिर CMSG बफर की लंबाई की गणना की जाती है और वापस किया जाता है। इसके बाद इस आकार के अनुसार एक पूल आवंटित किया जाता है। दो इनपुट पैरामीटर a1 और a2 को नियंत्रित करके, हम a3 पैरामीटर में लौटाए जाने वाले आकार को नियंत्रित कर सकते हैं। img2

Afd!AfdCopyCMSGBuffer फ़ंक्शन में, पता v82 को सीधे संदर्भित करके मान प्राप्त किया जाता है। कुछ जाँचों के बाद, यह मान memmove ऑपरेशन के आकार के रूप में उपयोग किया जाता है। img3

इस फ़ंक्शन में एक Integer overflow त्रुटि है, और इस तथ्य के साथ कि दोनों फ़ंक्शन usermode पक्ष के पते से सीधे fetch करते हैं, हम रनटाइम पर इसका मान बदल सकते हैं। इससे memmove के लिए एक बहुत बड़ा आकार बनता है। जब एक दुर्गम मेमोरी क्षेत्र में कॉपी किया जाता है, तो try-catch होता है। लेकिन पिछले क्षेत्रों की कॉपी पहले हो चुकी होती है। इसके माध्यम से हम अपने इच्छित आकार से कॉपी कर सकते हैं। img4

  • poc को ट्रिगर करने के लिए, पहले एक socket बनाना होगा जिसका पैरामीटर type SOCK_DGRAM हो। फिर इस socket के हैंडल का उपयोग करके bind फ़ंक्शन को कॉल करें। अंत में, दो थ्रेड बनाएं, एक थ्रेड DeviceControl को IOCTL 0x120D3 के साथ बार-बार कॉल करेगा। कुछ जाँचों को बायपास करने के लिए उपयुक्त userbuffer सेट करें। दूसरा थ्रेड usermode पते पर संग्रहीत मान को लगातार बदलता रहेगा जो ऊपर बताए गए दोनों फ़ंक्शनों के लिए पैरामीटर है।

शोषण (Exploitation)

  • इस त्रुटि के साथ, हम एक non-paged NX पूल को पूरी तरह से नियंत्रित आकार और डेटा से usermode पक्ष से overflow कर सकते हैं।
  • शोषण की दिशा यह होगी कि बहुत सारे Namedpipe ऑब्जेक्ट्स को स्प्रे करें, फिर कुछ ऑब्जेक्ट्स को मुक्त (free) करके हीप में छेद (holes) बनाएं। फिर, Afd!AfdComputeCMSGLength फ़ंक्शन से आकार की गणना करने के बाद पूल बनाएं, यह आकार Namedpipe ऑब्जेक्ट के आकार के समान होना चाहिए। तब पूल उन ऑब्जेक्ट्स में आवंटित होगा जो अभी मुक्त किए गए थे। बग का उपयोग करके आसन्न Namedpipe ऑब्जेक्ट्स को overflow करें, और इससे Namedpipe के तंत्र का उपयोग करके कर्नेल मेमोरी पर read/write अधिकार प्राप्त करें। सिस्टम प्रक्रिया का टोकन पढ़ें और फिर वर्तमान प्रक्रिया के टोकन में लिखें।

प्रभावित संस्करण (Affected range)

  • Windows Server 2012 R2 (Server Core installation) build 6.3.9600.20919 से पहले
  • Windows Server 2012 R2 build 6.3.9600.20919 से पहले
  • Windows Server 2012 (Server Core installation) build 6.2.9200.24216 से पहले
  • Windows Server 2012 build 6.2.9200.24216 से पहले
  • Windows Server 2008 R2 for x64-based Systems Service Pack 1 (Server Core installation) build 6.1.7601.26466 से पहले
  • Windows Server 2008 R2 for x64-based Systems Service Pack 1 build 6.1.7601.26466 से पहले
  • Windows Server 2008 for x64-based Systems Service Pack 2 (Server Core installation) build 6.0.6003.22015 से पहले
  • Windows Server 2008 for x64-based Systems Service Pack 2 build 6.0.6003.22015 से पहले
  • Windows Server 2008 for 32-bit Systems Service Pack 2 (Server Core installation) build 6.0.6003.22015 से पहले
  • Windows Server 2008 for 32-bit Systems Service Pack 2 build 6.0.6003.22015 से पहले
  • Windows Server 2016 (Server Core installation) build 10.0.14393.5850 से पहले
  • Windows Server 2016 build 10.0.14393.5850 से पहले
  • Windows 10 Version 1607 for x64-based Systems build 10.0.14393.5850 से पहले
  • Windows 10 Version 1607 for 32-bit Systems build 10.0.14393.5850 से पहले
  • Windows 10 for x64-based Systems build 10.0.10240.19869 से पहले
  • Windows 10 for 32-bit Systems build 10.0.10240.19869 से पहले
  • Windows 10 Version 22H2 for 32-bit Systems build 10.0.19045.2846 से पहले
  • Windows 10 Version 22H2 for ARM64-based Systems build 10.0.19045.2846 से पहले
  • Windows 10 Version 22H2 for x64-based Systems build 10.0.19045.2846 से पहले
  • Windows 11 Version 22H2 for x64-based Systems build 10.0.22621.1555 से पहले
  • Windows 11 Version 22H2 for ARM64-based Systems build 10.0.22621.1555 से पहले
  • Windows 10 Version 21H2 for x64-based Systems build 10.0.19044.2846 से पहले
  • Windows 10 Version 21H2 for ARM64-based Systems build 10.0.19044.2846 से पहले
  • Windows 10 Version 21H2 for 32-bit Systems build 10.0.19044.2846 से पहले
  • Windows 11 version 21H2 for ARM64-based Systems build 10.0.22000.1817 से पहले
  • Windows 11 version 21H2 for x64-based Systems build 10.0.22000.1817 से पहले
  • Windows 10 Version 20H2 for ARM64-based Systems build 10.0.19042.2846 से पहले
  • Windows 10 Version 20H2 for 32-bit Systems build 10.0.19042.2846 से पहले
  • Windows 10 Version 20H2 for x64-based Systems build 10.0.19042.2846 से पहले
  • Windows Server 2022 (Server Core installation) build 10.0.20348.1668 से पहले
  • Windows Server 2022 build 10.0.20348.1668 से पहले
  • Windows Server 2019 (Server Core installation) build 10.0.17763.4252 से पहले
  • Windows Server 2019 build 10.0.17763.4252 से पहले

पैच (The patch)

  • त्रुटि को दो पुराने फ़ंक्शनों को दो नए फ़ंक्शनों से बदलकर ठीक किया गया है। पुराने फ़ंक्शनों के नाम में _old प्रत्यय जोड़ा गया है। इन नए फ़ंक्शनों ने किया है। दो नए फ़ंक्शनों में, अभी भी double fetch मौजूद है, लेकिन fetch किए गए मान को उपयोग करने से पहले जाँचा जाएगा। गणितीय संक्रियाओं को बदलने के लिए Rtl फ़ंक्शनों का उपयोग किया गया है, जो Integer overflow को रोकते हैं।

निष्कर्ष (Conclusion)

  • बग का प्रभावित क्षेत्र बहुत व्यापक है, जो कई प्रणालियों को खतरे में डालता है। हालाँकि, शोषण पेलोड चलाते समय हीप स्प्रे के कारण विफलता की एक छोटी सी संभावना होती है, जिससे Windows क्रैश हो सकता है। साथ ही, cmd प्रक्रिया के अधिकार को System तक बढ़ाने के बाद, यदि इस प्रक्रिया से बाहर निकलते हैं, तो भी Windows क्रैश हो सकता है। ऐसा शोषण प्रक्रिया के दौरान Namedpipe ऑब्जेक्ट के भ्रष्ट (corrupt) होने के कारण होता है।

अनुलग्नक (Attachments)

  • Minimal POC minimal
  • Exploit POC exploit
टूल डाउनलोड करें
  • Windows 10 Version 1809 for ARM64-based Systems build 10.0.17763.4252 से पहले
  • Windows 10 Version 1809 for x64-based Systems build 10.0.17763.4252 से पहले
  • Windows 10 Version 1809 for 32-bit Systems build 10.0.17763.4252 से पहले