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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
LocalPotato_CVE-2023-21746 | Kitploit
उपकरण/GitHubGitHub/muhammad-ali007/localpotato_cve-2023-21746
विशेषाधिकार वृद्धिभेद्यता विश्लेषणशोषणपार्श्व आंदोलनपोस्ट-शोषणपेनिट्रेशन टेस्टिंगपेलोड डेवलपमेंटबाइनरी शोषण

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

सभी देखें →

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

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

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

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

LocalPotato_CVE-2023-21746

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

विंडोज़ में एक लोकल प्रिविलेज एस्केलेशन (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" फाइलें हैं।

  • आइए पहले यह सत्यापित करके शुरू करें कि हमारा वर्तमान उपयोगकर्ता Administrators समूह का हिस्सा नहीं है।
  • "StorSvc" को सफलतापूर्वक एक्सप्लॉइट करने के लिए, हमें "SprintCSP.dll" को वर्तमान PATH में किसी भी निर्देशिका में कॉपी करना होगा। हम निम्न कमांड चलाकर PATH सत्यापित कर सकते हैं: C:> reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" -v Path
  • हम %SystemRoot%\system32 निर्देशिका को लक्षित करेंगे, जो "C:\windows\system32" तक विस्तारित होती है। हालाँकि, आप किसी भी निर्देशिका का उपयोग कर सकते हैं।
  • LocalPotato का उपयोग करके, हम SprintCSP.dll को system32 में कॉपी कर सकते हैं, भले ही हम एक अन-प्रिविलेज्ड उपयोगकर्ता का उपयोग कर रहे हों: C:\Users\user\Desktop> LocalPotato.exe -i SprintCSP.dll -o \Windows\System32\SprintCSP.dll
  • अपनी DLL को जगह में रखने के साथ, हम अब "SvcRebootToFlashingMode" के कॉल को ट्रिगर करने के लिए "RpcClient.exe" चला सकते हैं, जिससे हमारी DLL में पेलोड प्रभावी ढंग से निष्पादित हो जाएगा। C:\Users\user\Desktop> RpcClient.exe
  • यह सत्यापित करने के लिए कि हमारा एक्सप्लॉइट अपेक्षा के अनुरूप काम किया, हम जाँच सकते हैं कि क्या हमारा उपयोगकर्ता अब Administrators समूह का हिस्सा है। C:> net user user

डिटेक्शन और मिटिगेशन

डिटेक्शन अब जब हम समझ गए हैं कि localpotato एक्सप्लॉइट कैसे काम करता है और इसे SYSTEM के रूप में कोड निष्पादित करने के लिए StorSrv सेवा के साथ कैसे श्रृंखलाबद्ध (chain) किया जा सकता है, तो यह देखने का समय है कि सिस्टम के भीतर इसका पता कैसे लगाया जा सकता है और ऐसे हमलों को कैसे रोका जा सकता है।

YARA नियम: चूँकि इस हमले में कमांड लाइन टर्मिनल में तर्कों के साथ एक निष्पादन योग्य चलाना शामिल है, इस गतिविधि का पता लगाने के दो सामान्य तरीके फ़ाइल पैटर्न का पता लगाने के लिए पैटर्न मिलान उपकरण YARA का उपयोग करना और इस हैक टूल localpotato.exe के निष्पादन से उत्पन्न घटनाओं की जाँच करना होगा। चूँकि यह हमला localpotato.exe के रूप में ज्ञात हैक टूल का उपयोग करता है, हम होस्ट को स्कैन करने के लिए YARA या THOR जैसे अन्य डिटेक्शन टूल का उपयोग करके सिस्टम के भीतर इस टूल की उपस्थिति का पता लगाने के लिए एक YARA नियम बना सकते हैं। (YARA नियम इस रिपॉजिटरी में जोड़ा गया है, यह न्यूनतम नियम localpotato निष्पादन योग्य में सामान्य स्ट्रिंग पैटर्न की तलाश करता है).

SIGMA नियम: SIGMA एक सामान्य सिग्नेचर भाषा है जिसका उपयोग इवेंट लॉग में पाए जाने वाले पैटर्न के आधार पर डिटेक्शन नियम लिखने के लिए किया जाता है। नेटवर्क में localpotato का पता लगाने के लिए, केंद्रीकृत लॉग मॉनिटरिंग को जगह में सक्षम करने की अपेक्षा की जाती है। निम्नलिखित SIGMA नियम SIGMA आधिकारिक रिपॉजिटरी (https://github.com/SigmaHQ/sigma/blob/master/rules/windows/process_creation/proc_creation_win_hktl_localpotato.yml) से लिया गया है।

  • LocalPotato का पता लगाना (नियम रिपॉजिटरी में जोड़ा गया है)
  • Storsvc और SprintCSP.dll हाईजैकिंग का पता लगाना हमने सीखा कि localpotato भेद्यता को SprintCSP.dll को हाईजैक करने और SYSTEM के रूप में निष्पादित करने के लिए Storsvc के साथ जोड़ा जाता है। आधिकारिक GitHub से लिया गया निम्नलिखित जोड़ा गया SIGMA नियम इस गतिविधि का पता लगाने के लिए उपयोग किया जा सकता है।

हम इन sigma नियमों को मौजूदा डिटेक्शन/मॉनिटरिंग टूल में बदलने के लिए उपयोग कर सकते हैं और संभावित हमलों का शिकार करने के लिए इवेंट लॉग खोज सकते हैं।

मिटिगेशन

  • पैच अपडेट: localpotato एक्सप्लॉइट विंडोज़ ऑपरेटिंग सिस्टम में एक भेद्यता को लक्षित करता है। सुनिश्चित करें कि हमलावरों को इस भेद्यता का शोषण करने से रोकने के लिए सभी सिस्टम नवीनतम सुरक्षा पैच के साथ अपडेट किए गए हैं। यह भेद्यता पैच किए गए OS को प्रभावित नहीं करती है।
  • न्यूनतम विशेषाधिकार सिद्धांत: हमलावरों को localpotato एक्सप्लॉइट का शोषण करने से रोकने का एक तरीका न्यूनतम विशेषाधिकार के सिद्धांत को लागू करना है। इसका अर्थ है उपयोगकर्ता की पहुँच को केवल उन संसाधनों तक सीमित करना जिनकी उन्हें अपने कार्य कर्तव्यों को पूरा करने के लिए आवश्यकता है। ऐसा करने से, हमलावरों के लिए एक्सप्लॉइट निष्पादित करने के लिए आवश्यक उन्नत विशेषाधिकार प्राप्त करने की संभावना कम होती है।
  • संदिग्ध गतिविधि की निगरानी करें: अपने नेटवर्क पर संदिग्ध गतिविधि की निगरानी के लिए "Splunk" जैसे टूल का उपयोग करें। localpotato हमले के संकेतों की तलाश करें, जैसे असामान्य प्रक्रिया गतिविधि या दुर्भावनापूर्ण कोड निष्पादित करने के प्रयास।
टूल डाउनलोड करें