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 घटनाएँ देखने के लिए आप निम्नलिखित कमांड चला सकते हैं:
स्क्रिप्ट के निष्पादन की पूरी गतिविधि और पूर्ण सामग्री रिकॉर्ड की जाती है, यह सुनिश्चित करते हुए कि कोड का हर ब्लॉक उसके चलने के समय दस्तावेजीकृत है। यह प्रक्रिया प्रत्येक गतिविधि का एक व्यापक ऑडिट ट्रेल बनाए रखती है, जो फॉरेंसिक्स और दुर्भावनापूर्ण व्यवहार का विश्लेषण करने के लिए मूल्यवान है। निष्पादन के समय सभी गतिविधियों को दस्तावेजीकृत करके, प्रक्रिया के बारे में विस्तृत जानकारी प्रदान की जाती है।
Logging events for the Script Block can be located within the Windows Event Viewer at the path: 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 है। If the last registry is equals to 0, then, the WSUS entry will be ignored.
In orther to exploit this vulnerabilities you can use tools like: Wsuxploit, pyWSUS - These are MiTM weaponized exploits scripts to inject 'fake' updates into non-SSL WSUS traffic.
Read the research here:
WSUS CVE-2020-1013
यहाँ पूरा रिपोर्ट पढ़ें. Basically, this is the flaw that this bug exploits:
If we have the power to modify our local user proxy, and Windows Updates uses the proxy configured in Internet Explorer’s settings, we therefore have the power to run PyWSUS locally to intercept our own traffic and run code as an elevated user on our asset.
Furthermore, since the WSUS service uses the current user’s settings, it will also use its certificate store. If we generate a self-signed certificate for the WSUS hostname and add this certificate into the current user’s certificate store, we will be able to intercept both HTTP and HTTPS WSUS traffic. WSUS uses no HSTS-like mechanisms to implement a trust-on-first-use type validation on the certificate. If the certificate presented is trusted by the user and has the correct hostname, it will be accepted by the service.
You can exploit this vulnerability using the tool WSUSpicious (once it's liberated).
A स्थानीय विशेषाधिकार वृद्धि vulnerability exists in Windows डोमेन environments under specific conditions. These conditions include environments where LDAP signing is not enforced, users possess self-rights allowing them to configure Resource-Based Constrained Delegation (RBCD), and the capability for users to create computers within the domain. It is important to note that these requirements are met using default settings.
Find the exploit in https://github.com/Dec0ne/KrbRelayUp
For more information about the flow of the attack check https://research.nccgroup.com/2019/08/20/kerberos-resource-based-constrained-delegation-when-an-image-change-leads-to-a-privilege-escalation/
यदि ये 2 रजिस्टर सक्षम हैं (value is 0x1), then users of any privilege can install (execute) *.msi
files as NT AUTHORITY\SYSTEM.
यदि आपके पास एक मीटरप्रेटर सत्र है, तो आप इस तकनीक को exploit/windows/local/always_install_elevated
मॉड्यूल का उपयोग करके स्वचालित कर सकते हैं।
Write-UserAddMSI
कमांड का उपयोग करें power-up से वर्तमान निर्देशिका के अंदर एक Windows MSI बाइनरी बनाने के लिए ताकि विशेषाधिकार बढ़ाए जा सकें। यह स्क्रिप्ट एक पूर्व-संकलित MSI इंस्टॉलर लिखती है जो उपयोगकर्ता/समूह जोड़ने के लिए संकेत देती है (इसलिए आपको GIU पहुंच की आवश्यकता होगी):
बस बनाए गए बाइनरी को कार्यान्वित करें ताकि विशेषाधिकार बढ़ सके।
इस ट्यूटोरियल को पढ़ें ताकि आप इस उपकरणों का उपयोग करके एक 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 हमलों का लाभ उठाया जा सके:
हमेशा संभावित electron/cef/chromium debuggers की जांच करें, आप इसका दुरुपयोग करके विशेषाधिकार बढ़ा सकते हैं.
प्रक्रियाओं के बाइनरी की अनुमतियों की जांच करना
प्रक्रियाओं के बाइनरी के फ़ोल्डरों की अनुमतियों की जांच (DLL Hijacking)
आप procdump का उपयोग करके एक चल रहे प्रक्रिया का मेमोरी डंप बना सकते हैं जो sysinternals से है। FTP जैसी सेवाओं में स्मृति में स्पष्ट पाठ में क्रेडेंशियल्स होते हैं, मेमोरी को डंप करने और क्रेडेंशियल्स को पढ़ने का प्रयास करें।
SYSTEM के रूप में चलने वाले एप्लिकेशन एक उपयोगकर्ता को CMD उत्पन्न करने या निर्देशिकाओं को ब्राउज़ करने की अनुमति दे सकते हैं।
उदाहरण: "Windows Help and Support" (Windows + F1), "command prompt" के लिए खोजें, "Command Prompt खोलने के लिए क्लिक करें" पर क्लिक करें
सेवाओं की सूची प्राप्त करें:
आप sc का उपयोग करके एक सेवा की जानकारी प्राप्त कर सकते हैं
यह अनुशंसा की जाती है कि प्रत्येक सेवा के लिए आवश्यक विशेषाधिकार स्तर की जांच करने के लिए Sysinternals से बाइनरी accesschk हो।
यह अनुशंसा की जाती है कि यह जांचें कि क्या "प्रमाणित उपयोगकर्ता" किसी सेवा को संशोधित कर सकते हैं:
आप accesschk.exe को XP के लिए यहाँ डाउनलोड कर सकते हैं
यदि आपको यह त्रुटि मिल रही है (उदाहरण के लिए SSDPSRV के साथ):
सिस्टम त्रुटि 1058 हुई है. &#xNAN;Tसेवा शुरू नहीं की जा सकती, या तो क्योंकि इसे अक्षम किया गया है या क्योंकि इसके साथ कोई सक्षम उपकरण नहीं है।
आप इसे सक्षम कर सकते हैं
यह ध्यान में रखें कि सेवा upnphost SSDPSRV पर निर्भर करती है (XP SP1 के लिए)
इस समस्या का एक और समाधान यह है कि चलाएँ:
उस परिदृश्य में जहां "प्रमाणित उपयोगकर्ता" समूह के पास किसी सेवा पर SERVICE_ALL_ACCESS है, सेवा के निष्पादन योग्य बाइनरी को संशोधित करना संभव है। sc को संशोधित और निष्पादित करने के लिए:
Privileges को विभिन्न अनुमतियों के माध्यम से बढ़ाया जा सकता है:
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
अनुमतियाँ हैं या नहीं। यदि हाँ, तो सेवा द्वारा निष्पादित बाइनरी को बदला जा सकता है।
निष्पादित बाइनरी का पथ बदलने के लिए:
यदि आपके पास एक रजिस्ट्री पर यह अनुमति है, तो इसका मतलब है कि आप इस रजिस्ट्री से उप रजिस्ट्री बना सकते हैं। Windows सेवाओं के मामले में, यह मनमाने कोड को निष्पादित करने के लिए पर्याप्त है:
यदि किसी निष्पादन योग्य फ़ाइल का पथ उद्धरण के अंदर नहीं है, तो Windows हर स्पेस से पहले समाप्त होने वाले को निष्पादित करने की कोशिश करेगा।
उदाहरण के लिए, पथ C:\Program Files\Some Folder\Service.exe के लिए, Windows निष्पादित करने की कोशिश करेगा:
सभी अनउद्धृत सेवा पथों की सूची बनाएं, जो अंतर्निहित Windows सेवाओं से संबंधित नहीं हैं:
आप इस कमजोरियों का पता लगा सकते हैं और इसका लाभ उठा सकते हैं metasploit के साथ: exploit/windows/local/trusted\_service\_path
आप मैन्युअल रूप से एक सेवा बाइनरी बना सकते हैं metasploit के साथ:
Windows उपयोगकर्ताओं को यह निर्दिष्ट करने की अनुमति देता है कि यदि कोई सेवा विफल होती है तो क्या कार्रवाई की जानी चाहिए। इस सुविधा को एक बाइनरी की ओर इंगित करने के लिए कॉन्फ़िगर किया जा सकता है। यदि यह बाइनरी प्रतिस्थापनीय है, तो विशेषाधिकार वृद्धि संभव हो सकती है। अधिक विवरण आधिकारिक दस्तावेज़ में पाया जा सकता है।
बाइनरी के अनुमतियों की जांच करें (शायद आप एक को अधिलेखित कर सकते हैं और विशेषाधिकार बढ़ा सकते हैं) और फोल्डरों (DLL Hijacking) की।
जांचें कि क्या आप किसी कॉन्फ़िग फ़ाइल को संशोधित कर सकते हैं ताकि किसी विशेष फ़ाइल को पढ़ सकें या यदि आप किसी बाइनरी को संशोधित कर सकते हैं जो एक व्यवस्थापक खाते (schedtasks) द्वारा निष्पादित होने जा रही है।
सिस्टम में कमजोर फ़ोल्डर/फ़ाइल अनुमतियों को खोजने का एक तरीका है:
जांचें कि क्या आप किसी रजिस्ट्री या बाइनरी को ओवरराइट कर सकते हैं जो किसी अन्य उपयोगकर्ता द्वारा निष्पादित होने वाली है। अधिक जानने के लिए निम्नलिखित पृष्ठ को पढ़ें प्रिविलेज बढ़ाने के लिए दिलचस्प ऑटोरन स्थानों के बारे में:
संभावित तीसरे पक्ष के अजीब/कमजोर ड्राइवरों की तलाश करें
यदि आपके पास PATH पर मौजूद एक फ़ोल्डर के अंदर लिखने की अनुमति है तो आप एक प्रक्रिया द्वारा लोड की गई DLL को हाईजैक करने और अधिकार बढ़ाने में सक्षम हो सकते हैं।
PATH के अंदर सभी फ़ोल्डरों की अनुमतियों की जांच करें:
अधिक जानकारी के लिए कि इस जांच का दुरुपयोग कैसे करें:
hosts फ़ाइल पर हार्डकोडेड अन्य ज्ञात कंप्यूटरों की जांच करें
बाहर से प्रतिबंधित सेवाओं की जांच करें
फ़ायरवॉल से संबंधित कमांड के लिए इस पृष्ठ की जांच करें (नियमों की सूची, नियम बनाना, बंद करना, बंद करना...)
यहाँ नेटवर्क एन्यूमरेशन के लिए अधिक कमांड
Binary 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 (यदि आप root हैं) के साथ memory से बहुत सारे DPAPI masterkeys निकाल सकते हैं।
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
आप Mimikatz sekurlsa::dpapi
मॉड्यूल के साथ मेमोरी से कई DPAPI मास्टरकीज़ निकाल सकते हैं।
लोग अक्सर 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 का उदाहरण जिसमें क्रेडेंशियल्स हैं:
You can always ask the user to enter his credentials of even the credentials of a different user if you think he can know them (notice that asking the client directly for the credentials is really रिस्की):
जाने-माने फ़ाइलें जो कुछ समय पहले स्पष्ट-टेक्स्ट या 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
रजिस्ट्री से openssh कुंजी निकालें।
आपको उन dbs की जांच करनी चाहिए जहाँ Chrome या Firefox से पासवर्ड संग्रहीत हैं। ब्राउज़रों के इतिहास, बुकमार्क और पसंदीदा की भी जांच करें ताकि शायद कुछ पासवर्ड वहाँ संग्रहीत हों।
ब्राउज़रों से पासवर्ड निकालने के लिए उपकरण:
Mimikatz: dpapi::chrome
कंपोनेंट ऑब्जेक्ट मॉडल (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 के अंदर आप बच्चे की रजिस्ट्री 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 प्राप्त करते हैं, तो कुछ निर्धारित कार्य या अन्य प्रक्रियाएँ चल रही हो सकती हैं जो command line पर क्रेडेंशियल्स पास करती हैं। नीचे दिया गया स्क्रिप्ट हर दो सेकंड में प्रक्रिया के कमांड लाइनों को कैप्चर करता है और वर्तमान स्थिति की तुलना पिछले स्थिति से करता है, किसी भी अंतर को आउटपुट करता है।
यदि आपके पास ग्राफिकल इंटरफेस (कंसोल या 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 कमजोरियों की खोज करें (DEPRECATED for 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)