Windows Local Privilege Escalation
Windows स्थानीय प्राधिकरण उन्नयन के लिए सर्वश्रेष्ठ उपकरण: WinPEAS
प्रारंभिक Windows सिद्धांत
पहुंच टोकन
अगर आपको पता नहीं है कि Windows पहुंच टोकन क्या है, तो आगे बढ़ने से पहले निम्नलिखित पृष्ठ को पढ़ें:
pageAccess TokensACLs - DACLs/SACLs/ACEs
ACLs - DACLs/SACLs/ACEs के बारे में अधिक जानकारी के लिए निम्नलिखित पृष्ठ की जाँच करें:
pageACLs - DACLs/SACLs/ACEsअखंडता स्तर
अगर आपको नहीं पता कि Windows में अखंडता स्तर क्या है, तो आगे बढ़ने से पहले निम्नलिखित पृष्ठ को पढ़ें:
pageIntegrity LevelsWindows सुरक्षा नियंत्रण
Windows में विभिन्न चीजें हैं जो आपको सिस्टम की जाँच करने से रोक सकती हैं, कार्यक्रम चला सकती हैं या यहाँ तक कि आपकी गतिविधियों को पहचान सकती हैं। आपको निम्नलिखित पृष्ठ पढ़ना चाहिए और इन सभी सुरक्षा प्रणालियों की जाँच करनी चाहिए इससे पहले कि आप प्राधिकरण उन्नयन शुरू करें:
pageWindows Security Controlsसिस्टम जानकारी
संस्करण जानकारी जाँच
जाँच करें कि Windows संस्करण में कोई जानी मानी कमी है (लागू किए गए पैचों की भी जाँच करें)।
संस्करण शोध
यह साइट माइक्रोसॉफ्ट सुरक्षा दोषों के बारे में विस्तृत जानकारी खोजने के लिए उपयोगी है। इस डेटाबेस में 4,700 से अधिक सुरक्षा दोष हैं, जो एक Windows वातावरण का विशाल हमले क्षेत्र दर्शाता है।
सिस्टम पर
post/windows/gather/enum_patches
post/multi/recon/local_exploit_suggester
winpeas (Winpeas में watson समाहित है)
स्थानीय जानकारी के साथ सिस्टम पर
एक्सप्लॉइट्स के Github रेपो:
पर्यावरण
क्या एनवी चरणों में कोई क्रेडेंशियल/महत्वपूर्ण जानकारी सहेजी गई है?
PowerShell इतिहास
PowerShell Transcript files
आप यह कैसे चालू कर सकते हैं इसे https://sid-500.com/2017/11/07/powershell-enabling-transcription-logging-by-using-group-policy/ में सीख सकते हैं।
पावरशेल मॉड्यूल लॉगिंग
पावरशेल पाइपलाइन क्रियाएँ रिकॉर्ड की जाती हैं, जिसमें निष्पादित कमांड, कमांड आवाहन, और स्क्रिप्ट के हिस्से शामिल होते हैं। हालांकि, पूरी निष्पादन विवरण और आउटपुट परिणाम को शायद ही कैप्चर किया जा सके।
इसे सक्षम करने के लिए, दस्तावेज़ के "ट्रांस्क्रिप्ट फ़ाइल" खंड में दिए गए निर्देशों का पालन करें, "पावरशेल ट्रांस्क्रिप्शन" की बजाय "मॉड्यूल लॉगिंग" का चयन करें।
आप निम्नलिखित को निष्पादित करके Powershell लॉग से पिछले 15 घटनाएं देख सकते हैं:
PowerShell स्क्रिप्ट ब्लॉक लॉगिंग
स्क्रिप्ट के निष्पादन की पूरी गतिविधि और सामग्री रिकॉर्ड को दर्ज किया जाता है, इस से यह सुनिश्चित होता है कि प्रत्येक कोड ब्लॉक को जब वह चलता है, उसका विवरण दर्ज किया गया है। यह प्रक्रिया प्रत्येक गतिविधि का एक व्यापक ऑडिट ट्रेल बनाए रखती है, जो फोरेंसिक्स और दुराचारी व्यवहार का विश्लेषण के लिए मूल्यवान होता है। निष्पादन के समय सभी गतिविधि को दर्ज करके, प्रक्रिया के बारे में विस्तृत अंदरूनी दृष्टिकोण प्रदान किया जाता है।
स्क्रिप्ट ब्लॉक के लिए लॉगिंग घटनाएं विंडोज इवेंट व्यूअर में निम्न पथ पर उपलब्ध हो सकती हैं: एप्लिकेशन और सर्विस लॉग्स > माइक्रोसॉफ्ट > विंडोज > पावरशेल > ऑपरेशनल. पिछले 20 घटनाओं को देखने के लिए आप इस्तेमाल कर सकते हैं:
इंटरनेट सेटिंग्स
ड्राइव्स
WSUS
आप सिस्टम को कंप्रोमाइज़ कर सकते हैं अगर अपडेट http का उपयोग करके नहीं अपनाए जाते हैं, httpS के बजाय।
आप निम्नलिखित को चलाकर जांच सकते हैं कि नेटवर्क का गैर-SSL WSUS अपडेट का उपयोग करता है:
यदि आपको एक जवाब मिलता है जैसे:
और अगर HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate\AU /v UseWUServer
1
के बराबर है।
तो, इसे एक्सप्लॉइट किया जा सकता है। अगर अंतिम रजिस्ट्री 0 के बराबर है, तो WSUS एंट्री नजरअंदाज की जाएगी।
इन वंशानुक्रमितताओं का शोध करने के लिए आप उपकरणों का उपयोग कर सकते हैं: Wsuxploit, pyWSUS - ये MiTM वैपनाइज्ड एक्सप्लॉइट स्क्रिप्ट हैं जो 'फेक' अपडेट्स को गैर-SSL WSUS ट्रैफिक में इंजेक्ट करते हैं।
यहाँ शोध पढ़ें:
WSUS CVE-2020-1013
पूरी रिपोर्ट यहाँ पढ़ें. मुख्य रूप से, यह दोष है जिसे यह बग एक्सप्लॉइट करता है:
अगर हमारे पास हमारे स्थानीय उपयोगकर्ता प्रॉक्सी को संशोधित करने की शक्ति है, और Windows अपडेट्स इंटरनेट एक्सप्लोरर की सेटिंग्स में कॉन्फ़िगर किए गए प्रॉक्सी का उपयोग करते हैं, तो हमें अपने एसेट पर उच्च स्तरीय उपयोगकर्ता के रूप में कोड चलाने की शक्ति होगी।
इसके अतिरिक्त, क्योंकि WSUS सेवा वर्तमान उपयोगकर्ता की सेटिंग्स का उपयोग करती है, इसका उपयोग इसके सर्टिफिकेट स्टोर का भी होगा। अगर हम WSUS होस्टनाम के लिए एक स्व-साइन किया गया सर्टिफिकेट उत्पन्न करते हैं और इस सर्टिफिकेट को वर्तमान उपयोगकर्ता के सर्टिफिकेट स्टोर में जोड़ते हैं, तो हम HTTP और HTTPS WSUS ट्रैफिक दोनों को इंटरसेप्ट कर सकेंगे। WSUS एक भीएसटीएस-जैसे तंत्रों का उपयोग सर्टिफिकेट पर विश्वास-पहले-उपयोग प्रकार की मान्यता लाने के लिए नहीं करता है। यदि उपयोगकर्ता द्वारा विश्वसनीय माना गया सर्टिफिकेट प्रस्तुत किया जाता है और सही होस्टनाम है, तो सेवा द्वारा स्वीकार किया जाएगा।
आप इस वंशानुक्रमितता का उपयोग करके उपकरण WSUSpicious का एक्सप्लॉइट कर सकते हैं (जब यह मुक्त होगा)।
KrbRelayUp
विशेष परिस्थितियों के तहत Windows डोमेन वातावरण में एक स्थानीय प्रिविलेज उन्नति की एक दुर्बलता मौजूद है। इन परिस्थितियों में शामिल हैं जहाँ LDAP साइनिंग लागू नहीं है, उपयोगकर्ताओं के पास स्व-अधिकार हैं जो उन्हें संसाधन-आधारित सीमित अधिकार (RBCD) कॉन्फ़िगर करने की अनुमति है, और उपयोगकर्ताओं को डोमेन के भीतर कंप्यूटर बनाने की क्षमता है। यह महत्वपूर्ण है कि ये आवश्यकताएं डिफ़ॉल्ट सेटिंग्स का उपयोग करके पूरी होती हैं।
एक्सप्लॉइट को खोजें https://github.com/Dec0ne/KrbRelayUp
हमले की विधि के बारे में अधिक जानकारी के लिए चेक करें https://research.nccgroup.com/2019/08/20/kerberos-resource-based-constrained-delegation-when-an-image-change-leads-to-a-privilege-escalation/
AlwaysInstallElevated
अगर ये 2 रजिस्टर सक्षम हैं (मान 0x1 है), तो किसी भी प्रिविलेज के उपयोगकर्ता NT AUTHORITY\SYSTEM के रूप में *.msi
फ़ाइलें स्थापित (चलाई) कर सकते हैं।
Metasploit पेलोड्स
यदि आपके पास एक मीटरप्रेटर सत्र है तो आप इस तकनीक को ऑटोमेट कर सकते हैं उपकरण exploit/windows/local/always_install_elevated
का उपयोग करके।
PowerUP
पावर-अप से Write-UserAddMSI
कमांड का उपयोग करें और वर्तमान निर्देशिका में एक Windows MSI बाइनरी बनाने के लिए उच्चाधिकार को उन्नत करें। यह स्क्रिप्ट एक पूर्व-संकलित MSI स्थापक लिखता है जो एक उपयोगकर्ता/समूह जोड़ने के लिए पूछता है (इसलिए आपको GUI एक्सेस की आवश्यकता होगी):
MSI व्रैपर
इस उपकरण का उपयोग करके एक MSI व्रैपर बनाने के लिए इस ट्यूटोरियल को पढ़ें। ध्यान दें कि आप एक ".bat" फ़ाइल को रैप कर सकते हैं अगर आप केवल कमांड लाइन्स चलाना चाहते हैं।
pageMSI WrapperWIX के साथ MSI बनाएं
pageCreate MSI with WIXVisual Studio के साथ MSI बनाएं
Cobalt Strike या Metasploit के साथ एक नया Windows EXE TCP पेलोड जेनरेट करें
C:\privesc\beacon.exe
Visual Studio खोलें, नया परियोजना बनाएं और खोज बॉक्स में "installer" टाइप करें। सेटअप विज़ार्ड परियोजना का चयन करें और अगला पर क्लिक करें।
परियोजना को एक नाम दें, जैसे AlwaysPrivesc, स्थान के लिए
C:\privesc
का उपयोग करें, समाधान और परियोजना को एक ही निर्देशिका में रखें का चयन करें, और बनाएं पर क्लिक करें।अगले पर क्लिक करते रहें जब तक आप चरण 3 में न पहुंच जाते हो (शामिल करने के लिए फ़ाइलें चुनें)। जोड़ें पर क्लिक करें और आपके द्वारा जेनरेट किया गया बीकन पेलोड चुनें। फिर समाप्त पर क्लिक करें।
समाधान एक्सप्लोरर में AlwaysPrivesc परियोजना को हाइलाइट करें और गुण में, TargetPlatform को x86 से x64 में बदलें।
आप अन्य गुण भी बदल सकते हैं, जैसे लेखक और निर्माता जो स्थापित एप्लिकेशन को अधिक वैध दिखा सकते हैं।
परियोजना पर दायां क्लिक करें और दृश्य > कस्टम क्रियाएँ का चयन करें।
स्थापित करें पर दायां क्लिक करें और कस्टम क्रिया जोड़ें का चयन करें।
एप्लिकेशन फ़ोल्डर पर डबल-क्लिक करें, अपनी beacon.exe फ़ाइल का चयन करें और ठीक पर क्लिक करें। इससे सुनिश्चित होगा कि बीकन पेलोड को तुरंत चलाया जाए जब स्थापक चलाया जाए।
कस्टम क्रिया गुणों में, Run64Bit को True में बदलें।
अंत में, इसे बिल्ड करें।
यदि चेतावनी
File 'beacon-tcp.exe' targeting 'x64' is not compatible with the project's target platform 'x86'
दिखाई देती है, सुनिश्चित करें कि आपने प्लेटफ़ॉर्म को x64 पर सेट किया है।
MSI स्थापना
जासूसी उद्देश्यों के लिए दुर्भाग्यपूर्ण .msi
फ़ाइल की स्थापना को पृष्ठभूमि में चलाने के लिए:
इस वंरबिलिटी का शोषण करने के लिए आप इस्तेमाल कर सकते हैं: exploit/windows/local/always_install_elevated
एंटीवायरस और डिटेक्टर
ऑडिट सेटिंग्स
ये सेटिंग्स तय करती हैं कि क्या लॉग किया जा रहा है, इसलिए आपको ध्यान देना चाहिए।
WEF
Windows Event Forwarding, यह जानना दिलचस्प है कि लॉग कहां भेजे जाते हैं
LAPS
LAPS का निर्माण स्थानीय प्रशासक पासवर्ड के प्रबंधन के लिए किया गया है, यह सुनिश्चित करता है कि प्रत्येक पासवर्ड अद्वितीय, यादृच्छिक और नियमित रूप से अपडेट होता है जो डोमेन से जुड़े कंप्यूटरों पर होता है। ये पासवर्ड सुरक्षित रूप से Active Directory में संग्रहीत होते हैं और केवल उन उपयोगकर्ताओं द्वारा पहुंचा जा सकता है जिन्हें ACLs के माध्यम से पर्याप्त अनुमति प्रदान की गई है, जो उन्हें स्थानीय व्यवस्थापक पासवर्ड देखने की अनुमति देती है।
pageLAPSWDigest
यदि सक्रिय है, सादा-पाठ पासवर्ड LSASS में संग्रहीत होते हैं। WDigest के बारे में अधिक जानकारी इस पृष्ठ में.
LSA सुरक्षा
Windows 8.1 से शुरू करके, माइक्रोसॉफ्ट ने स्थानीय सुरक्षा प्राधिकरण (LSA) के लिए उन्नत सुरक्षा शुरू की जिससे अविश्वसनीय प्रक्रियाओं द्वारा इसकी मेमोरी पढ़ने या कोड इंजेक्शन करने की कोशिशें ब्लॉक की जाती है, जो व्यवस्था को और अधिक सुरक्षित बनाता है। LSA सुरक्षा के बारे में अधिक जानकारी यहाँ देखें.
क्रेडेंशियल्स गार्ड
क्रेडेंशियल गार्ड को Windows 10 में पेश किया गया था। इसका उद्देश्य उस डिवाइस पर संग्रहीत क्रेडेंशियल को पास-द-हैश हमलों जैसी खतरों से बचाना है। | क्रेडेंशियल्स गार्ड के बारे में अधिक जानकारी यहाँ।
कैश किए गए क्रेडेंशियल
डोमेन क्रेडेंशियल को स्थानीय सुरक्षा प्राधिकरण (LSA) द्वारा प्रमाणित किया जाता है और ऑपरेटिंग सिस्टम घटकों द्वारा उपयोग किया जाता है। जब एक उपयोगकर्ता के लॉगऑन डेटा को एक पंजीकृत सुरक्षा पैकेज द्वारा प्रमाणित किया जाता है, तो उपयोगकर्ता के लिए डोमेन क्रेडेंशियल सामान्यत: स्थापित होते हैं। कैश किए गए क्रेडेंशियल के बारे में अधिक जानकारी यहाँ देखें.
उपयोगकर्ता और समूह
उपयोगकर्ताओं और समूहों की जांच करें
आपको यह देखना चाहिए कि आपके समूहों में से कोई भी दिलचस्प अनुमतियाँ हैं।
विशेषाधिकारित समूह
यदि आप किसी विशेषाधिकारित समूह से संबंधित हैं तो आपको विशेषाधिकारों को उन्नत करने की क्षमता हो सकती है। यहाँ विशेषाधिकारित समूहों और उनका दुरुपयोग करके विशेषाधिकारों को उन्नत करने के बारे में जानें:
pagePrivileged Groupsटोकन मानिपुलेशन
इस पृष्ठ में टोकन क्या है, इसके बारे में और अधिक जानें: Windows Tokens. इन्टरेस्टिंग टोकन्स के बारे में और उनका दुरुपयोग कैसे करें, इसके बारे में जानने के लिए निम्नलिखित पृष्ठ की जाँच करें:
pageAbusing Tokensलॉग इन किए गए उपयोगकर्ता / सत्र
होम फोल्डर्स
पासवर्ड नीति
क्लिपबोर्ड की सामग्री प्राप्त करें
चल रहे प्रक्रियाएँ
फ़ाइल और फ़ोल्डर अनुमतियाँ
सबसे पहले, प्रक्रियाओं की सूचीबद्धि प्रक्रिया के कमांड लाइन में पासवर्ड जांचें। जांचें कि क्या आप कुछ बाइनरी चल रहे को ओवरराइट कर सकते हैं या यदि आपके पास बाइनरी फोल्डर की लेखन अनुमतियाँ हैं तो संभावित DLL हाइजैकिंग हमलों का शोषण करें:
सदमें जांचें कि क्या संभावित electron/cef/chromium debuggers चल रहे हैं, आप इसका दुरुपयोग करके विशेषाधिकारों को बढ़ा सकते हैं.
प्रक्रियाओं के बाइनरी की अनुमतियों की जांच करना
प्रक्रियाओं के फोल्डरों की अनुमतियों की जाँच (DLL Hijacking)
मेमोरी पासवर्ड माइनिंग
आप साइंटर्नल्स से procdump का उपयोग करके एक चल रहे प्रक्रिया का मेमोरी डंप बना सकते हैं। FTP जैसी सेवाओं में मेमोरी में स्पष्ट पाठ में क्रेडेंशियल्स होते हैं, मेमोरी को डंप करके क्रेडेंशियल्स को पढ़ने का प्रयास करें।
असुरक्षित GUI एप्लिकेशन
सिस्टम के रूप में चल रहे एप्लिकेशन एक उपयोगकर्ता को CMD को उत्पन्न करने या निर्देशिकाओं में ब्राउज़ करने की अनुमति दे सकते हैं।
उदाहरण: "Windows Help and Support" (Windows + F1), "command prompt" खोजें, "Click to open Command Prompt" पर क्लिक करें
सेवाएं
सेवाओं की सूची प्राप्त करें:
अनुमतियाँ
आप sc का उपयोग करके किसी सेवा की जानकारी प्राप्त कर सकते हैं
यह सुझाव दिया जाता है कि प्रत्येक सेवा के लिए आवश्यक प्रिविलेज स्तर की जांच के लिए Sysinternals से बाइनरी accesschk होना चाहिए।
यह सुनिश्चित करना सुझावित है कि "प्रमाणित उपयोगकर्ता" क्या किसी सेवा को संशोधित कर सकते हैं:
आप यहाँ से XP के लिए accesschk.exe डाउनलोड कर सकते हैं
सेवा सक्षम करें
यदि आपको यह त्रुटि है (उदाहरण के लिए SSDPSRV के साथ):
सिस्टम त्रुटि 1058 हुई है। सेवा शुरू नहीं की जा सकती, या तो इसे अक्षम किया गया है या इसके साथ कोई सक्षम डिवाइस जुड़ी नहीं है।
आप इसे सक्षम कर सकते हैं इस्तेमाल करके
ध्यान दें कि सेवा upnphost SSDPSRV पर निर्भर है ताकि काम करे (XP SP1 के लिए)
इस समस्या का एक और उपाय यह है:
सेवा बाइनरी पथ को संशोधित करें
उस स्थिति में जहाँ "प्रमाणित उपयोगकर्ता" समूह के पास सेवा पर SERVICE_ALL_ACCESS है, सेवा के एक्जीक्यूटेबल बाइनरी को संशोधित करना संभव है। sc को संशोधित और निष्पादित करने के लिए:
सेवा पुनः आरंभ करें
विभिन्न अनुमतियों के माध्यम से विशेषाधिकारों को उन्नत किया जा सकता है:
SERVICE_CHANGE_CONFIG: सेवा बाइनरी का पुनर्विन्यास करने की अनुमति देता है।
WRITE_DAC: अनुमति पुनर्विन्यास सक्षम करता है, जिससे सेवा कॉन्फ़िगरेशन बदलने की क्षमता होती है।
WRITE_OWNER: स्वामित्व प्राप्ति और अनुमति पुनर्विन्यास की अनुमति देता है।
GENERIC_WRITE: सेवा कॉन्फ़िगरेशन बदलने की क्षमता मिलती है।
GENERIC_ALL: सेवा कॉन्फ़िगरेशन बदलने की क्षमता मिलती है।
इस विकल्पता की खोज और शोषण के लिए, exploit/windows/local/service_permissions का उपयोग किया जा सकता है।
सेवा बाइनरी कमजोर अनुमतियाँ
जांचें कि क्या आप सेवा द्वारा निष्पादित बाइनरी को संशोधित कर सकते हैं या क्या आपके पास उस फ़ोल्डर पर लेखन अनुमतियाँ हैं जहाँ बाइनरी स्थित है (DLL Hijacking). आप wmic का उपयोग करके (system32 में नहीं) सेवा द्वारा निष्पादित प्रत्येक बाइनरी प्राप्त कर सकते हैं और icacls का उपयोग करके अपनी अनुमतियों की जांच कर सकते हैं:
आप sc और icacls का भी उपयोग कर सकते हैं:
सेवाओं रजिस्ट्री संशोधन अनुमतियाँ
आपको यह जांचनी चाहिए कि क्या आप किसी सेवा रजिस्ट्री को संशोधित कर सकते हैं। आप निम्नलिखित करके किसी सेवा रजिस्ट्री पर अपनी अनुमतियों की जांच कर सकते हैं:
यह जांचना चाहिए कि Authenticated Users या NT AUTHORITY\INTERACTIVE के पास FullControl
अनुमतियाँ हैं। यदि हां, तो सेवा द्वारा निष्पादित बाइनरी को बदला जा सकता है।
बाइनरी निष्पादित का पथ बदलने के लिए:
सेवाएं रजिस्ट्री AppendData/AddSubdirectory अनुमतियाँ
यदि आपके पास रजिस्ट्री पर यह अनुमति है तो इसका मतलब है कि आप इससे एक सब रजिस्ट्री बना सकते हैं। Windows सेवाओं के मामले में यह किसी भी अवचेतनीपूर्ण कोड को निष्पादित करने के लिए पर्याप्त है:
pageAppendData/AddSubdirectory permission over service registryअन-कोटेड सेवा पथ
यदि किसी एक्जीक्यूटेबल का पथ उद्धरण के भीतर नहीं है, तो Windows हर स्पेस से पहले हर अंत को निष्पादित करने का प्रयास करेगा।
उदाहरण के लिए, पथ C:\Program Files\Some Folder\Service.exe के लिए Windows निष्पादित करने का प्रयास करेगा:
सभी अन-उद्धृत सेवा पथों की सूची बनाएं, जो कि विंडोज की इनबिल्ट विंडोज सेवाओं के नहीं हैं:
आप इस वंलरबिलिटी को मेटास्प्लॉइट के साथ पता लगा सकते हैं और इसका शोध कर सकते हैं: exploit/windows/local/trusted\_service\_path
आप मेटास्प्लॉइट के साथ मैन्युअल रूप से एक सेवा बाइनरी बना सकते हैं:
पुनर्प्राप्ति कार्रवाई
Windows उपयोगकर्ताओं को सेवा विफल होने पर कार्रवाई निर्दिष्ट करने की अनुमति देता है। यह सुविधा एक बाइनरी की ओर संकेत करने के लिए कॉन्फ़िगर की जा सकती है। यदि यह बाइनरी प्रतिस्थापनीय है, तो विशेषाधिकार उन्नयन संभव हो सकता है। अधिक विवरण आधिकारिक दस्तावेज़ीकरण में उपलब्ध है।
अनुप्रयोग
स्थापित अनुप्रयोग
बाइनरी की अनुमतियों की जांच करें (शायद आप एक को अधिक कर सकते हैं और विशेषाधिकारों को उन्नयन कर सकते हैं) और फ़ोल्डरों की (DLL हाइजैकिंग)।
लेखन अनुमतियाँ
जांचें कि क्या आप किसी कॉन्फ़िग फ़ाइल को संशोधित कर सकते हैं ताकि कोई विशेष फ़ाइल पढ़ सके या यदि आप किसी बाइनरी को संशोधित कर सकते हैं जो एडमिनिस्ट्रेटर खाते द्वारा निष्पादित किया जाएगा (schedtasks)।
सिस्टम में कमजोर फ़ोल्डर/फ़ाइल अनुमतियों को खोजने का एक तरीका है:
शुरुआत में चलाएं
जांचें कि क्या आप किसी रजिस्ट्री या बाइनरी को अधिकार देने वाले उपयोगकर्ता द्वारा निष्पादित करने के लिए अधिकारों को बढ़ाने के लिए कुछ रजिस्ट्री या बाइनरी को अधिकार देने की क्षमता है। निम्नलिखित पृष्ठ पर पढ़ें और अधिक रुचिकर ऑटोरन्स स्थानों के लिए अधिकारों को बढ़ाने के बारे में अधिक जानें:
pagePrivilege Escalation with Autorunsड्राइवर्स
संभावित तीसरे पक्ष के अजीब/वंशानुकूल ड्राइवर्स की खोज करें
PATH DLL हाइजैकिंग
यदि आपके पास PATH पर मौजूद एक फ़ोल्डर में लेखन अनुमतियाँ हैं, तो आपको किसी प्रक्रिया द्वारा लोड की जाने वाली एक DLL को हाइजैक करके विशेषाधिकारों को उन्नत करने की क्षमता हो सकती है।
PATH में सभी फ़ोल्डरों की अनुमतियों की जांच करें:
इस जाँच को कैसे दुरुपयोग करने के बारे में अधिक जानकारी के लिए:
pageWritable Sys Path +Dll Hijacking Privescनेटवर्क
साझा
होस्ट्स फ़ाइल
होस्ट्स फ़ाइल पर हार्डकोड किए गए अन्य ज्ञात कंप्यूटरों की जांच करें
नेटवर्क इंटरफेस और DNS
ओपन पोर्ट्स
बाहर से प्रतिबंधित सेवाएं जांचें
रूटिंग तालिका
ARP तालिका
फ़ायरवॉल नियम
फ़ायरवॉल संबंधित कमांड्स के लिए इस पेज की जाँच करें (नियम सूची, नियम बनाएं, बंद करें, बंद करें...)
और यहाँ नेटवर्क जांच के लिए अधिक कमांड्स
Windows Subsystem for Linux (wsl)
बाइनरी bash.exe
को C:\Windows\WinSxS\amd64_microsoft-windows-lxssbash_[...]\bash.exe
में भी पाया जा सकता है।
अगर आप रूट उपयोगकर्ता प्राप्त करते हैं तो आप किसी भी पोर्ट पर सुन सकते हैं (nc.exe
का प्रथम बार पोर्ट पर सुनने के लिए उपयोग करने पर यह GUI के माध्यम से पूछेगा कि क्या फ़ायरवॉल द्वारा nc
को अनुमति दी जानी चाहिए)।
Windows Credentials
Winlogon Credentials
बूट के समय विन्डोगन क्रेडेंशियल्स को प्राप्त करने के लिए, आप --default-user root
का प्रयास कर सकते हैं।
आप WSL
फाइल सिस्टम को इस फोल्डर में एक्सप्लोर कर सकते हैं C:\Users\%USERNAME%\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs\
Credentials manager / Windows vault
From https://www.neowin.net/news/windows-7-exploring-credential-manager-and-windows-vault Windows Vault उन उपयोगकर्ता प्रमाणपत्रों को संग्रहित करता है जो सर्वर, वेबसाइट और अन्य कार्यक्रमों के लिए हैं जिन्हें Windows उपयोगकर्ताओं को स्वचालित रूप से लॉग इन कर सकता है। पहली दृष्टि में, यह ऐसा दिख सकता है कि अब उपयोगकर्ता अपने Facebook प्रमाणपत्र, Twitter प्रमाणपत्र, Gmail प्रमाणपत्र आदि संग्रहीत कर सकते हैं, ताकि वे ब्राउज़र के माध्यम से स्वचालित रूप से लॉग इन करें। लेकिन ऐसा नहीं है।
Windows Vault उन प्रमाणपत्रों को संग्रहित करता है जिन्हें Windows उपयोगकर्ताओं को स्वचालित रूप से लॉग इन करने में मदद कर सकता है, जिसका मतलब है कि कोई भी Windows एप्लिकेशन जो संसाधन (सर्वर या वेबसाइट) तक पहुंचने के लिए प्रमाणपत्रों की आवश्यकता होती है, इस Credential Manager और Windows Vault का उपयोग कर सकता है और उपयोगकर्ताओं को प्रवेश नाम और पासवर्ड बार-बार दर्ज करने की आवश्यकता नहीं होती।
यदि एप्लिकेशन Credential Manager के साथ संवाद करना नहीं करता है, तो मुझे लगता है कि उसे दिए गए संसाधन के लिए प्रमाणपत्रों का उपयोग करना संभव नहीं है। इसलिए, यदि आपकी एप्लिकेशन वॉल्ट का उपयोग करना चाहती है, तो उसे किसी प्रकार से क्रेडेंशियल मैनेजर के साथ संवाद करना चाहिए और डिफ़ॉल्ट स्टोरेज वॉल्ट से उस संसाधन के लिए प्रमाणपत्रों का अनुरोध करना चाहिए।
मशीन पर संग्रहित प्रमाणपत्रों की सूची देखने के लिए cmdkey
का उपयोग करें।
तो आप runas
का उपयोग /savecred
विकल्प के साथ कर सकते हैं ताकि सहेजे गए क्रेडेंशियल का उपयोग किया जा सके। निम्नलिखित उदाहरण एक SMB सेयर के माध्यम से एक रिमोट बाइनरी को कॉल कर रहा है।
एक प्रदत्त सेट के क्रेडेंशियल के साथ runas
का उपयोग करें।
कृपया ध्यान दें कि mimikatz, lazagne, credentialfileview, VaultPasswordView, या Empire Powershells module से भी लाभ उठाया जा सकता है।
DPAPI
डेटा संरक्षण API (DPAPI) डेटा का सममित एन्क्रिप्शन के लिए एक विधि प्रदान करता है, जो अधिकांश रूप से एसिमेट्रिक निजी कुंजियों के लिए विंडोज ऑपरेटिंग सिस्टम के भीतर प्रयोग किया जाता है। यह एन्क्रिप्शन एक उपयोगकर्ता या सिस्टम रहस्य का उपयोग करता है जो अंतर्विक्षता में महत्वपूर्ण योगदान देता है।
DPAPI उपयोगकर्ता के लॉगिन रहस्य से निकाले गए एक सममित कुंजी के माध्यम से कुंजियों का एन्क्रिप्शन संभव बनाता है। सिस्टम एन्क्रिप्शन से संबंधित परिदृश्यों में, यह सिस्टम के डोमेन प्रमाणीकरण रहस्यों का उपयोग करता है।
DPAPI का उपयोग करके एन्क्रिप्टेड उपयोगकर्ता RSA कुंजियाँ, %APPDATA%\Microsoft\Protect\{SID}
निर्देशिका में संग्रहीत की जाती है, जहाँ {SID}
उपयोगकर्ता को प्रतिनिधित्व करता है। DPAPI कुंजी, जो सामान्य रूप से उपयोगकर्ता की निजी कुंजियों को सुरक्षित रखने वाली मास्टर कुंजी के साथ समान फ़ाइल में संरक्षित होती है, आम तौर पर 64 बाइट के यादृच्छिक डेटा से बनी होती है। (इस निर्देशिका तक पहुंच प्रतिबंधित है, जिससे CMD
में dir
कमांड के माध्यम से इसकी सामग्री की सूची बनाई नहीं जा सकती, हालांकि यह पावरशेल के माध्यम से सूचीबद्ध की जा सकती है)।
आप mimikatz मॉड्यूल dpapi::masterkey
का उपयोग कर सकते हैं सही तरीके से तर्क (/pvk
या /rpc
) के साथ इसे डिक्रिप्ट करने के लिए।
मास्टर पासवर्ड द्वारा संरक्षित क्रेडेंशियल फ़ाइलें आम तौर पर इसमें स्थित होती हैं:
आप mimikatz मॉड्यूल dpapi::cred
का उपयुक्त /masterkey
उपयोग करके डिक्रिप्ट कर सकते हैं।
आप sekurlsa::dpapi
मॉड्यूल के साथ मेमोरी से कई DPAPI मास्टरकी निकाल सकते हैं (अगर आप रूट हैं)।
PowerShell Credentials
PowerShell credentials अक्सर स्क्रिप्टिंग और स्वचालन कार्यों के लिए उपयोग किए जाते हैं जिसे एन्क्रिप्टेड क्रेडेंशियल को सुविधाजनक रूप से स्टोर करने का एक तरीका माना जाता है। क्रेडेंशियल्स को DPAPI का उपयोग करके सुरक्षित किया जाता है, जिससे सामान्यत: यह अर्थ होता है कि उन्हें केवल उसी उपयोगकर्ता द्वारा उसी कंप्यूटर पर जिन्होंने उन्हें बनाया था, डिक्रिप्ट किया जा सकता है।
फ़ाइल में से PS क्रेडेंशियल्स को डिक्रिप्ट करने के लिए आप कर सकते हैं:
वाईफाई
सहेजी गई RDP कनेक्शन
आप उन्हें HKEY_USERS\<SID>\Software\Microsoft\Terminal Server Client\Servers\
पर ढूंढ सकते हैं
और HKCU\Software\Microsoft\Terminal Server Client\Servers\
में।
हाल ही में चलाए गए कमांड
रिमोट डेस्कटॉप क्रेडेंशियल मैनेजर
Mimikatz के dpapi::rdg
मॉड्यूल का उपयुक्त /masterkey
के साथ उपयोग करें किसी भी .rdg फ़ाइलों को डिक्रिप्ट करने के लिए।
आप Mimikatz के sekurlsa::dpapi
मॉड्यूल के साथ मेमोरी से कई DPAPI मास्टरकी को निकाल सकते हैं।
स्टिकी नोट्स
लोग अक्सर Windows कार्यस्थलों पर StickyNotes ऐप का उपयोग पासवर्ड और अन्य जानकारी सहेजने के लिए करते हैं, जिसे यह एक डेटाबेस फ़ाइल है। यह फ़ाइल C:\Users\<user>\AppData\Local\Packages\Microsoft.MicrosoftStickyNotes_8wekyb3d8bbwe\LocalState\plum.sqlite
पर स्थित है और हमेशा खोजने और जांचने के लायक है।
AppCmd.exe
ध्यान दें कि AppCmd.exe से पासवर्ड पुनर्प्राप्त करने के लिए आपको प्रशासक होना चाहिए और उच्च अभियांत्रिकी स्तर के तहत चलाना होगा।
AppCmd.exe %systemroot%\system32\inetsrv\
निर्देशिका में स्थित है।
यदि यह फ़ाइल मौजूद है तो संभावना है कि कुछ प्रमाणिकरण कॉन्फ़िगर किए गए हों और पुनर्प्राप्त किए जा सकते हैं।
यह कोड PowerUP से निकाला गया था:
SCClient / SCCM
जांचें कि C:\Windows\CCM\SCClient.exe
मौजूद है।
इंस्टॉलर SYSTEM विशेषाधिकारों के साथ चलाए जाते हैं, बहुत से DLL Sideloading के लिए संवेदनशील हैं (जानकारी https://github.com/enjoiz/Privesc)।
फ़ाइलें और रजिस्ट्री (क्रेडेंशियल्स)
पुटी क्रेडेंशियल्स
पुटी SSH होस्ट कुंजी
रजिस्ट्री में SSH कुंजी
SSH निजी कुंजियाँ रजिस्ट्री कुंजी HKCU\Software\OpenSSH\Agent\Keys
में संग्रहीत की जा सकती हैं, इसलिए आपको यह जांचना चाहिए कि क्या वहां कुछ दिलचस्प है:
यदि आप उस पथ में कोई एंट्री पाते हैं तो शायद वहाँ एक सहेजी गई SSH कुंजी हो। यह एन्क्रिप्टेड रूप में संग्रहीत है लेकिन https://github.com/ropnop/windows_sshagent_extract का उपयोग करके आसानी से डिक्रिप्ट किया जा सकता है। इस तकनीक के बारे में अधिक जानकारी यहाँ उपलब्ध है: https://blog.ropnop.com/extracting-ssh-private-keys-from-windows-10-ssh-agent/
यदि ssh-agent
सेवा चल नहीं रही है और आप चाहते हैं कि यह बूट पर स्वचालित रूप से चालू हो, तो निम्नलिखित को चलाएँ:
ऐसा लगता है कि यह तकनीक अब वैध नहीं है। मैंने कुछ ssh कुंजी बनाने की कोशिश की, उन्हें ssh-add
के साथ जोड़ा और ssh के माध्यम से किसी मशीन पर लॉगिन करने की कोशिश की। रजिस्ट्री HKCU\Software\OpenSSH\Agent\Keys मौजूद नहीं है और procmon ने asymmetric key प्रमाणीकरण के दौरान dpapi.dll
का उपयोग नहीं पहचाना।
अनअटेंडेड फ़ाइलें
आप इन फ़ाइलों को metasploit का उपयोग करके भी खोज सकते हैं: post/windows/gather/enum_unattend
उदाहरण सामग्री:
SAM और SYSTEM बैकअप
क्लाउड क्रेडेंशियल्स
McAfee SiteList.xml
एक फ़ाइल खोजें जिसका नाम SiteList.xml है
Cached GPP Pasword
एक सुविधा पहले उपलब्ध थी जो समूह नीति वरीयताओं (Group Policy Preferences - GPP) के माध्यम से कस्टम स्थानीय प्रशासक खातों का वितरण संभव बनाती थी। हालांकि, इस विधि में महत्वपूर्ण सुरक्षा दोष थे। पहले, समूह नीति वस्तुओं (Group Policy Objects - GPOs), SYSVOL में XML फ़ाइलें के रूप में संग्रहीत की जा सकती थीं, जिनको किसी भी डोमेन उपयोगकर्ता द्वारा एक्सेस किया जा सकता था। दूसरा, इन GPPs में रखे गए पासवर्ड, AES256 का उपयोग करके एन्क्रिप्ट किए गए थे, जिन्हें किसी भी प्रमाणित उपयोगकर्ता द्वारा डिक्रिप्ट किया जा सकता था। यह एक गंभीर जोखिम पैदा करता था, क्योंकि यह उपयोगकर्ताओं को उच्च विशेषाधिकार प्राप्त करने की अनुमति दे सकता था।
इस जोखिम को कम करने के लिए, एक कार्य विकसित किया गया था जो स्थानीय रूप से कैश किए गए GPP फ़ाइलों की खोज करता है जिसमें "cpassword" फ़ील्ड खाली नहीं है। ऐसी फ़ाइल मिलने पर, कार्य उस पासवर्ड को डिक्रिप्ट करता है और एक कस्टम PowerShell ऑब्ज
Crackmapexec का उपयोग करके पासवर्ड प्राप्त करना:
IIS वेब कॉन्फ़िग
उदाहरण web.config के साथ प्रमाणपत्र:
OpenVPN क्रेडेंशियल
लॉग्स
प्रमाण पत्र मांगें
आप हमेशा उपयोगकर्ता से उसके प्रमाण पत्र या एक विभिन्न उपयोगकर्ता के प्रमाण पत्र दर्ज करने के लिए कह सकते हैं अगर आपको लगता है कि वह उन्हें जान सकता है (ध्यान दें कि प्रमाण पत्र के लिए ग्राहक से मांगना वास्तव में जोखिमपूर्ण है):
पासवर्ड समेत जानकारी रखने वाले संभावित फ़ाइल नाम
ज्ञात फ़ाइलें जिनमें कभी पासवर्ड स्पष्ट-पाठ या Base64 में थे
आवेदित सभी फ़ाइलों को खोजें:
क्रेडेंशियल्स रीसाइकल बिन में
आपको इसके अंदर क्रेडेंशियल्स देखने के लिए बिन की जाँच भी करनी चाहिए।
पासवर्ड पुनर्प्राप्त करने के लिए कई कार्यक्रमों द्वारा सहेजे गए पासवर्ड का उपयोग कर सकते हैं: http://www.nirsoft.net/password_recovery_tools.html
रजिस्ट्री के अंदर
क्रेडेंशियल्स के साथ अन्य संभावित रजिस्ट्री कुंजी
रजिस्ट्री से openssh कुंजियाँ निकालें।
ब्राउज़र इतिहास
आपको जाँच करनी चाहिए कि क्या dbs में Chrome या Firefox से पासवर्ड स्टोर हो रहे हैं। इसके अलावा, ब्राउज़रों के इतिहास, बुकमार्क्स और पसंदीदा जाँचें ताकि शायद कुछ पासवर्ड स्टोर हों।
ब्राउज़रों से पासवर्ड निकालने के लिए उपकरण:
Mimikatz:
dpapi::chrome
COM DLL अधिकलेखन
Component Object Model (COM) एक प्रौद्योगिकी है जो Windows ऑपरेटिंग सिस्टम के भीतर निर्मित है जो विभिन्न भाषाओं के सॉफ्टवेयर घटकों के बीच अंतरसंचार की अनुमति देती है। प्रत्येक COM घटक एक कक्षा आईडी (CLSID) द्वारा पहचाना जाता है और प्रत्येक घटक एक या एक से अधिक इंटरफेस के माध्यम से कार्यक्षमता प्रकट करता है, जिन्हें इंटरफेस आईडी (IIDs) द्वारा पहचाना जाता है।
COM कक्षाएँ और इंटरफेस रजिस्ट्री में HKEY_CLASSES_ROOT\CLSID और HKEY_CLASSES_ROOT\Interface में परिभाषित की जाती हैं। यह रजिस्ट्री HKEY_LOCAL_MACHINE\Software\Classes + HKEY_CURRENT_USER\Software\Classes = HKEY_CLASSES_ROOT को मिलाकर बनाई जाती है।
इस रजिस्ट्री के CLSIDs के अंदर आपको एक डिफ़ॉल्ट मान वाली DLL को इंडिकेट करने वाली एक चाइल्ड रजिस्ट्री InProcServer32 मिलेगी और एक मान जिसे ThreadingModel कहा जाता है जो Apartment (Single-Threaded), Free (Multi-Threaded), Both (Single या Multi) या Neutral (Thread Neutral) हो सकता है।
आम तौर पर, यदि आप किसी भी DLL को अधिकलेखन कर सकते हैं जो किसी अन्य उपयोगकर्ता द्वारा निष्पादित किया जाएगा, तो यदि वह DLL एक विभिन्न उपयोगकर्ता द्वारा निष्पादित किया जाएगा तो आप वरीयता उन्नति कर सकते हैं।
हमें यह जानने के लिए कि हमलावाद कैसे COM Hijacking का उपयोग स्थायित्व तंत्र के रूप में करते हैं देखने के लिए चेक करें:
pageCOM Hijackingफ़ाइलों और रजिस्ट्री में सामान्य पासवर्ड खोज
फ़ाइल सामग्री की खोज
किसी विशेष फ़ाइल नाम की खोज करें
रजिस्ट्री में कुंजी नाम और पासवर्ड खोजें
पासवर्ड खोजने वाले उपकरण
MSF-Credentials Plugin एक msf प्लगइन है जिसे मैंने इस प्लगइन को बनाया है ताकि विक्टिम के अंदर पासवर्ड खोजने वाले प्रत्येक metasploit POST मॉड्यूल को स्वचालित रूप से क्रियान्वित किया जा सके। Winpeas स्वचालित रूप से इस पृष्ठ में उल्लिखित पासवर्ड वाले सभी फ़ाइलों की खोज करता है। Lazagne एक और शानदार उपकरण है जो सिस्टम से पासवर्ड निकालने के लिए है।
उपकरण SessionGopher सत्र, उपयोगकर्ता नाम और पासवर्ड की खोज करता है जो कई उपकरणों के लिए है जो इस डेटा को स्पष्ट पाठ में सहेजते हैं (PuTTY, WinSCP, FileZilla, SuperPuTTY, और RDP)
लीक हैंडलर्स
सोचिए कि एक प्रक्रिया जो सिस्टम के रूप में चल रही है एक नई प्रक्रिया खोलती है (OpenProcess()
) पूर्ण अधिकार के साथ। उसी प्रक्रिया एक नई प्रक्रिया बनाती है (CreateProcess()
) कम विशेषाधिकारों के साथ लेकिन मुख्य प्रक्रिया के सभी खुले हैंडल्स को विरासत में लेती है।
फिर, अगर आपके पास कम विशेषाधिकार वाली प्रक्रिया के लिए पूर्ण अधिकार हैं, तो आप उस उच्चाधिकारित प्रक्रिया के खुले हैंडल को पकड़ सकते हैं जो OpenProcess()
के साथ बनाई गई है और एक शैलकोड डाल सकते हैं।
इस विकल्प को पढ़ें और इस व्यक्तिगतता को कैसे पता लगाएं और इसे उत्पादित करने के लिए कैसे उपयोग करें के बारे में अधिक जानकारी के लिए।
इस अन्य पोस्ट को पढ़ें जिसमें विभिन्न स्तरों की अनुमतियों के साथ विरासत में मिली प्रक्रियाओं और धागों के अधिक खुले हैंडलर्स को परीक्षण और दुरुपयोग करने के बारे में एक अधिक पूर्ण व्याख्या के लिए.
नेम्ड पाइप क्लाइंट इम्पर्सनेशन
साझा स्मृति सेगमेंट, जिसे पाइप कहा जाता है, प्रक्रिया संचार और डेटा स्थानांतरण की सुविधा प्रदान करते हैं।
Windows एक सुविधा प्रदान करता है जिसे नेम्ड पाइप्स कहा जाता है, जो असंबंधित प्रक्रियाओं को डेटा साझा करने की अनुमति देता है, यहाँ तक कि विभिन्न नेटवर्कों पर भी। यह एक क्लाइंट/सर्वर संरचना की तरह है, जिसमें भूमिकाएँ नेम्ड पाइप सर्वर और नेम्ड पाइप क्लाइंट के रूप में परिभाषित हैं।
जब एक क्लाइंट द्वारा पाइप के माध्यम से डेटा भेजा जाता है, तो पाइप स्थापित करने वाला सर्वर उसकी पहचान लेने की क्षमता रखता है, यदि उसके पास आवश्यक SeImpersonate अधिकार हैं। एक उच्चाधिकारित प्रक्रिया की पहचान करना जो एक पाइप के माध्यम से संवाद करती है और जिसे आप अनुकरण कर सकते हैं, उसे उस प्रक्रिया की पहचान करने पर उस पाइप के साथ इंटरैक्ट करते समय उस प्रक्रिया की पहचान अपनाने का एक अवसर प्रदान करता है। इस प्रकार के हमले को कैसे कार्रवाई करने के लिए निर्देशों के लिए मददगार गाइड यहाँ और यहाँ मिल सकते हैं।
इसके अलावा निम्नलिखित उपकरण नामित पाइप संचार को एक उपकरण जैसे बर्प के साथ आंतरण करने की अनुमति देते हैं: https://github.com/gabriel-sztejnworcel/pipe-intercept और यह उपकरण सभी पाइपों को सूचीबद्ध करने और देखने की अनुमति देता है ताकि प्राइवेस्क्स खोजने में मदद मिल सके https://github.com/cyberark/PipeViewer
विविध
पासवर्ड के लिए कमांड लाइन की निगरानी
जब आप एक उपयोगकर्ता के रूप में एक शैल प्राप्त करते हैं, तो शेड्यूल किए गए कार्य या अन्य प्रक्रियाएं भी चल रही हो सकती हैं जो कमांड लाइन पर प्रमाण पास करती हैं। नीचे दिया गया स्क्रिप्ट प्रत्येक दो सेकंड में प्रक्रिया कमांड लाइन को कैप्चर करता है और वर्तमान स्थिति को पिछले स्थिति के साथ तुलना करता है, किसी भी अंतर को आउटपुट करता है।
प्रक्रियाओं से पासवर्ड चुराना
कम विशेषाधिकार उपयोगकर्ता से NT\AUTHORITY SYSTEM (CVE-2019-1388) / UAC बायपास
यदि आपके पास ग्राफिकल इंटरफेस तक पहुंच है (कंसोल या आरडीपी के माध्यम से) और UAC सक्षम है, तो कुछ संस्करणों में माइक्रोसॉफ्ट विंडोज में एक टर्मिनल या "NT\AUTHORITY SYSTEM" जैसी किसी अन्य प्रक्रिया को अनविशेषित उपयोगकर्ता से चलाना संभव है।
इससे यह संभव होता है कि विशेषाधिकारों को उन्नत किया जा सके और एक ही समय में एक ही सुरक्षा दोहन किया जा सके। इसके अतिरिक्त, कुछ भी इंस्टॉल करने की आवश्यकता नहीं है और प्रक्रिया के दौरान उपयोग किया जाने वाला बाइनरी, माइक्रोसॉफ्ट द्वारा हस्ताक्षरित और जारी किया गया है।
कुछ प्रभावित सिस्टम निम्नलिखित हैं:
इस वंरुल्नरबिलिटी का शोषण करने के लिए, निम्नलिखित कदम अनिवार्य हैं:
आपके पास इस गिटहब रिपॉजिटरी में सभी आवश्यक फ़ाइलें और जानकारी है:
https://github.com/jas502n/CVE-2019-1388
व्यवस्थापक माध्यम से उच्च अखंडता स्तर / UAC बायपास
अखंडता स्तर के बारे में जानने के लिए इसे पढ़ें:
pageIntegrity Levelsफिर UAC और UAC बायपास के बारे में जानने के लिए इसे पढ़ें:
pageUAC - User Account Controlउच्च अखंडता से सिस्टम तक
नई सेवा
यदि आप पहले से ही उच्च अखंडता प्रक्रिया पर चल रहे हैं, तो सिस्टम तक पहुंचना आसान हो सकता है, बस एक नई सेवा बनाकर और क्रियान्वयन करके:
AlwaysInstallElevated
एक उच्च अवधारणा प्रक्रिया से आप AlwaysInstallElevated रजिस्ट्री एंट्री को सक्षम करने की कोशिश कर सकते हैं और एक .msi रैपर का उपयोग करके एक रिवर्स शैल इंस्टॉल कर सकते हैं। इसमें शामिल रजिस्ट्री कुंजीयों और कैसे एक .msi पैकेज इंस्टॉल करें के बारे में अधिक जानकारी यहाँ मिलेगी।
High + SeImpersonate privilege to System
From SeDebug + SeImpersonate to Full Token privileges
यदि आपके पास वह टोकन विशेषाधिकार हैं (संभावना है कि आप इसे पहले से ही उच्च अवधारणा प्रक्रिया में पाएंगे), तो आप सीडीबग विशेषाधिकार के साथ लगभग किसी भी प्रक्रिया को खोल सकेंगे (संरक्षित प्रक्रियाएं नहीं) , प्रक्रिया का टोकन कॉपी करें, और उस टोकन के साथ एक अनियमित प्रक्रिया बना सकेंगे। इस तकनीक का उपयोग करके आम तौर पर सिस्टम के रूप में चल रही किसी भी प्रक्रिया का चयन किया जाता है जिसमें सभी टोकन विशेषाधिकार होते हैं (हाँ, आप सभी टोकन विशेषाधिकारों के बिना सिस्टम प्रक्रियाएं पा सकते हैं)। आप यहाँ प्रस्तावित तकनीक को अमल में लाने वाले कोड का उदाहरण पा सकते हैं।
Named Pipes
यह तकनीक मीटरप्रीटर द्वारा getsystem
में उन्नति के लिए उपयोग की जाती है। तकनीक में यह शामिल है एक पाइप बनाना और फिर उस पाइप पर लिखने के लिए एक सेवा बनाना/दुरुपयोग करना। फिर, सर्वर जिसने SeImpersonate
विशेषाधिकार का उपयोग करके पाइप को बनाया है, वह पाइप क्लाइंट (सेवा) के टोकन का अनुकरण करने में सक्षम होगा (सिस्टम विशेषाधिकार प्राप्त करना)।
यदि आप नाम पाइप क्लाइंट अनुकरण के बारे में अधिक जानना चाहते हैं तो आपको इसे पढ़ना चाहिए।
यदि आप उच्च अवधारणा से सिस्टम तक जाने के लिए नाम पाइप का उपयोग करके कैसे जाएं इसका उदाहरण पढ़ना चाहते हैं तो आपको इसे पढ़ना चाहिए।
Dll Hijacking
यदि आप सिस्टम के रूप में चल रही प्रक्रिया द्वारा लोड किए जा रहे एक dll को हाइजैक करने में सफल होते हैं तो आप उन अनुमतियों के साथ विचारशील कोड को उसके अनुमतियों के साथ क्रियान्वित कर सकेंगे। इसलिए Dll Hijacking इस प्रकार की विशेषाधिकार उन्नति के लिए भी उपयोगी है, और, इसके अलावा, यदि उच्च अवधारणा प्रक्रिया से इसे प्राप्त करना बहुत आसान होता है क्योंकि इसके पास डीएल लोड करने के लिए उपयोग किए जाने वाले फोल्डरों पर लेखन अनुमतियाँ होती हैं। आप यहाँ Dll हाइजैकिंग के बारे में अधिक जान सकते हैं।
From Administrator or Network Service to System
From LOCAL SERVICE or NETWORK SERVICE to full privs
पढ़ें: https://github.com/itm4n/FullPowers
अधिक मदद
उपयोगी उपकरण
Windows स्थानीय विशेषाधिकार उन्नति वेक्टर्स की खोज करने के लिए सर्वश्रेष्ठ उपकरण: WinPEAS
PS
PrivescCheck
PowerSploit-Privesc(PowerUP) -- मिसकॉन्फिगरेशन और संवेदनशील फ़ाइलों की जांच करें (यहाँ जांच करें)। खोजा गया।
JAWS -- कुछ संभावित मिसकॉन्फिगरेशन की जांच करें और जानकारी एकत्र करें (यहाँ जांच करें)।
privesc -- मिसकॉन्फिगरेशन की जांच करें
SessionGopher -- यह PuTTY, WinSCP, SuperPuTTY, FileZilla, और RDP सहेजे गए सत्र सूचना निकालता है। स्थानीय में -Thorough का उपयोग करें।
Invoke-WCMDump -- क्रेडेंशियल मैनेजर से क्रेडेंशियल निकालता है। खोजा गया।
DomainPasswordSpray -- डोमेन के लिए एकत्रित पासवर्ड स्प्रे
Inveigh -- Inveigh एक पावरशेल ADIDNS/LLMNR/mDNS/NBNS स्पूफर और मैन-इन-द-मिडल उपकरण है।
WindowsEnum -- मूल विशेषाधिकार Windows जांच
Sherlock ~~~~ -- ज्ञात विशेषाधिकार दुरुपयोगों की खोज करें (Watson के लिए अप्रशंसित)
WINspect -- स्थानीय जांच (व्यवस्थापक अधिकार चाहिए)
Exe
Watson -- ज्ञात विशेषाधिकार दुरुपयोगों की खोज करें (विजुअलस्टूडियो का उपयोग करके कंपाइल करने की आवश्यकता है) (पूर्व-कंपाइल)
SeatBelt -- मिसकॉन्फिगरेशन खोजने के लिए होस्ट की जांच करता है (एक जानकारी एकत्र करने का उपकरण अधिक है नाम प्रिवेस्क से) (कंपाइल करने की आवश्यकता है) (पूर्व-कंपाइल)
LaZagne -- बहुत सारे सॉफ्टवेयर से क्रेडेंशियल निकालता है (गिटहब में पूर्व-कंपाइल एक्से)
SharpUP -- C# में पावरअप का पोर्ट
Beroot ~~~~ -- मिसकॉन्फिगरेशन की जांच करें (गिटहब में पूर्व-कंपाइल एक्सेक्यूटेबल)। सिफारिश नहीं की जाती। यह विंडोज 10 में अच्छे से काम नहीं करता है।
Windows-Privesc-Check -- संभावित मिसकॉन्फिगरेशन की जांच करें (पायथन से एक्से)। सिफारिश नहीं की जाती। यह विंडोज 10 में अच्छे से काम नहीं करता है।
बैट
winPEASbat -- इस पोस्ट पर आधारित उपकरण बनाया गया है (यह सही ढंग से काम करने के लिए एक्सेसचेक की आवश्यकता नहीं है लेकिन यह इस्तेमाल कर सकता है)।
स्थानीय
[Windows-Exploit-Suggester](https://
संदर्भ
Last updated