Windows Local Privilege Escalation
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
यदि आप नहीं जानते कि Windows एक्सेस टोकन क्या हैं, तो आगे बढ़ने से पहले निम्नलिखित पृष्ठ को पढ़ें:
ACLs - DACLs/SACLs/ACEs के बारे में अधिक जानकारी के लिए निम्नलिखित पृष्ठ की जांच करें:
यदि आप नहीं जानते कि Windows में अखंडता स्तर क्या हैं, तो आगे बढ़ने से पहले निम्नलिखित पृष्ठ को पढ़ें:
Windows में विभिन्न चीजें हैं जो आपको सिस्टम को सूचीबद्ध करने से रोक सकती हैं, निष्पादन योग्य फ़ाइलें चला सकती हैं या यहां तक कि आपकी गतिविधियों का पता लगा सकती हैं। आपको विशेषाधिकार वृद्धि सूचीकरण शुरू करने से पहले निम्नलिखित पृष्ठ को पढ़ना और सभी रक्षा यंत्रों को सूचीबद्ध करना चाहिए:
जांचें कि क्या Windows संस्करण में कोई ज्ञात भेद्यता है (लागू पैच भी जांचें)।
यह site Microsoft सुरक्षा कमजोरियों के बारे में विस्तृत जानकारी खोजने के लिए उपयोगी है। इस डेटाबेस में 4,700 से अधिक सुरक्षा कमजोरियाँ हैं, जो massive attack surface को दर्शाती हैं जो एक Windows वातावरण प्रस्तुत करता है।
On the system
post/windows/gather/enum_patches
post/multi/recon/local_exploit_suggester
winpeas (Winpeas has watson embedded)
Locally with system information
Github repos of exploits:
क्या env variables में कोई क्रेडेंशियल/जूसि जानकारी सहेजी गई है?
आप सीख सकते हैं कि इसे कैसे चालू किया जाए https://sid-500.com/2017/11/07/powershell-enabling-transcription-logging-by-using-group-policy/
PowerShell पाइपलाइन निष्पादन का विवरण दर्ज किया जाता है, जिसमें निष्पादित कमांड, कमांड कॉल और स्क्रिप्ट के भाग शामिल होते हैं। हालाँकि, पूर्ण निष्पादन विवरण और आउटपुट परिणाम कैप्चर नहीं किए जा सकते हैं।
इसे सक्षम करने के लिए, दस्तावेज़ के "Transcript files" अनुभाग में दिए गए निर्देशों का पालन करें, "Powershell Transcription" के बजाय "Module Logging" का विकल्प चुनें।
पावरशेल लॉग से अंतिम 15 घटनाएँ देखने के लिए आप निम्नलिखित कमांड चला सकते हैं:
स्क्रिप्ट के निष्पादन की पूरी गतिविधि और पूर्ण सामग्री रिकॉर्ड की जाती है, यह सुनिश्चित करते हुए कि कोड का हर ब्लॉक उसके चलने के दौरान दस्तावेजीकृत है। यह प्रक्रिया प्रत्येक गतिविधि का एक व्यापक ऑडिट ट्रेल बनाए रखती है, जो फॉरेंसिक्स और दुर्भावनापूर्ण व्यवहार का विश्लेषण करने के लिए मूल्यवान है। निष्पादन के समय सभी गतिविधियों को दस्तावेजीकृत करके, प्रक्रिया के बारे में विस्तृत जानकारी प्रदान की जाती है।
Windows Event Viewer में Script Block के लिए लॉगिंग इवेंट्स निम्नलिखित पथ पर स्थित हो सकते हैं: Application and Services Logs > Microsoft > Windows > PowerShell > Operational। अंतिम 20 इवेंट्स देखने के लिए आप उपयोग कर सकते हैं:
यदि अपडेट httpS का उपयोग करके नहीं बल्कि http का उपयोग करके अनुरोध किए जाते हैं, तो आप सिस्टम को समझौता कर सकते हैं।
आप निम्नलिखित चलाकर जांचना शुरू करते हैं कि क्या नेटवर्क गैर-SSL WSUS अपडेट का उपयोग करता है:
यदि आपको इस तरह का उत्तर मिलता है:
And if HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate\AU /v UseWUServer
is equals to 1
.
Then, यह exploitable है। यदि अंतिम रजिस्ट्री 0 के बराबर है, तो WSUS प्रविष्टि को अनदेखा किया जाएगा।
इन कमजोरियों का फायदा उठाने के लिए आप उपकरणों का उपयोग कर सकते हैं: Wsuxploit, pyWSUS - ये MiTM हथियारबंद exploits स्क्रिप्ट हैं जो गैर-SSL WSUS ट्रैफ़िक में 'फर्जी' अपडेट इंजेक्ट करने के लिए हैं।
यहाँ शोध पढ़ें:
WSUS CVE-2020-1013
यहाँ पूरा रिपोर्ट पढ़ें. बुनियादी रूप से, यह वह दोष है जिसका फायदा यह बग उठाता है:
यदि हमारे पास अपने स्थानीय उपयोगकर्ता प्रॉक्सी को संशोधित करने की शक्ति है, और Windows Updates इंटरनेट एक्सप्लोरर की सेटिंग में कॉन्फ़िगर की गई प्रॉक्सी का उपयोग करता है, तो हमारे पास PyWSUS को स्थानीय रूप से चलाने की शक्ति है ताकि हम अपने स्वयं के ट्रैफ़िक को इंटरसेप्ट कर सकें और अपने संपत्ति पर एक उच्च स्तर के उपयोगकर्ता के रूप में कोड चला सकें।
इसके अलावा, चूंकि WSUS सेवा वर्तमान उपयोगकर्ता की सेटिंग का उपयोग करती है, यह इसके प्रमाणपत्र स्टोर का भी उपयोग करेगी। यदि हम WSUS होस्टनाम के लिए एक स्व-हस्ताक्षरित प्रमाणपत्र उत्पन्न करते हैं और इस प्रमाणपत्र को वर्तमान उपयोगकर्ता के प्रमाणपत्र स्टोर में जोड़ते हैं, तो हम HTTP और HTTPS दोनों WSUS ट्रैफ़िक को इंटरसेप्ट करने में सक्षम होंगे। WSUS प्रमाणपत्र पर पहले उपयोग पर विश्वास करने के प्रकार की मान्यता लागू करने के लिए कोई HSTS-जैसे तंत्र का उपयोग नहीं करता है। यदि प्रस्तुत प्रमाणपत्र उपयोगकर्ता द्वारा विश्वसनीय है और सही होस्टनाम है, तो इसे सेवा द्वारा स्वीकार किया जाएगा।
आप इस कमजोरी का फायदा WSUSpicious उपकरण का उपयोग करके उठा सकते हैं (एक बार जब इसे मुक्त किया गया हो)।
Windows डोमेन वातावरण में एक स्थानीय विशेषाधिकार वृद्धि की कमजोरी विशेष परिस्थितियों में मौजूद है। इन परिस्थितियों में वे वातावरण शामिल हैं जहाँ LDAP साइनिंग लागू नहीं है, उपयोगकर्ताओं के पास Resource-Based Constrained Delegation (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/
यदि ये 2 रजिस्टर सक्षम हैं (मान 0x1 है), तो किसी भी विशेषाधिकार के उपयोगकर्ता *.msi
फ़ाइलों को NT AUTHORITY\SYSTEM के रूप में स्थापित (निष्पादित) कर सकते हैं।
यदि आपके पास एक मीटरप्रेटर सत्र है, तो आप इस तकनीक को exploit/windows/local/always_install_elevated
मॉड्यूल का उपयोग करके स्वचालित कर सकते हैं।
Write-UserAddMSI
कमांड का उपयोग करें power-up से वर्तमान निर्देशिका के अंदर एक Windows MSI बाइनरी बनाने के लिए ताकि विशेषाधिकार बढ़ाए जा सकें। यह स्क्रिप्ट एक पूर्व-संकलित MSI इंस्टॉलर लिखती है जो उपयोगकर्ता/समूह जोड़ने के लिए संकेत देती है (इसलिए आपको GIU पहुंच की आवश्यकता होगी):
Just execute the created binary to escalate privileges.
इस ट्यूटोरियल को पढ़ें ताकि आप इस टूल्स का उपयोग करके एक MSI wrapper बना सकें। ध्यान दें कि आप एक ".bat" फ़ाइल को लपेट सकते हैं यदि आप सिर्फ कमांड लाइनों को निष्पादित करना चाहते हैं।
Cobalt Strike या Metasploit के साथ एक नया Windows EXE TCP payload C:\privesc\beacon.exe
में जनरेट करें।
Visual Studio खोलें, Create a new project चुनें और खोज बॉक्स में "installer" टाइप करें। Setup Wizard प्रोजेक्ट चुनें और Next पर क्लिक करें।
प्रोजेक्ट को एक नाम दें, जैसे AlwaysPrivesc, स्थान के लिए C:\privesc
का उपयोग करें, सॉल्यूशन और प्रोजेक्ट को एक ही निर्देशिका में रखें चुनें, और Create पर क्लिक करें।
Next पर क्लिक करते रहें जब तक आप 4 में से 3 चरण पर नहीं पहुँचते (शामिल करने के लिए फ़ाइलें चुनें)। Add पर क्लिक करें और उस Beacon payload को चुनें जिसे आपने अभी जनरेट किया है। फिर Finish पर क्लिक करें।
Solution Explorer में AlwaysPrivesc प्रोजेक्ट को हाइलाइट करें और Properties में, TargetPlatform को x86 से x64 में बदलें।
अन्य प्रॉपर्टीज़ हैं जिन्हें आप बदल सकते हैं, जैसे Author और Manufacturer जो स्थापित ऐप को अधिक वैध दिखा सकते हैं।
प्रोजेक्ट पर राइट-क्लिक करें और View > Custom Actions चुनें।
Install पर राइट-क्लिक करें और Add Custom Action चुनें।
Application Folder पर डबल-क्लिक करें, अपनी beacon.exe फ़ाइल चुनें और OK पर क्लिक करें। यह सुनिश्चित करेगा कि beacon payload इंस्टॉलर चलने पर तुरंत निष्पादित हो।
Custom Action Properties के तहत, Run64Bit को True में बदलें।
अंत में, build it।
यदि चेतावनी File 'beacon-tcp.exe' targeting 'x64' is not compatible with the project's target platform 'x86'
दिखाई देती है, तो सुनिश्चित करें कि आपने प्लेटफ़ॉर्म को x64 पर सेट किया है।
पृष्ठभूमि में दुर्भावनापूर्ण .msi
फ़ाइल की स्थापना को निष्पादित करने के लिए:
इस कमजोरियों का लाभ उठाने के लिए आप उपयोग कर सकते हैं: exploit/windows/local/always_install_elevated
ये सेटिंग्स यह तय करती हैं कि क्या लॉग किया जा रहा है, इसलिए आपको ध्यान देना चाहिए
Windows Event Forwarding, यह जानना दिलचस्प है कि लॉग कहाँ भेजे जाते हैं
LAPS स्थानीय व्यवस्थापक पासवर्ड के प्रबंधन के लिए डिज़ाइन किया गया है, यह सुनिश्चित करते हुए कि प्रत्येक पासवर्ड विशिष्ट, यादृच्छिक, और नियमित रूप से अपडेट किया गया है उन कंप्यूटरों पर जो एक डोमेन से जुड़े हैं। ये पासवर्ड सक्रिय निर्देशिका में सुरक्षित रूप से संग्रहीत होते हैं और केवल उन उपयोगकर्ताओं द्वारा एक्सेस किए जा सकते हैं जिन्हें ACLs के माध्यम से पर्याप्त अनुमतियाँ दी गई हैं, जिससे उन्हें अधिकृत होने पर स्थानीय व्यवस्थापक पासवर्ड देखने की अनुमति मिलती है।
यदि सक्रिय है, तो सादा-टेक्स्ट पासवर्ड LSASS (स्थानीय सुरक्षा प्राधिकरण उपप्रणाली सेवा) में संग्रहीत होते हैं। WDigest के बारे में अधिक जानकारी इस पृष्ठ पर.
Windows 8.1 से शुरू होकर, Microsoft ने स्थानीय सुरक्षा प्राधिकरण (LSA) के लिए बेहतर सुरक्षा पेश की है ताकि अविश्वसनीय प्रक्रियाओं द्वारा इसके मेमोरी को पढ़ने या कोड इंजेक्ट करने के प्रयासों को ब्लॉक किया जा सके, जिससे सिस्टम की सुरक्षा और बढ़ गई है। LSA सुरक्षा के बारे में अधिक जानकारी यहाँ.
Credential Guard को Windows 10 में पेश किया गया था। इसका उद्देश्य एक डिवाइस पर संग्रहीत क्रेडेंशियल्स को पास-थ-हैश हमलों जैसे खतरों से सुरक्षित रखना है।| Credentials Guard के बारे में अधिक जानकारी यहाँ।
डोमेन क्रेडेंशियल्स को लोकल सिक्योरिटी अथॉरिटी (LSA) द्वारा प्रमाणित किया जाता है और ऑपरेटिंग सिस्टम के घटकों द्वारा उपयोग किया जाता है। जब किसी उपयोगकर्ता का लॉगिन डेटा एक पंजीकृत सुरक्षा पैकेज द्वारा प्रमाणित किया जाता है, तो उपयोगकर्ता के लिए डोमेन क्रेडेंशियल्स आमतौर पर स्थापित किए जाते हैं। Cached Credentials के बारे में अधिक जानकारी यहाँ.
आपको यह जांचना चाहिए कि क्या आप जिन समूहों में हैं, उनमें कोई दिलचस्प अनुमतियाँ हैं
यदि आप किसी विशेषाधिकार प्राप्त समूह का हिस्सा हैं, तो आप विशेषाधिकार बढ़ाने में सक्षम हो सकते हैं। विशेषाधिकार प्राप्त समूहों के बारे में जानें और उन्हें विशेषाधिकार बढ़ाने के लिए कैसे दुरुपयोग करें यहाँ:
और अधिक जानें कि token क्या है इस पृष्ठ पर: Windows Tokens. दिलचस्प tokens के बारे में जानने और उन्हें दुरुपयोग करने के लिए निम्नलिखित पृष्ठ देखें:
सबसे पहले, प्रक्रियाओं की सूची बनाते समय प्रक्रिया की कमांड लाइन के अंदर पासवर्ड की जांच करें। जांचें कि क्या आप कुछ बाइनरी को ओवरराइट कर सकते हैं या यदि आपके पास बाइनरी फ़ोल्डर के लिखने की अनुमति है ताकि संभावित DLL Hijacking attacks का लाभ उठाया जा सके:
हमेशा संभावित electron/cef/chromium debuggers की जांच करें, आप इसका दुरुपयोग करके विशेषाधिकार बढ़ा सकते हैं.
प्रक्रियाओं के बाइनरी की अनुमतियों की जांच करना
प्रक्रियाओं के बाइनरी के फ़ोल्डरों की अनुमतियों की जांच (DLL Hijacking)
आप procdump का उपयोग करके एक चल रहे प्रक्रिया का मेमोरी डंप बना सकते हैं। FTP जैसी सेवाओं में मेमोरी में स्पष्ट पाठ में क्रेडेंशियल्स होते हैं, मेमोरी को डंप करने और क्रेडेंशियल्स को पढ़ने का प्रयास करें।
SYSTEM के रूप में चलने वाले एप्लिकेशन एक उपयोगकर्ता को CMD उत्पन्न करने या निर्देशिकाओं को ब्राउज़ करने की अनुमति दे सकते हैं।
उदाहरण: "Windows Help and Support" (Windows + F1), "command prompt" के लिए खोजें, "Command Prompt खोलने के लिए क्लिक करें" पर क्लिक करें
सेवाओं की सूची प्राप्त करें:
आप sc का उपयोग करके एक सेवा की जानकारी प्राप्त कर सकते हैं
यह अनुशंसा की जाती है कि प्रत्येक सेवा के लिए आवश्यक विशेषाधिकार स्तर की जांच करने के लिए Sysinternals से बाइनरी accesschk हो।
यह अनुशंसा की जाती है कि यह जांचें कि क्या "प्रमाणित उपयोगकर्ता" किसी सेवा को संशोधित कर सकते हैं:
आप accesschk.exe को XP के लिए यहाँ डाउनलोड कर सकते हैं
यदि आपको यह त्रुटि मिल रही है (उदाहरण के लिए SSDPSRV के साथ):
सिस्टम त्रुटि 1058 हुई है. सेवा शुरू नहीं की जा सकती, या तो क्योंकि इसे अक्षम किया गया है या क्योंकि इसके साथ कोई सक्षम उपकरण नहीं है।
आप इसे सक्षम कर सकते हैं।
यह ध्यान में रखें कि सेवा upnphost SSDPSRV पर निर्भर करती है (XP SP1 के लिए)
इस समस्या का एक और समाधान यह है कि चलाएँ:
उस परिदृश्य में जहां "प्रमाणित उपयोगकर्ता" समूह के पास एक सेवा पर SERVICE_ALL_ACCESS है, सेवा के निष्पादन योग्य बाइनरी को संशोधित करना संभव है। sc को संशोधित और निष्पादित करने के लिए:
Privileges can be escalated through various permissions:
SERVICE_CHANGE_CONFIG: सेवा बाइनरी को पुनः कॉन्फ़िगर करने की अनुमति देता है।
WRITE_DAC: अनुमति पुनः कॉन्फ़िगर करने की अनुमति देता है, जिससे सेवा कॉन्फ़िगरेशन बदलने की क्षमता मिलती है।
WRITE_OWNER: स्वामित्व अधिग्रहण और अनुमति पुनः कॉन्फ़िगर करने की अनुमति देता है।
GENERIC_WRITE: सेवा कॉन्फ़िगरेशन बदलने की क्षमता विरासत में प्राप्त करता है।
GENERIC_ALL: सेवा कॉन्फ़िगरेशन बदलने की क्षमता भी विरासत में प्राप्त करता है।
For the detection and exploitation of this vulnerability, the exploit/windows/local/service_permissions can be utilized.
Check if you can modify the binary that is executed by a service or if you have write permissions on the folder where the binary is located (DLL Hijacking). You can get every binary that is executed by a service using wmic (not in system32) and check your permissions using icacls:
आप sc और icacls का भी उपयोग कर सकते हैं:
आपको यह जांचना चाहिए कि क्या आप किसी सेवा रजिस्ट्र्री को संशोधित कर सकते हैं। आप एक सेवा रजिस्ट्र्री पर अपनी अनुमतियों की जांच करने के लिए यह कर सकते हैं:
यह जांचना चाहिए कि Authenticated Users या NT AUTHORITY\INTERACTIVE के पास FullControl
अनुमतियाँ हैं या नहीं। यदि हाँ, तो सेवा द्वारा निष्पादित बाइनरी को बदला जा सकता है।
बाइनरी के निष्पादन के पथ को बदलने के लिए:
यदि आपके पास एक रजिस्ट्री पर यह अनुमति है, तो इसका मतलब है कि आप इस रजिस्ट्री से उप रजिस्ट्री बना सकते हैं। Windows सेवाओं के मामले में, यह मनमाने कोड को निष्पादित करने के लिए पर्याप्त है:
यदि किसी निष्पादन योग्य फ़ाइल का पथ उद्धरण चिह्नों के अंदर नहीं है, तो Windows हर स्पेस से पहले समाप्त होने वाले को निष्पादित करने की कोशिश करेगा।
उदाहरण के लिए, पथ C:\Program Files\Some Folder\Service.exe के लिए Windows निष्पादित करने की कोशिश करेगा:
आप इस कमजोरियों का पता लगा सकते हैं और इसका लाभ उठा सकते हैं metasploit के साथ: exploit/windows/local/trusted\_service\_path
आप मैन्युअल रूप से एक सेवा बाइनरी बना सकते हैं metasploit के साथ:
Windows उपयोगकर्ताओं को यह निर्दिष्ट करने की अनुमति देता है कि यदि कोई सेवा विफल होती है तो क्या कार्रवाई की जानी चाहिए। इस सुविधा को एक बाइनरी की ओर इंगित करने के लिए कॉन्फ़िगर किया जा सकता है। यदि यह बाइनरी प्रतिस्थापनीय है, तो विशेषाधिकार वृद्धि संभव हो सकती है। अधिक विवरण आधिकारिक दस्तावेज़ में पाया जा सकता है।
बाइनरी के अनुमतियों की जांच करें (शायद आप एक को अधिलेखित कर सकते हैं और विशेषाधिकार बढ़ा सकते हैं) और फोल्डरों के (DLL Hijacking).
जांचें कि क्या आप किसी कॉन्फ़िग फ़ाइल को संशोधित कर सकते हैं ताकि किसी विशेष फ़ाइल को पढ़ सकें या यदि आप किसी बाइनरी को संशोधित कर सकते हैं जो एक व्यवस्थापक खाते (schedtasks) द्वारा निष्पादित होने जा रही है।
सिस्टम में कमजोर फ़ोल्डर/फ़ाइल अनुमतियों को खोजने का एक तरीका है:
जांचें कि क्या आप किसी रजिस्ट्री या बाइनरी को ओवरराइट कर सकते हैं जो किसी अन्य उपयोगकर्ता द्वारा निष्पादित होने वाली है। अधिक जानने के लिए निम्नलिखित पृष्ठ को पढ़ें प्रिविलेज बढ़ाने के लिए दिलचस्प ऑटोरन स्थानों के बारे में:
संभावित तीसरे पक्ष के अजीब/कमजोर ड्राइवरों की तलाश करें
यदि आपके पास PATH पर मौजूद एक फ़ोल्डर के अंदर लिखने की अनुमति है तो आप एक प्रक्रिया द्वारा लोड की गई DLL को हाईजैक कर सकते हैं और अधिकार बढ़ा सकते हैं।
PATH के अंदर सभी फ़ोल्डरों की अनुमतियों की जांच करें:
अधिक जानकारी के लिए कि इस चेक का दुरुपयोग कैसे करें:
hosts फ़ाइल पर हार्डकोडेड अन्य ज्ञात कंप्यूटरों की जांच करें
बाहर से प्रतिबंधित सेवाओं की जांच करें
फ़ायरवॉल से संबंधित कमांड के लिए इस पृष्ठ की जांच करें (नियमों की सूची, नियम बनाना, बंद करना, बंद करना...)
यहाँ और नेटवर्क एन्यूमरेशन के लिए कमांड
बाइनरी bash.exe
भी C:\Windows\WinSxS\amd64_microsoft-windows-lxssbash_[...]\bash.exe
में पाया जा सकता है।
यदि आप रूट उपयोगकर्ता प्राप्त करते हैं, तो आप किसी भी पोर्ट पर सुन सकते हैं (जब आप पहली बार nc.exe
का उपयोग करके किसी पोर्ट पर सुनते हैं, तो यह GUI के माध्यम से पूछेगा कि क्या nc
को फ़ायरवॉल द्वारा अनुमति दी जानी चाहिए)।
बश को रूट के रूप में आसानी से शुरू करने के लिए, आप --default-user root
आजमा सकते हैं।
आप WSL
फ़ाइल सिस्टम को फ़ोल्डर C:\Users\%USERNAME%\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs\
में खोज सकते हैं।
From https://www.neowin.net/news/windows-7-exploring-credential-manager-and-windows-vault Windows Vault सर्वर, वेबसाइटों और अन्य कार्यक्रमों के लिए उपयोगकर्ता क्रेडेंशियल्स को संग्रहीत करता है जिन्हें Windows उपयोगकर्ताओं को स्वचालित रूप से लॉग इन कर सकता है। पहले दृष्टिकोण में, यह ऐसा लग सकता है कि अब उपयोगकर्ता अपने फेसबुक क्रेडेंशियल्स, ट्विटर क्रेडेंशियल्स, जीमेल क्रेडेंशियल्स आदि को संग्रहीत कर सकते हैं, ताकि वे स्वचालित रूप से ब्राउज़रों के माध्यम से लॉग इन कर सकें। लेकिन ऐसा नहीं है।
Windows Vault उन क्रेडेंशियल्स को संग्रहीत करता है जिन्हें Windows उपयोगकर्ताओं को स्वचालित रूप से लॉग इन कर सकता है, जिसका अर्थ है कि कोई भी Windows एप्लिकेशन जिसे किसी संसाधन (सर्वर या वेबसाइट) तक पहुँचने के लिए क्रेडेंशियल्स की आवश्यकता होती है इस Credential Manager और Windows Vault का उपयोग कर सकता है और उपयोगकर्ताओं द्वारा बार-बार उपयोगकर्ता नाम और पासवर्ड दर्ज करने के बजाय प्रदान किए गए क्रेडेंशियल्स का उपयोग कर सकता है।
जब तक एप्लिकेशन Credential Manager के साथ इंटरैक्ट नहीं करते, मुझे नहीं लगता कि उनके लिए किसी दिए गए संसाधन के लिए क्रेडेंशियल्स का उपयोग करना संभव है। इसलिए, यदि आपका एप्लिकेशन वॉल्ट का उपयोग करना चाहता है, तो इसे किसी न किसी तरह क्रेडेंशियल मैनेजर के साथ संवाद करना चाहिए और उस संसाधन के लिए क्रेडेंशियल्स का अनुरोध करना चाहिए डिफ़ॉल्ट स्टोरेज वॉल्ट से।
मशीन पर संग्रहीत क्रेडेंशियल्स की सूची बनाने के लिए cmdkey
का उपयोग करें।
फिर आप /savecred
विकल्पों के साथ runas
का उपयोग कर सकते हैं ताकि सहेजे गए क्रेडेंशियल्स का उपयोग किया जा सके। निम्नलिखित उदाहरण एक SMB शेयर के माध्यम से एक दूरस्थ बाइनरी को कॉल कर रहा है।
runas
का उपयोग एक प्रदान किए गए क्रेडेंशियल सेट के साथ।
Note that mimikatz, lazagne, credentialfileview, VaultPasswordView, or from Empire Powershells module.
डेटा प्रोटेक्शन एपीआई (DPAPI) डेटा के सममित एन्क्रिप्शन के लिए एक विधि प्रदान करता है, जो मुख्य रूप से विंडोज ऑपरेटिंग सिस्टम के भीतर असममित निजी कुंजियों के सममित एन्क्रिप्शन के लिए उपयोग किया जाता है। यह एन्क्रिप्शन एक उपयोगकर्ता या सिस्टम रहस्य का उपयोग करता है ताकि एंट्रॉपी में महत्वपूर्ण योगदान दिया जा सके।
DPAPI उपयोगकर्ता के लॉगिन रहस्यों से निकाली गई सममित कुंजी के माध्यम से कुंजियों के एन्क्रिप्शन को सक्षम करता है। सिस्टम एन्क्रिप्शन के मामलों में, यह सिस्टम के डोमेन प्रमाणीकरण रहस्यों का उपयोग करता है।
DPAPI का उपयोग करके एन्क्रिप्टेड उपयोगकर्ता RSA कुंजियाँ %APPDATA%\Microsoft\Protect\{SID}
निर्देशिका में संग्रहीत होती हैं, जहाँ {SID}
उपयोगकर्ता के सुरक्षा पहचानकर्ता का प्रतिनिधित्व करता है। DPAPI कुंजी, जो उपयोगकर्ता की निजी कुंजियों की सुरक्षा करने वाली मास्टर कुंजी के साथ उसी फ़ाइल में स्थित होती है, आमतौर पर 64 बाइट्स के यादृच्छिक डेटा से बनी होती है। (यह ध्यान रखना महत्वपूर्ण है कि इस निर्देशिका तक पहुँच प्रतिबंधित है, जिससे dir
कमांड के माध्यम से इसकी सामग्री को सूचीबद्ध करने से रोका जाता है, हालाँकि इसे PowerShell के माध्यम से सूचीबद्ध किया जा सकता है)।
आप mimikatz module dpapi::masterkey
का उपयोग उचित तर्कों (/pvk
या /rpc
) के साथ इसे डिक्रिप्ट करने के लिए कर सकते हैं।
मास्टर पासवर्ड द्वारा सुरक्षित क्रेडेंशियल फ़ाइलें आमतौर पर निम्नलिखित स्थान पर होती हैं:
आप mimikatz module dpapi::cred
का उपयोग उचित /masterkey
के साथ डिक्रिप्ट करने के लिए कर सकते हैं।
आप sekurlsa::dpapi
module के साथ memory से कई DPAPI masterkeys निकाल सकते हैं (यदि आप root हैं)।
PowerShell credentials अक्सर scripting और स्वचालन कार्यों के लिए एन्क्रिप्टेड क्रेडेंशियल्स को सुविधाजनक तरीके से स्टोर करने के लिए उपयोग किए जाते हैं। क्रेडेंशियल्स को DPAPI का उपयोग करके सुरक्षित किया जाता है, जिसका आमतौर पर मतलब है कि इन्हें केवल उसी उपयोगकर्ता द्वारा उसी कंप्यूटर पर डिक्रिप्ट किया जा सकता है जिस पर इन्हें बनाया गया था।
आप फ़ाइल से PS क्रेडेंशियल्स को decrypt करने के लिए कर सकते हैं:
आप इन्हें HKEY_USERS\<SID>\Software\Microsoft\Terminal Server Client\Servers\
और HKCU\Software\Microsoft\Terminal Server Client\Servers\
में पा सकते हैं।
Use the Mimikatz dpapi::rdg
module with appropriate /masterkey
to decrypt any .rdg files
You can extract many DPAPI masterkeys from memory with the Mimikatz sekurlsa::dpapi
module
लोग अक्सर Windows वर्कस्टेशनों पर StickyNotes ऐप का उपयोग पासवर्ड और अन्य जानकारी को सहेजने के लिए करते हैं, यह नहीं realizing कि यह एक डेटाबेस फ़ाइल है। यह फ़ाइल C:\Users\<user>\AppData\Local\Packages\Microsoft.MicrosoftStickyNotes_8wekyb3d8bbwe\LocalState\plum.sqlite
पर स्थित है और इसे खोजने और जांचने के लिए हमेशा मूल्यवान होता है।
ध्यान दें कि AppCmd.exe से पासवर्ड पुनर्प्राप्त करने के लिए आपको Administrator होना चाहिए और उच्च इंटीग्रिटी स्तर के तहत चलाना चाहिए।
AppCmd.exe %systemroot%\system32\inetsrv\
निर्देशिका में स्थित है।
यदि यह फ़ाइल मौजूद है तो यह संभव है कि कुछ क्रेडेंशियल्स कॉन्फ़िगर किए गए हैं और उन्हें पुनर्प्राप्त किया जा सकता है।
This code was extracted from PowerUP:
जांचें कि C:\Windows\CCM\SCClient.exe
मौजूद है या नहीं।
इंस्टॉलर SYSTEM विशेषाधिकारों के साथ चलाए जाते हैं, कई DLL Sideloading के प्रति संवेदनशील होते हैं (जानकारी https://github.com/enjoiz/Privesc)।
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 ने विषम कुंजी प्रमाणीकरण के दौरान dpapi.dll
के उपयोग की पहचान नहीं की।
आप इन फ़ाइलों को metasploit का उपयोग करके भी खोज सकते हैं: post/windows/gather/enum_unattend
Example content:
एक फ़ाइल खोजें जिसका नाम SiteList.xml है
एक विशेषता पहले उपलब्ध थी जो Group Policy Preferences (GPP) के माध्यम से मशीनों के एक समूह पर कस्टम स्थानीय व्यवस्थापक खातों को तैनात करने की अनुमति देती थी। हालाँकि, इस विधि में महत्वपूर्ण सुरक्षा खामियाँ थीं। सबसे पहले, Group Policy Objects (GPOs), जो SYSVOL में XML फ़ाइलों के रूप में संग्रहीत होते हैं, किसी भी डोमेन उपयोगकर्ता द्वारा एक्सेस किए जा सकते थे। दूसरे, इन GPPs के भीतर पासवर्ड, जो एक सार्वजनिक रूप से प्रलेखित डिफ़ॉल्ट कुंजी का उपयोग करके AES256 के साथ एन्क्रिप्ट किए गए थे, किसी भी प्रमाणित उपयोगकर्ता द्वारा डिक्रिप्ट किए जा सकते थे। यह एक गंभीर जोखिम प्रस्तुत करता था, क्योंकि इससे उपयोगकर्ताओं को उच्चाधिकार प्राप्त करने की अनुमति मिल सकती थी।
इस जोखिम को कम करने के लिए, एक फ़ंक्शन विकसित किया गया था जो "cpassword" फ़ील्ड वाले स्थानीय रूप से कैश किए गए GPP फ़ाइलों को स्कैन करता है जो खाली नहीं है। ऐसी फ़ाइल मिलने पर, फ़ंक्शन पासवर्ड को डिक्रिप्ट करता है और एक कस्टम PowerShell ऑब्जेक्ट लौटाता है। यह ऑब्जेक्ट GPP और फ़ाइल के स्थान के बारे में विवरण शामिल करता है, जो इस सुरक्षा भेद्यता की पहचान और सुधार में मदद करता है।
इन फ़ाइलों के लिए C:\ProgramData\Microsoft\Group Policy\history
या C:\Documents and Settings\All Users\Application Data\Microsoft\Group Policy\history (W Vista से पहले) में खोजें:
Groups.xml
Services.xml
Scheduledtasks.xml
DataSources.xml
Printers.xml
Drives.xml
cPassword को डिक्रिप्ट करने के लिए:
Using crackmapexec to get the passwords: क्रैकमैपएक्सेक का उपयोग करके पासवर्ड प्राप्त करना:
वेब.config का उदाहरण जिसमें क्रेडेंशियल्स हैं:
आप हमेशा उपयोगकर्ता से उसके क्रेडेंशियल्स या किसी अन्य उपयोगकर्ता के क्रेडेंशियल्स दर्ज करने के लिए कह सकते हैं यदि आपको लगता है कि वह उन्हें जानता होगा (ध्यान दें कि सीधे ग्राहक से क्रेडेंशियल्स मांगना वास्तव में जोखिम भरा है):
जाने-माने फ़ाइलें जो कुछ समय पहले स्पष्ट-टेक्स्ट या Base64 में पासवर्ड रखती थीं
सभी प्रस्तावित फ़ाइलों की खोज करें:
आपको बिन की जांच करनी चाहिए ताकि उसमें क्रेडेंशियल्स की तलाश की जा सके।
To recover passwords saved by several programs you can use: http://www.nirsoft.net/password_recovery_tools.html
Other possible registry keys with credentials
Registry से openssh कुंजी निकालें।
आपको उन dbs की जांच करनी चाहिए जहाँ Chrome या Firefox से पासवर्ड संग्रहीत हैं। ब्राउज़र्स के इतिहास, बुकमार्क और पसंदीदा की भी जांच करें ताकि शायद कुछ पासवर्ड वहाँ संग्रहीत हों।
ब्राउज़र्स से पासवर्ड निकालने के लिए उपकरण:
Mimikatz: dpapi::chrome
कंपोनेंट ऑब्जेक्ट मॉडल (COM) एक तकनीक है जो Windows ऑपरेटिंग सिस्टम के भीतर बनाई गई है जो विभिन्न भाषाओं के सॉफ़्टवेयर घटकों के बीच अंतरसंवाद की अनुमति देती है। प्रत्येक COM घटक को क्लास ID (CLSID) के माध्यम से पहचाना जाता है और प्रत्येक घटक एक या एक से अधिक इंटरफेस के माध्यम से कार्यक्षमता को उजागर करता है, जिसे इंटरफेस IDs (IIDs) के माध्यम से पहचाना जाता है।
COM वर्ग और इंटरफेस को रजिस्ट्री में HKEY_CLASSES_ROOT\CLSID और HKEY_CLASSES_ROOT\Interface के तहत परिभाषित किया गया है। यह रजिस्ट्री HKEY_LOCAL_MACHINE\Software\Classes + HKEY_CURRENT_USER\Software\Classes = HKEY_CLASSES_ROOT को मिलाकर बनाई गई है।
इस रजिस्ट्री के CLSIDs के अंदर आप बच्चे की रजिस्ट्री InProcServer32 पा सकते हैं जिसमें एक डिफ़ॉल्ट मान होता है जो एक DLL की ओर इशारा करता है और एक मान जिसे ThreadingModel कहा जाता है जो Apartment (सिंगल-थ्रेडेड), Free (मल्टी-थ्रेडेड), Both (सिंगल या मल्टी) या Neutral (थ्रेड न्यूट्रल) हो सकता है।
बुनियादी रूप से, यदि आप किसी भी DLL को ओवरराइट कर सकते हैं जो निष्पादित होने जा रही है, तो आप अधिकार बढ़ा सकते हैं यदि वह DLL किसी अन्य उपयोगकर्ता द्वारा निष्पादित होने जा रही है।
यह जानने के लिए कि हमलावर COM Hijacking का उपयोग कैसे करते हैं, एक स्थायी तंत्र के रूप में जांचें:
फाइल सामग्री के लिए खोजें
एक निश्चित फ़ाइल नाम के साथ फ़ाइल खोजें
रजिस्ट्री में कुंजी नामों और पासवर्ड के लिए खोजें
MSF-Credentials Plugin एक msf प्लगइन है जिसे मैंने इस प्लगइन को स्वचालित रूप से हर metasploit POST मॉड्यूल को निष्पादित करने के लिए बनाया है जो पीड़ित के अंदर क्रेडेंशियल्स की खोज करता है। Winpeas स्वचालित रूप से इस पृष्ठ में उल्लिखित पासवर्ड वाले सभी फ़ाइलों की खोज करता है। Lazagne एक और शानदार उपकरण है जो एक सिस्टम से पासवर्ड निकालता है।
उपकरण SessionGopher सत्रों, उपयोगकर्ता नामों और पासवर्डों की खोज करता है कई उपकरणों के जो इस डेटा को स्पष्ट पाठ में सहेजते हैं (PuTTY, WinSCP, FileZilla, SuperPuTTY, और RDP)
कल्पना करें कि एक प्रक्रिया जो SYSTEM के रूप में चल रही है एक नई प्रक्रिया खोलती है (OpenProcess()
) पूर्ण पहुँच के साथ। वही प्रक्रिया एक नई प्रक्रिया भी बनाती है (CreateProcess()
) कम विशेषाधिकार के साथ लेकिन मुख्य प्रक्रिया के सभी खुले हैंडल विरासत में लेते हुए।
फिर, यदि आपके पास कम विशेषाधिकार वाली प्रक्रिया तक पूर्ण पहुँच है, तो आप privileged प्रक्रिया के लिए खोले गए हैंडल को पकड़ सकते हैं जो OpenProcess()
के साथ बनाई गई थी और एक shellcode इंजेक्ट कर सकते हैं।
इस उदाहरण को पढ़ें अधिक जानकारी के लिए इस भेद्यता का पता लगाने और शोषण करने के बारे में।
इस अन्य पोस्ट को पढ़ें अधिक खुली हैंडल की प्रक्रियाओं और थ्रेड्स के परीक्षण और दुरुपयोग के लिए विभिन्न स्तरों की अनुमतियों (केवल पूर्ण पहुँच नहीं) पर अधिक पूर्ण व्याख्या के लिए.
साझा मेमोरी खंड, जिसे pipes कहा जाता है, प्रक्रिया संचार और डेटा स्थानांतरण की अनुमति देते हैं।
Windows एक विशेषता प्रदान करता है जिसे Named Pipes कहा जाता है, जो असंबंधित प्रक्रियाओं को डेटा साझा करने की अनुमति देता है, यहां तक कि विभिन्न नेटवर्कों पर भी। यह एक क्लाइंट/सर्वर आर्किटेक्चर के समान है, जिसमें भूमिकाएँ named pipe server और named pipe client के रूप में परिभाषित होती हैं।
जब डेटा एक client द्वारा एक pipe के माध्यम से भेजा जाता है, तो server जिसने pipe सेट किया है, client की पहचान अपनाने की क्षमता रखता है, बशर्ते कि उसके पास आवश्यक SeImpersonate अधिकार हों। एक privileged प्रक्रिया की पहचान करना जो एक pipe के माध्यम से संवाद करती है जिसे आप अनुकरण कर सकते हैं, आपको उच्च विशेषाधिकार प्राप्त करने का अवसर प्रदान करता है जब वह प्रक्रिया उस pipe के साथ बातचीत करती है जिसे आपने स्थापित किया है। इस तरह के हमले को निष्पादित करने के लिए निर्देशों के लिए, सहायक मार्गदर्शिकाएँ यहाँ और यहाँ पाई जा सकती हैं।
इसके अलावा, निम्नलिखित उपकरण burp जैसे उपकरण के साथ एक named pipe संचार को इंटरसेप्ट करने की अनुमति देता है: https://github.com/gabriel-sztejnworcel/pipe-intercept और यह उपकरण सभी pipes को सूचीबद्ध करने और privescs खोजने की अनुमति देता है https://github.com/cyberark/PipeViewer
जब एक उपयोगकर्ता के रूप में एक shell प्राप्त करते हैं, तो कुछ शेड्यूल किए गए कार्य या अन्य प्रक्रियाएँ चल रही हो सकती हैं जो कमांड लाइन पर क्रेडेंशियल्स पास करती हैं। नीचे दिया गया स्क्रिप्ट हर दो सेकंड में प्रक्रिया कमांड लाइनों को कैप्चर करता है और वर्तमान स्थिति की तुलना पिछले स्थिति से करता है, किसी भी अंतर को आउटपुट करता है।
यदि आपके पास ग्राफिकल इंटरफेस (कंसोल या RDP के माध्यम से) तक पहुंच है और UAC सक्षम है, तो Microsoft Windows के कुछ संस्करणों में एक अनधिकृत उपयोगकर्ता से "NT\AUTHORITY SYSTEM" जैसे किसी भी अन्य प्रक्रिया या टर्मिनल को चलाना संभव है।
यह विशेषाधिकारों को बढ़ाने और एक ही समय में UAC को बायपास करने की अनुमति देता है, उसी भेद्यता के साथ। इसके अतिरिक्त, कुछ भी स्थापित करने की आवश्यकता नहीं है और प्रक्रिया के दौरान उपयोग किया जाने वाला बाइनरी माइक्रोसॉफ्ट द्वारा हस्ताक्षरित और जारी किया गया है।
कुछ प्रभावित सिस्टम निम्नलिखित हैं:
इस कमजोरियों का लाभ उठाने के लिए, निम्नलिखित चरणों को करना आवश्यक है:
आपके पास निम्नलिखित GitHub रिपॉजिटरी में सभी आवश्यक फ़ाइलें और जानकारी हैं:
https://github.com/jas502n/CVE-2019-1388
इससे अखंडता स्तरों के बारे में जानें:
फिर UAC और UAC बायपास के बारे में जानने के लिए इसे पढ़ें:
यदि आप पहले से ही उच्च अखंडता प्रक्रिया पर चल रहे हैं, तो SYSTEM में पास करना केवल एक नई सेवा बनाकर और उसे निष्पादित करके आसान हो सकता है:
एक उच्च इंटीग्रिटी प्रक्रिया से आप AlwaysInstallElevated रजिस्ट्री प्रविष्टियों को सक्षम करने और एक रिवर्स शेल स्थापित करने की कोशिश कर सकते हैं, जिसका उपयोग .msi रैपर के रूप में किया जाता है। रजिस्ट्री कुंजियों के बारे में अधिक जानकारी और .msi पैकेज स्थापित करने के तरीके के लिए यहां पढ़ें।
यदि आपके पास ये टोकन विशेषाधिकार हैं (संभवतः आप इसे पहले से उच्च इंटीग्रिटी प्रक्रिया में पाएंगे), तो आप लगभग किसी भी प्रक्रिया को (संरक्षित प्रक्रियाएं नहीं) SeDebug विशेषाधिकार के साथ खोलने, प्रक्रिया का टोकन कॉपी करने, और उस टोकन के साथ एक मनमाना प्रक्रिया बनाने में सक्षम होंगे। इस तकनीक का उपयोग आमतौर पर SYSTEM के रूप में चल रही किसी भी प्रक्रिया को सभी टोकन विशेषाधिकारों के साथ चुना जाता है (हाँ, आप सभी टोकन विशेषाधिकारों के बिना SYSTEM प्रक्रियाएं पा सकते हैं)। आप एक कोड का उदाहरण यहां पा सकते हैं जो प्रस्तावित तकनीक को निष्पादित करता है।
यह तकनीक मीटरप्रीटर द्वारा getsystem
में वृद्धि के लिए उपयोग की जाती है। यह तकनीक एक पाइप बनाने और फिर उस पाइप पर लिखने के लिए एक सेवा बनाने/दुरुपयोग करने पर आधारित है। फिर, सर्वर जिसने SeImpersonate
विशेषाधिकार का उपयोग करके पाइप बनाया, वह पाइप क्लाइंट (सेवा) के टोकन को प्रतिनिधित्व करने में सक्षम होगा, जिससे SYSTEM विशेषाधिकार प्राप्त होंगे।
यदि आप नाम पाइप के बारे में अधिक जानना चाहते हैं तो आपको यह पढ़ना चाहिए।
यदि आप उच्च इंटीग्रिटी से SYSTEM में जाने के लिए नाम पाइप का उपयोग करने का एक उदाहरण पढ़ना चाहते हैं तो आपको यह पढ़ना चाहिए।
यदि आप एक dll को हाईजैक करने में सफल होते हैं जो SYSTEM के रूप में चल रही प्रक्रिया द्वारा लोड की जा रही है, तो आप उन अनुमतियों के साथ मनमाना कोड निष्पादित करने में सक्षम होंगे। इसलिए Dll Hijacking इस प्रकार के विशेषाधिकार वृद्धि के लिए भी उपयोगी है, और, इसके अलावा, यह उच्च इंटीग्रिटी प्रक्रिया से प्राप्त करना अधिक आसान है क्योंकि इसके पास dlls को लोड करने के लिए उपयोग की जाने वाली फ़ोल्डरों पर लिखने की अनुमति होगी। आप यहां Dll हाईजैकिंग के बारे में अधिक जान सकते हैं।
पढ़ें: 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 एक PowerShell ADIDNS/LLMNR/mDNS/NBNS स्पूफर और मैन-इन-द-मिडल उपकरण है।
WindowsEnum -- बुनियादी privesc Windows एन्यूमरेशन
Sherlock ~~~~ -- ज्ञात privesc कमजोरियों की खोज करें (Watson के लिए अप्रचलित)
WINspect -- स्थानीय जांच (एडमिन अधिकारों की आवश्यकता)
Exe
Watson -- ज्ञात privesc कमजोरियों की खोज करें (इसे VisualStudio का उपयोग करके संकलित करने की आवश्यकता है) (पूर्व-संकलित)
SeatBelt -- गलत कॉन्फ़िगरेशन की खोज के लिए होस्ट का एन्यूमरेट करता है (यह privesc से अधिक जानकारी एकत्र करने का उपकरण है) (संकलन की आवश्यकता है) (पूर्व-संकलित)
LaZagne -- कई सॉफ़्टवेयर से क्रेडेंशियल निकालता है (गिटहब में पूर्व-संकलित exe)
SharpUP -- C# में PowerUp का पोर्ट
Beroot ~~~~ -- गलत कॉन्फ़िगरेशन की जांच करें (गिटहब में पूर्व-संकलित निष्पादन योग्य)। अनुशंसित नहीं। यह Win10 में ठीक से काम नहीं करता।
Windows-Privesc-Check -- संभावित गलत कॉन्फ़िगरेशन की जांच करें (पायथन से exe)। अनुशंसित नहीं। यह Win10 में ठीक से काम नहीं करता।
Bat
winPEASbat -- इस पोस्ट पर आधारित एक उपकरण (यह ठीक से काम करने के लिए accesschk की आवश्यकता नहीं है लेकिन इसका उपयोग कर सकता है)।
Local
Windows-Exploit-Suggester -- systeminfo के आउटपुट को पढ़ता है और काम करने वाले एक्सप्लॉइट्स की सिफारिश करता है (स्थानीय पायथन) Windows Exploit Suggester Next Generation -- systeminfo के आउटपुट को पढ़ता है और काम करने वाले एक्सप्लॉइट्स की सिफारिश करता है (स्थानीय पायथन)
Meterpreter
multi/recon/local_exploit_suggestor
आपको सही संस्करण के .NET का उपयोग करके प्रोजेक्ट को संकलित करना होगा (यहां देखें)। पीड़ित होस्ट पर स्थापित .NET के संस्करण को देखने के लिए आप कर सकते हैं:
सीखें और AWS हैकिंग का अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE) सीखें और GCP हैकिंग का अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE)