Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
LocalPotato_CVE-2023-21746 — Windows स्थानीय विशेषाधिकार वृद्धि (CVE-2023-21746) के लिए प्रूफ-ऑफ-कॉन्सेप्ट शोषण, SMB शेयर एक्सेस और DLL अपहरण के माध्यम से SYSTEM विशेषाधिकार प्राप्त करने के लिए NTLM स्थानीय प्रमाणीकरण का दुरुपयोग। | Kitploit
उपकरण/GitHubGitHub/muhammad-ali007/localpotato_cve-2023-21746
विशेषाधिकार वृद्धिभेद्यता विश्लेषणशोषणपार्श्व आंदोलनपोस्ट-शोषणपेनिट्रेशन टेस्टिंगपेलोड डेवलपमेंटबाइनरी शोषण

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें
GitHub
muhammad-ali007/localpotato_cve-2023-21746

LocalPotato_CVE-2023-21746

Windows स्थानीय विशेषाधिकार वृद्धि (CVE-2023-21746) के लिए प्रूफ-ऑफ-कॉन्सेप्ट शोषण, SMB शेयर एक्सेस और DLL अपहरण के माध्यम से SYSTEM विशेषाधिकार प्राप्त करने के लिए NTLM स्थानीय प्रमाणीकरण का दुरुपयोग।

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

विंडोज़ में एक लोकल प्रिविलेज एस्केलेशन (LPE) भेद्यता की सूचना Andrea Pierini (@decoder_it) और Antonio Cocomazzi (@splinter_code) द्वारा 9 सितंबर, 2022 को Microsoft को दी गई थी। यह भेद्यता एक होस्ट पर निम्न-विशेषाधिकार (low-privilege) खाते वाले हमलावर को SYSTEM विशेषाधिकारों के साथ मनमानी फाइलें पढ़ने/लिखने की अनुमति देती है।

हालाँकि यह भेद्यता अपने आप में सीधे SYSTEM के रूप में कमांड निष्पादित करने की अनुमति नहीं देती है, हम इसे कई वैक्टरों के साथ जोड़कर यह परिणाम प्राप्त कर सकते हैं। सुविधाजनक रूप से, 13 फरवरी को BlackArrowSec द्वारा एक और प्रिविलेज एस्केलेशन PoC प्रकाशित किया गया था जो StorSvc सेवा का दुरुपयोग करता है, जिससे हमलावर को SYSTEM के रूप में कोड निष्पादित करने की अनुमति मिलती है, बशर्ते वे PATH में किसी भी निर्देशिका में एक DLL फाइल लिख सकें।

LocalPotato PoC NTLM प्रमाणीकरण के एक विशेष मामले में एक दोष का लाभ उठाता है, जिसे NTLM लोकल प्रमाणीकरण कहा जाता है, ताकि एक विशेषाधिकार प्राप्त प्रक्रिया को स्थानीय SMB सर्वर के विरुद्ध हमलावर द्वारा शुरू किए गए सत्र को प्रमाणित करने के लिए धोखा दिया जा सके। परिणामस्वरूप, हमलावर के पास एक ऐसा कनेक्शन होता है जो उसे धोखा दी गई प्रक्रिया के विशेषाधिकारों के साथ किसी भी शेयर तक पहुँच प्रदान करता है, जिसमें C$ या ADMIN$ जैसे विशेष शेयर भी शामिल हैं।

एक्सप्लॉइट द्वारा अनुसरण की जाने वाली प्रक्रिया इस प्रकार है:

  • हमलावर एक विशेषाधिकार प्राप्त प्रक्रिया को अपने नियंत्रण में एक दुष्ट (rogue) सर्वर से कनेक्ट करने के लिए ट्रिगर करेगा। यह पिछले पोटैटो एक्सप्लॉइट्स के समान काम करता है, जहाँ एक अन-प्रिविलेज्ड उपयोगकर्ता ऑपरेटिंग सिस्टम को ऐसे कनेक्शन बनाने के लिए मजबूर कर सकता है जो एक विशेषाधिकार प्राप्त उपयोगकर्ता (आमतौर पर SYSTEM) का उपयोग करते हैं।
  • दुष्ट सर्वर विशेषाधिकार प्राप्त कनेक्शन के लिए एक सुरक्षा संदर्भ A (Security Context A) तुरंत स्थापित करेगा लेकिन इसे तुरंत वापस नहीं भेजेगा। इसके बजाय, हमलावर एक दुष्ट क्लाइंट लॉन्च करेगा जो एक साथ अपने वर्तमान अन-प्रिविलेज्ड क्रेडेंशियल्स के साथ स्थानीय SMB सर्वर (विंडोज़ फ़ाइल साझाकरण) के विरुद्ध एक कनेक्शन शुरू करता है। क्लाइंट कनेक्शन शुरू करने के लिए Type1 संदेश भेजेगा, और सर्वर एक नए सुरक्षा संदर्भ B के ID के साथ Type2 संदेश भेजकर उत्तर देगा।
  • हमलावर दोनों कनेक्शनों के संदर्भ ID को स्वैप कर देगा ताकि विशेषाधिकार प्राप्त प्रक्रिया को अपने स्वयं के संदर्भ के बजाय SMB सर्वर कनेक्शन का संदर्भ प्राप्त हो। परिणामस्वरूप, विशेषाधिकार प्राप्त क्लाइंट अपने उपयोगकर्ता (SYSTEM) को हमलावर द्वारा बनाए गए SMB कनेक्शन के सुरक्षा संदर्भ B से संबद्ध करेगा। परिणामस्वरूप, हमलावर का क्लाइंट अब SYSTEM विशेषाधिकारों के साथ किसी भी नेटवर्क शेयर तक पहुँच प्राप्त कर सकता है!

SMB शेयरों के लिए एक विशेषाधिकार प्राप्त कनेक्शन होने से, हमलावर लक्ष्य मशीन पर किसी भी स्थान पर फाइलें पढ़ या लिख सकता है। हालाँकि यह हमें असुरक्षित मशीन के विरुद्ध सीधे कमांड चलाने की अनुमति नहीं देगा, हम उस उद्देश्य को प्राप्त करने के लिए इसे एक अलग हमले वेक्टर के साथ जोड़ देंगे।

ध्यान दें कि भेद्यता SMB सर्वर के बजाय NTLM प्रोटोकॉल में है, इसलिए इसी हमले वेक्टर का उपयोग सैद्धांतिक रूप से किसी भी ऐसी सेवा के विरुद्ध किया जा सकता है जो NTLM के माध्यम से प्रमाणीकरण का लाभ उठाती है। व्यवहार में, हालाँकि, हमले के लिए प्रोटोकॉल चुनते समय कुछ सावधानियों से निपटना पड़ता है। PoC SMB सर्वर का उपयोग समान हमले वैक्टरों के विरुद्ध अन्य प्रोटोकॉल के लिए मौजूद कुछ अतिरिक्त सुरक्षाओं से बचने के लिए करता है, और यहाँ तक कि SMB सर्वर के विरुद्ध एक्सप्लॉइट को काम करवाने के लिए एक त्वरित बायपास भी लागू करता है। मूल एक्सप्लॉइट लेखक की पोस्ट - (https://decoder.cloud/2023/02/13/localpotato-when-swapping-the-context-leads-you-to-system/)

अब तक, हमने लक्ष्य मशीन पर मनमानी फाइलें लिखने के लिए LocalPotato का उपयोग किया है। एक विशेषाधिकार प्राप्त शेल पाने के लिए, हमें अभी भी यह पता लगाने की आवश्यकता है कि कमांड चलाने के लिए मनमानी लेखन का उपयोग कैसे किया जाए।

हाल ही में, एक और प्रिविलेज एस्केलेशन वेक्टर पाया गया, जहाँ एक हमलावर SYSTEM विशेषाधिकारों के साथ मनमानी कमांड चलाने के लिए एक लापता DLL को हाईजैक कर सकता है। इस वेक्टर के साथ एकमात्र समस्या यह थी कि हमलावर को इसे ट्रिगर करने के लिए सिस्टम के PATH में एक DLL लिखने की आवश्यकता होगी। डिफ़ॉल्ट रूप से, विंडोज़ PATH में केवल ऐसी निर्देशिकाएँ शामिल होंगी जिन्हें केवल विशेषाधिकार प्राप्त खाते ही लिख सकते हैं। हालाँकि ऐसी मशीनें खोजना संभव हो सकता है जहाँ विशिष्ट अनुप्रयोगों की स्थापना ने PATH चर को बदल दिया है और मशीन को असुरक्षित बना दिया है, यह हमला वेक्टर केवल विशेष परिदृश्यों पर लागू होता है। इस हमले को LocalPotato के साथ संयोजित करने से हम इस प्रतिबंध को दूर कर सकते हैं और एक पूरी तरह से कार्यशील प्रिविलेज एस्केलेशन एक्सप्लॉइट प्राप्त कर सकते हैं।

StorSvc और DLL हाईजैकिंग जैसा कि BlackArrowSec (https://github.com/blackarrowsec/redteam-research/tree/26e6fc0c0d30d364758fa11c2922064a9a7fd309/LPE via StorSvc) द्वारा खोजा गया है, एक हमलावर "StorSvc" सेवा द्वारा प्रदान की गई "SvcRebootToFlashingMode" विधि के लिए एक RPC कॉल भेज सकता है, जो बदले में "SprintCSP.dll" नामक एक लापता DLL को लोड करने का प्रयास ट्रिगर करेगा। यदि आप RPC से परिचित नहीं हैं, तो इसे एक API के रूप में सोचें जो फ़ंक्शन को उजागर करता है ताकि उन्हें दूरस्थ रूप से उपयोग किया जा सके। इस मामले में, StorSvc सेवा SvcRebootToFlashingMode विधि को उजागर करती है, जिसे मशीन तक पहुँच रखने वाला कोई भी व्यक्ति कॉल कर सकता है। चूँकि StorSvc SYSTEM विशेषाधिकारों के साथ चलता है, PATH में कहीं SprintCSP.dll बनाने से जब भी SvcRebootToFlashingMode का कॉल किया जाता है तो यह लोड हो जाएगा।

एक्सप्लॉइट का संकलन एक्सप्लॉइट लिंक - (https://github.com/decoder-it/LocalPotato) इस एक्सप्लॉइट का उपयोग करने के लिए, आपको पहले दोनों प्रदान की गई फाइलों को संकलित करना होगा:

  • SprintCSP.dll: यह लापता DLL है जिसे हम हाईजैक करने जा रहे हैं। रिवर्स शेल चलाने के लिए हमें कमांड बदलने की आवश्यकता होगी।
  • RpcClient.exe: यह प्रोग्राम SvcRebootToFlashingMode के लिए RPC कॉल को ट्रिगर करेगा। आप जिस विंडोज़ संस्करण को लक्षित कर रहे हैं, उसके आधार पर आपको एक्सप्लॉइट के कोड को थोड़ा संपादित करने की आवश्यकता हो सकती है, क्योंकि विभिन्न विंडोज़ संस्करण SvcRebootToFlashingMode को उजागर करने के लिए विभिन्न इंटरफ़ेस पहचानकर्ताओं का उपयोग करते हैं। दोनों फाइलों के प्रोजेक्ट "LPE via StorSvc" निर्देशिका में पाए जा सकते हैं।

आइए "RpcClient.exe" से शुरू करें। जैसा कि पहले उल्लेख किया गया है, हमें लक्ष्य मशीन के विंडोज़ संस्करण के आधार पर एक्सप्लॉइट को बदलने की आवश्यकता होगी। ऐसा करने के लिए, हमें "LPE via StorSvc\RpcClient\RpcClient\storsvc_c.c" की पहली पंक्तियों को बदलना होगा ताकि सही ऑपरेटिंग सिस्टम चुना जा सके। यह एक्सप्लॉइट को सही RPC इंटरफ़ेस पहचानकर्ता का उपयोग करने के लिए सेट करेगा। अब जब कोड सही कर दिया गया है, तो आइए एक डेवलपर का कमांड प्रॉम्प्ट खोलें और निम्न कमांड चलाकर प्रोजेक्ट बनाएँ: कमांड: C:\LPE via StorSvc\RpcClient> msbuild RpcClient.sln C:\LPE via StorSvc\RpcClient> move x64\Debug\RpcClient.exe C:\Users\user\Desktop\ (The compiled executable will be found on your desktop.)

अब "SprintCSP.dll" को संकलित करने के लिए, हमें केवल "C:\LPE via StorSvc\SprintCSP\SprintCSP\main.c" में "DoStuff()" फ़ंक्शन को संशोधित करने की आवश्यकता है ताकि यह एक ऐसी कमांड निष्पादित करे जो हमें मशीन तक विशेषाधिकार प्राप्त पहुँच प्रदान करे। सरलता के लिए, हम DLL को अपने वर्तमान उपयोगकर्ता को Administrators समूह में जोड़ने देंगे। हम उस लक्ष्य से अपनी मशीन पर रिवर्स शेल भी प्राप्त कर सकते हैं। अब हम निम्न कमांड चलाकर DLL संकलित करते हैं और परिणाम को वापस अपने डेस्कटॉप पर ले जाते हैं: कमांड: C:\LPE via StorSvc\SprintCSP> msbuild SprintCSP.sln C:\LPE via StorSvc\SprintCSP> move x64\Debug\SprintCSP.dll C:\Users\user\Desktop\

हम अब एक्सप्लॉइट लॉन्च करने के लिए तैयार हैं। सुनिश्चित करें कि आपके पास "LocalPotato.exe" एक्सप्लॉइट, "RpcClient.exe" और "SprintCSP.dll" फाइलें हैं।

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