Translated ['src/mobile-pentesting/ios-pentesting/ios-universal-links.md

This commit is contained in:
Translator 2025-07-18 08:45:10 +00:00
parent 7a6857d6a9
commit 2f8f19ef05
4 changed files with 97 additions and 95 deletions

View File

@ -6,11 +6,11 @@
यूनिवर्सल लिंक उपयोगकर्ताओं को **सहज रीडायरेक्शन** अनुभव प्रदान करते हैं, जो सीधे ऐप में सामग्री खोलते हैं, सफारी रीडायरेक्शन की आवश्यकता को बायपास करते हैं। ये लिंक **विशिष्ट** और सुरक्षित होते हैं, क्योंकि इन्हें अन्य ऐप्स द्वारा दावा नहीं किया जा सकता। यह सुनिश्चित किया जाता है कि वेबसाइट की रूट डायरेक्टरी में `apple-app-site-association` JSON फ़ाइल हो, जो वेबसाइट और ऐप के बीच एक सत्यापन योग्य लिंक स्थापित करती है। यदि ऐप स्थापित नहीं है, तो सफारी उपयोगकर्ता को वेबपेज पर ले जाएगी, ऐप की उपस्थिति बनाए रखते हुए।
पेनिट्रेशन टेस्टर्स के लिए, `apple-app-site-association` फ़ाइल विशेष रुचि की होती है क्योंकि यह **संवेदनशील पथों** को प्रकट कर सकती है, संभावित रूप से उन पथों को शामिल करते हुए जो अप्रकाशित सुविधाओं से संबंधित हैं।
पेनिट्रेशन टेस्टर्स के लिए, `apple-app-site-association` फ़ाइल विशेष रुचि की होती है क्योंकि यह **संवेदनशील पथों** को प्रकट कर सकती है, जिनमें संभावित रूप से अप्रकाशित सुविधाओं से संबंधित पथ शामिल हो सकते हैं।
### **Analyzing the Associated Domains Entitlement**
डेवलपर्स यूनिवर्सल लिंक को सक्षम करते हैं **Associated Domains** को Xcode के Capabilities टैब में कॉन्फ़िगर करके या `.entitlements` फ़ाइल की जांच करके। प्रत्येक डोमेन `applinks:` के साथ प्रारंभ होता है। उदाहरण के लिए, टेलीग्राम की कॉन्फ़िगरेशन इस प्रकार हो सकती है:
डेवलपर्स यूनिवर्सल लिंक को सक्षम करते हैं द्वारा **Associated Domains** को Xcode के Capabilities टैब में कॉन्फ़िगर करके या `.entitlements` फ़ाइल की जांच करके। प्रत्येक डोमेन `applinks:` के साथ प्रारंभ होता है। उदाहरण के लिए, टेलीग्राम की कॉन्फ़िगरेशन इस प्रकार हो सकती है:
```xml
<key>com.apple.developer.associated-domains</key>
<array>
@ -33,7 +33,7 @@ If working with a compiled application, entitlements can be extracted as outline
> doms=$(plutil -extract com.apple.developer.associated-domains xml1 -o - ent.xml | \
> grep -oE 'applinks:[^<]+' | cut -d':' -f2)
> for d in $doms; do
> echo "[+] Fetching AASA for $d";
> echo "[+] $d के लिए AASA प्राप्त कर रहा है";
> curl -sk "https://$d/.well-known/apple-app-site-association" | jq '.'
> done
> ```
@ -84,27 +84,27 @@ return false
```
Through **diligent configuration and validation**, developers can ensure that universal links enhance user experience while maintaining security and privacy standards.
## सामान्य कमजोरियाँ और पेंटेस्टिंग जांचें
## सामान्य कमजोरियाँ और Pentesting जांचें
| # | कमजोरी | परीक्षण कैसे करें | शोषण / प्रभाव |
|---|----------|------------|-----------------------|
| 1 | **AASA फ़ाइल में अत्यधिक व्यापक `paths` / `components`** (जैसे `"/": "*"` या वाइल्डकार्ड जैसे `"/a/*"`)। | • डाउनलोड की गई AASA की जांच करें और `*`, ट्रेलिंग स्लैश, या `{"?": …}` नियमों की तलाश करें।<br>• उन अज्ञात संसाधनों को अनुरोध करने का प्रयास करें जो अभी भी नियम से मेल खाते हैं (`https://domain.com/a/evil?_p_dp=1`)। | यूनिवर्सल-लिंक हाईजैकिंग: एक दुर्भावनापूर्ण iOS ऐप जो उसी डोमेन को पंजीकृत करता है, उन सभी लिंक का दावा कर सकता है और फ़िशिंग UI प्रस्तुत कर सकता है। एक वास्तविक उदाहरण मई 2025 का Temu.com बग-बाउंटी रिपोर्ट है जहां एक हमलावर किसी भी `/a/*` पथ को अपने ऐप पर पुनर्निर्देशित कर सकता था। |
| 1 | **AASA फ़ाइल में अत्यधिक व्यापक `paths` / `components`** (जैसे `"/": "*"` या वाइल्डकार्ड जैसे `"/a/*"`)। | • डाउनलोड की गई AASA की जांच करें और `*`, ट्रेलिंग स्लैश, या `{"?": …}` नियमों की तलाश करें।<br>• उन अज्ञात संसाधनों को अनुरोध करने का प्रयास करें जो अभी भी नियम से मेल खाते हैं (`https://domain.com/a/evil?_p_dp=1`)। | Universal-link hijacking: एक दुर्भावनापूर्ण iOS ऐप जो उसी डोमेन को पंजीकृत करता है, उन सभी लिंक का दावा कर सकता है और फ़िशिंग UI प्रस्तुत कर सकता है। एक वास्तविक उदाहरण मई 2025 का Temu.com बग-बाउंटी रिपोर्ट है जहां एक हमलावर किसी भी `/a/*` पथ को अपने ऐप पर पुनर्निर्देशित कर सकता था। |
| 2 | **डीप-लिंक पथों की सर्वर-साइड मान्यता का अभाव।** | अनुमत पथों की पहचान करने के बाद, गैर-मौजूद संसाधनों के लिए `curl`/Burp अनुरोध जारी करें और HTTP स्थिति कोड देखें। `404` (जैसे 200/302) के अलावा कुछ भी संदिग्ध है। | एक हमलावर एक अनुमत पथ के पीछे मनमाना सामग्री होस्ट कर सकता है और इसे वैध डोमेन के माध्यम से सेवा कर सकता है, फ़िशिंग या सत्र-टोकन चोरी की सफलता दर बढ़ा सकता है। |
| 3 | **स्कीम/होस्ट व्हाइटलिस्टिंग के बिना ऐप-साइड URL हैंडलिंग** (CVE-2024-10474 Mozilla Focus < 132)। | धे `openURL:`/`open(_:options:)` स्क्रिप्ट ब्रि तल करें मनमने URLs अग्रेषि करते हैं | आंतरि पृष्ठ `myapp://` `https://` URLs स्मगल कर सकते हैं ब्रउज़र के URL-ब सुरक्ष ंच यप करते हैं, िससे धड़ अनपेक्षि िशेषि प्रप्त क्रिएँ हैं |
| 4 | **अधिकार में वाइल्डकार्ड उप-डोमेन का उपयोग** (`*.example.com`)। | अधिकारों में `*.` के लिए `grep` करें। | यदि कोई उप-डोमेन अधिग्रहित किया जाता है (जैसे कि एक अप्रयुक्त S3 बकेट के माध्यम से), तो हमलावर स्वचालित रूप से यूनिवर्सल लिंक बाइंडिंग प्राप्त कर लेता है। |
| 4 | **अधिकार में वाइल्डकार्ड उप-डोमेन का उपयोग** (`*.example.com`)। | अधिकारों में `*.` के लिए `grep` करें। | यदि कोई उप-डोमेन अधिग्रहित किया जाता है (जैसे कि एक अप्रयुक्त S3 बकेट के माध्यम से), तो हमलावर स्वचालित रूप से Universal Link बाइंडिंग प्राप्त कर लेता है। |
### त्वरित चेकलिस्ट
* [ ] अधिकार निकालें और हर `applinks:` प्रविष्टि को सूचीबद्ध करें।
* [ ] अधिकार निकालें और हर `applinks:` प्रविष्टि की गणना करें।
* [ ] प्रत्येक प्रविष्टि के लिए AASA डाउनलोड करें और वाइल्डकार्ड के लिए ऑडिट करें।
* [ ] सुनिश्चित करें कि वेब सर्वर अनिर्धारित पथों के लिए **404** लौटाता है।
* [ ] सत्यापित करें कि वेब सर्वर अनिर्धारित पथों के लिए **404** लौटाता है।
* [ ] बाइनरी में, पुष्टि करें कि **केवल** विश्वसनीय होस्ट/स्कीम को संभाला जाता है।
* [ ] यदि ऐप नए `components` सिंटैक्स (iOS 11+) का उपयोग करता है, तो क्वेरी-पैरामीटर नियमों (`{"?":{…}}`) को फज़ करें।
## उपकरण
- [GetUniversal.link](https://getuniversal.link/): आपके ऐप के यूनिवर्सल लिंक और AASA फ़ाइल के परीक्षण और प्रबंधन को सरल बनाने में मदद करता है। AASA फ़ाइल की अखंडता को सत्यापित करने के लिए बस अपना डोमेन दर्ज करें या लिंक व्यवहार का आसानी से परीक्षण करने के लिए कस्टम डैशबोर्ड का उपयोग करें। यह उपकरण आपको यह निर्धारित करने में भी मदद करता है कि Apple आपकी AASA फ़ाइल को अगली बार कब अनुक्रमित करेगा।
- [Knil](https://github.com/ethanhuang13/knil): ओपन-सोर्स iOS उपयोगिता जो हर यूनिवर्सल लिंक को सीधे डिवाइस पर लाने, पार्स करने और **टैप-टेस्ट** करने की अनुमति देती है।
- [GetUniversal.link](https://getuniversal.link/): आपके ऐप के Universal Links और AASA फ़ाइल के परीक्षण और प्रबंधन को सरल बनाने में मदद करता है। AASA फ़ाइल की अखंडता को सत्यापित करने के लिए बस अपना डोमेन दर्ज करें या लिंक व्यवहार का आसानी से परीक्षण करने के लिए कस्टम डैशबोर्ड का उपयोग करें। यह उपकरण आपको यह निर्धारित करने में भी मदद करता है कि Apple आपकी AASA फ़ाइल को अगली बार कब अनुक्रमित करेगा।
- [Knil](https://github.com/ethanhuang13/knil): ओपन-सोर्स iOS उपयोगिता जो हर Universal Link को सीधे डिवाइस पर लाने, पार्स करने और **टैप-टेस्ट** करने देती है।
- [universal-link-validator](https://github.com/urbangems/universal-link-validator): CLI / वेब वेलिडेटर जो सख्त AASA अनुपालन जांच करता है और खतरनाक वाइल्डकार्ड को उजागर करता है।
## संदर्भ

View File

@ -98,7 +98,7 @@ Get-RpcServerData -Target "C:\Windows\System32\efssvc.dll" -OutPath .\output
# Or crawl the whole %SystemRoot%\System32 directory
Get-RpcServerData -OutPath .\output
```
`Get-RpcServerData` UUID, संस्करण, बाइंडिंग स्ट्रिंग्स (नामित-पाइप / TCP / HTTP) और **पूर्ण प्रक्रिया प्रोटोटाइप** को निकाल लेगा जो भी इंटरफेस इसे मिलते हैं और उन्हें `rpcServerData.json` में संग्रहीत करेगा।
`Get-RpcServerData` UUID, संस्करण, बाइंडिंग स्ट्रिंग (नामित-पाइप / TCP / HTTP) और **पूर्ण प्रक्रिया प्रोटोटाइप** को निकाल लेगा जो भी इंटरफेस इसे मिलते हैं और उन्हें `rpcServerData.json` में संग्रहीत करेगा।
### 2. फज़्ज़र चलाएँ
```powershell
@ -115,7 +115,7 @@ Invoke-RpcFuzzer -OutPath .\output `
फज़्ज़र 2 रणनीतियों को लागू करता है:
1. **डिफ़ॉल्ट फज़्ज़र** यादृच्छिक प्राइमिटिव मान + जटिल प्रकारों के लिए डिफ़ॉल्ट उदाहरण
1. **डिफ़ॉल्ट फज़्ज़र** यादृच्छिक प्राथमिक मान + जटिल प्रकारों के लिए डिफ़ॉल्ट उदाहरण
2. **सॉर्टेड फज़्ज़र** निर्भरता-जानकारी क्रम (देखें `docs/Procedure dependency design.md`)
हर कॉल को `log.txt` में परमाणु रूप से लिखा जाता है; एक क्रैश के बाद **अंतिम पंक्ति तुरंत आपको दोषपूर्ण प्रक्रिया बताती है**। प्रत्येक कॉल का परिणाम तीन JSON फ़ाइलों में भी वर्गीकृत किया जाता है:
@ -154,7 +154,7 @@ $rpcinterfaces[0].Procedures[0] | Format-List *
```
सामान्य आउटपुट पैरामीटर प्रकारों को ठीक उसी तरह प्रकट करता है जैसे वे **MIDL** में दिखाई देते हैं (जैसे `FC_C_WSTRING`, `FC_LONG`, `FC_BIND_CONTEXT`)।
एक बार जब आप इंटरफेस को जान लेते हैं, तो आप **एक तैयार-से-संकल C# क्लाइंट** उत्पन्न कर सकते हैं:
एक बार जब आप इंटरफेस को जान लेते हैं, तो आप **एक तैयार-से-कंपाइल C# क्लाइंट** उत्पन्न कर सकते हैं:
```powershell
# Reverse the MS-EFSR (EfsRpc*) interface into C#
Format-RpcClient $rpcinterfaces[0] -Namespace MS_EFSR -OutputPath .\MS_EFSR.cs
@ -196,7 +196,7 @@ Invoke-MSRPCFuzzer -Pipe "\\.\pipe\efsrpc" -Auth NTLM `
-Iterations 100000 `
-OutDir .\results
```
एकल आउट-ऑफ-बाउंड्स लिखना या अप्रत्याशित अपवाद तुरंत प्रकट होगा, जिसमें सटीक opnum + फज़्ड पेलोड होगा जिसने इसे ट्रिगर किया - स्थिर प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट के लिए एकदम सही प्रारंभिक बिंदु।
एक एकल आउट-ऑफ-बाउंड्स लिखना या अप्रत्याशित अपवाद तुरंत प्रकट होगा, जिसमें सटीक opnum + फज़्ड पेलोड होगा जिसने इसे ट्रिगर किया - एक स्थिर प्रमाण-ऑफ-धारणा शोषण के लिए सही प्रारंभिक बिंदु।
> ⚠️ कई RPC सेवाएँ **NT AUTHORITY\SYSTEM** के रूप में चलने वाली प्रक्रियाओं में कार्यान्वित होती हैं। यहाँ कोई भी मेमोरी-सुरक्षा समस्या आमतौर पर स्थानीय विशेषाधिकार वृद्धि या (जब SMB/135 के माध्यम से उजागर किया जाता है) *दूरस्थ कोड निष्पादन* में परिवर्तित होती है।

View File

@ -4,21 +4,21 @@
## Basic overview
**Active Directory** एक मौलिक तकनीक के रूप में कार्य करता है, जो **नेटवर्क प्रशासकों** को **डोमेन**, **उपयोगकर्ताओं**, और **ऑब्जेक्ट्स** को एक नेटवर्क के भीतर कुशलता से बनाने और प्रबंधित करने में सक्षम बनाता है। इसे स्केल करने के लिए डिज़ाइन किया गया है, जो एक विस्तृत संख्या में उपयोगकर्ताओं को प्रबंधनीय **समूहों** और **उपसमूहों** में व्यवस्थित करने की सुविधा प्रदान करता है, जबकि विभिन्न स्तरों पर **एक्सेस अधिकारों** को नियंत्रित करता है।
**Active Directory** एक मौलिक तकनीक के रूप में कार्य करता है, जो **नेटवर्क प्रशासकों** को **डोमेन**, **उपयोगकर्ताओं**, और **ऑब्जेक्ट्स** को एक नेटवर्क के भीतर कुशलता से बनाने और प्रबंधित करने में सक्षम बनाता है। इसे स्केल करने के लिए डिज़ाइन किया गया है, जो एक विस्तृत संख्या में उपयोगकर्ताओं को प्रबंधनीय **समूहों** और **उपसमूहों** में व्यवस्थित करने की सुविधा प्रदान करता है, जबकि विभिन्न स्तरों पर **पहुंच अधिकारों** को नियंत्रित करता है।
**Active Directory** की संरचना तीन प्राथमिक परतों में विभाजित है: **डोमेन**, **पेड़**, और **जंगल**। एक **डोमेन** ऑब्जेक्ट्स का एक संग्रह है, जैसे **उपयोगकर्ता** या **डिवाइस**, जो एक सामान्य डेटाबेस साझा करते हैं। **पेड़** इन डोमेन के समूह होते हैं जो एक साझा संरचना द्वारा जुड़े होते हैं, और एक **जंगल** कई पेड़ों का संग्रह है, जो **विश्वास संबंधों** के माध्यम से आपस में जुड़े होते हैं, जो संगठनात्मक संरचना की सबसे ऊपरी परत बनाते हैं। प्रत्येक स्तर पर विशिष्ट **एक्सेस** और **संवाद अधिकार** निर्धारित किए जा सकते हैं।
**Active Directory** की संरचना तीन प्राथमिक परतों में विभाजित है: **डोमेन**, **पेड़**, और **जंगल**। एक **डोमेन** ऑब्जेक्ट्स का एक संग्रह है, जैसे **उपयोगकर्ता** या **डिवाइस**, जो एक सामान्य डेटाबेस साझा करते हैं। **पेड़** इन डोमेन के समूह होते हैं जो एक साझा संरचना द्वारा जुड़े होते हैं, और एक **जंगल** कई पेड़ों का संग्रह है, जो **विश्वास संबंधों** के माध्यम से आपस में जुड़े होते हैं, जो संगठनात्मक संरचना की सबसे ऊपरी परत बनाते हैं। इन स्तरों में विशिष्ट **पहुंच** और **संचार अधिकार** निर्धारित किए जा सकते हैं।
**Active Directory** के भीतर प्रमुख अवधारणाएँ शामिल हैं:
1. **Directory** Active Directory ऑब्जेक्ट्स से संबंधित सभी जानकारी को रखता है।
2. **Object** Directory के भीतर की संस्थाएँ, जैसे **उपयोगकर्ता**, **समूह**, या **साझा फ़ोल्डर** को दर्शाता है।
3. **Domain** Directory ऑब्जेक्ट्स के लिए एक कंटेनर के रूप में कार्य करता है, जिसमें कई डोमेन एक **जंगल** के भीतर सह-अस्तित्व में हो सकते हैं, प्रत्येक अपनी स्वयं की ऑब्जेक्ट संग्रह बनाए रखता है।
2. **Object** निर्देशिका के भीतर की संस्थाएँ, जैसे **उपयोगकर्ता**, **समूह**, या **साझा फ़ोल्डर** को दर्शाता है।
3. **Domain** निर्देशिका ऑब्जेक्ट्स के लिए एक कंटेनर के रूप में कार्य करता है, जिसमें कई डोमेन एक **जंगल** के भीतर सह-अस्तित्व में हो सकते हैं, प्रत्येक अपनी स्वयं की ऑब्जेक्ट संग्रह बनाए रखता है।
4. **Tree** डोमेन का एक समूह जो एक सामान्य रूट डोमेन साझा करता है।
5. **Forest** Active Directory में संगठनात्मक संरचना का शिखर, जिसमें कई पेड़ होते हैं जिनमें **विश्वास संबंध** होते हैं।
**Active Directory Domain Services (AD DS)** एक श्रृंखला की सेवाओं को शामिल करता है जो नेटवर्क के भीतर केंद्रीकृत प्रबंधन और संचार के लिए महत्वपूर्ण हैं। इन सेवाओं में शामिल हैं:
1. **Domain Services** डेटा संग्रहण को केंद्रीकृत करता है और **उपयोगकर्ताओं** और **डोमेन** के बीच इंटरैक्शन को प्रबंधित करता है, जिसमें **प्रमाणीकरण** और **खोज** कार्यक्षमताएँ शामिल हैं।
1. **Domain Services** डेटा भंडारण को केंद्रीकृत करता है और **उपयोगकर्ताओं** और **डोमेन** के बीच इंटरैक्शन को प्रबंधित करता है, जिसमें **प्रमाणीकरण** और **खोज** कार्यक्षमताएँ शामिल हैं।
2. **Certificate Services** सुरक्षित **डिजिटल प्रमाणपत्रों** के निर्माण, वितरण, और प्रबंधन की देखरेख करता है।
3. **Lightweight Directory Services** **LDAP प्रोटोकॉल** के माध्यम से निर्देशिका-सक्षम अनुप्रयोगों का समर्थन करता है।
4. **Directory Federation Services** एकल सत्र में कई वेब अनुप्रयोगों में उपयोगकर्ताओं को प्रमाणित करने के लिए **सिंगल-साइन-ऑन** क्षमताएँ प्रदान करता है।
@ -29,7 +29,7 @@
### **Kerberos Authentication**
AD पर **हमला करने** के लिए आपको **Kerberos प्रमाणीकरण प्रक्रिया** को बहुत अच्छे से **समझना** होगा।\
AD पर **हमला करने** के लिए आपको **Kerberos प्रमाणीकरण प्रक्रिया** को वास्तव में अच्छी तरह से **समझना** होगा।\
[**यदि आप अभी भी नहीं जानते कि यह कैसे काम करता है, तो इस पृष्ठ को पढ़ें।**](kerberos-authentication.md)
## Cheat Sheet
@ -44,11 +44,11 @@ AD पर **हमला करने** के लिए आपको **Kerberos
यदि आपके पास केवल AD वातावरण तक पहुँच है लेकिन आपके पास कोई क्रेडेंशियल/सत्र नहीं हैं, तो आप कर सकते हैं:
- **नेटवर्क का परीक्षण करें:**
- नेटवर्क को स्कैन करें, मशीनें और खुले पोर्ट खोजें और उन पर **कमजोरियों का शोषण** करने या **क्रेडेंशियल्स निकालने** का प्रयास करें (उदाहरण के लिए, [प्रिंटर्स बहुत दिलचस्प लक्ष्य हो सकते हैं](ad-information-in-printers.md)।
- DNS को सूचीबद्ध करने से डोमेन में प्रमुख सर्वरों के बारे में जानकारी मिल सकती है जैसे कि वेब, प्रिंटर्स, शेयर, VPN, मीडिया, आदि।
- नेटवर्क को स्कैन करें, मशीनें और खुले पोर्ट खोजें और उन पर **कमजोरियों का शोषण** करने या **क्रेडेंशियल्स** निकालने का प्रयास करें (उदाहरण के लिए, [प्रिंटर बहुत दिलचस्प लक्ष्य हो सकते हैं](ad-information-in-printers.md)।
- DNS को सूचीबद्ध करन डोमेन में प्रमुख सर्वरों के बारे में जानकारी दे सकता है जैसे कि वेब, प्रिंटर, शेयर, वीपीएन, मीडिया, आदि।
- `gobuster dns -d domain.local -t 25 -w /opt/Seclist/Discovery/DNS/subdomain-top2000.txt`
- इस बारे में अधिक जानकारी के लिए सामान्य [**Pentesting Methodology**](../../generic-methodologies-and-resources/pentesting-methodology.md) पर एक नज़र डालें।
- **smb सेवाओं पर शून्य और गेस्ट एक्सेस की जाँच करें** (यह आधुनिक Windows संस्करणों पर काम नहीं करेगा):
- इस बारे में अधिक जानकारी के लिए सामान्य [**Pentesting Methodology**](../../generic-methodologies-and-resources/pentesting-methodology.md) पर नज़र डालें।
- **smb सेवाओं पर शून्य और गेस्ट पहुँच की जाँच करें** (यह आधुनिक Windows संस्करणों पर काम नहीं करेगा):
- `enum4linux -a -u "" -p "" <DC IP> && enum4linux -a -u "guest" -p "" <DC IP>`
- `smbmap -u "" -p "" -P 445 -H <DC IP> && smbmap -u "guest" -p "" -P 445 -H <DC IP>`
- `smbclient -U '%' -L //<DC IP> && smbclient -U 'guest%' -L //`
@ -60,7 +60,7 @@ AD पर **हमला करने** के लिए आपको **Kerberos
- **Ldap को सूचीबद्ध करें**
- `nmap -n -sV --script "ldap* and not brute" -p 389 <DC IP>`
- LDAP को सूचीबद्ध करने के लिए एक अधिक विस्तृत गाइड यहाँ मिल सकती है (विशेष रूप से **गुमनाम एक्सेस** पर ध्यान दें):
- LDAP को सूचीबद्ध करने के लिए एक अधिक विस्तृत गाइड यहाँ मिल सकती है (विशेष रूप से **गुमनाम पहुँच** पर ध्यान दें):
{{#ref}}
../../network-services-pentesting/pentesting-ldap.md
@ -68,19 +68,19 @@ AD पर **हमला करने** के लिए आपको **Kerberos
- **नेटवर्क को विषाक्त करें**
- [**Responder के साथ सेवाओं का अनुकरण करते हुए क्रेडेंशियल्स इकट्ठा करें**](../../generic-methodologies-and-resources/pentesting-network/spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md)
- [**रिले हमले का दुरुपयोग करते हुए होस्ट तक पहुँचें**](../../generic-methodologies-and-resources/pentesting-network/spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md#relay-attack)
- [**रिले हमले का दुरुपयोग करते हुए**](../../generic-methodologies-and-resources/pentesting-network/spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md#relay-attack) होस्ट तक पहुँचें
- [**खराब UPnP सेवाओं को उजागर करते हुए क्रेडेंशियल्स इकट्ठा करें**](../../generic-methodologies-and-resources/pentesting-network/spoofing-ssdp-and-upnp-devices.md)[**SDP**](https://medium.com/@nickvangilder/exploiting-multifunction-printers-during-a-penetration-test-engagement-28d3840d8856)
- [**OSINT**](https://book.hacktricks.wiki/en/generic-methodologies-and-resources/external-recon-methodology/index.html):
- आंतरिक दस्तावेजों, सोशल मीडिया, सेवाओं (मुख्य रूप से वेब) से उपयोगकर्ता नाम/नाम निकालें जो डोमेन वातावरण के भीतर हैं और सार्वजनिक रूप से उपलब्ध हैं।
- यदि आप कंपनी के कर्मचारियों के पूर्ण नाम पाते हैं, तो आप विभिन्न AD **उपयोगकर्ता नाम सम्मेलनों** का प्रयास कर सकते हैं (**[यह पढ़ें](https://activedirectorypro.com/active-directory-user-naming-convention/)**)। सबसे सामान्य सम्मेलन हैं: _NameSurname_, _Name.Surname_, _NamSur_ (प्रत्येक के 3 अक्षर), _Nam.Sur_, _NSurname_, _N.Surname_, _SurnameName_, _Surname.Name_, _SurnameN_, _Surname.N_, 3 _यादृच्छिक अक्षर और 3 यादृच्छिक संख्या_ (abc123)।
- यदि आप कंपनी के कर्मचारियों के पूर्ण नाम पाते हैं, तो आप विभिन्न AD **उपयोगकर्ता नाम परंपराओं** का प्रयास कर सकते हैं (**[यह पढ़ें](https://activedirectorypro.com/active-directory-user-naming-convention/)**)। सबसे सामान्य परंपराएँ हैं: _NameSurname_, _Name.Surname_, _NamSur_ (प्रत्येक के 3 अक्षर), _Nam.Sur_, _NSurname_, _N.Surname_, _SurnameName_, _Surname.Name_, _SurnameN_, _Surname.N_, 3 _यादृच्छिक अक्षर और 3 यादृच्छिक संख्याएँ_ (abc123)।
- उपकरण:
- [w0Tx/generate-ad-username](https://github.com/w0Tx/generate-ad-username)
- [urbanadventurer/username-anarchy](https://github.com/urbanadventurer/username-anarchy)
### User enumeration
- **Anonymous SMB/LDAP enum:** [**pentesting SMB**](../../network-services-pentesting/pentesting-smb/index.html) और [**pentesting LDAP**](../../network-services-pentesting/pentesting-ldap.md) पृष्ठों की जाँच करें।
- **Kerbrute enum**: जब एक **अमान्य उपयोगकर्ता नाम का अनुरोध किया जाता है** तो सर्वर **Kerberos त्रुटि** कोड _KRB5KDC_ERR_C_PRINCIPAL_UNKNOWN_ का उपयोग करके प्रतिक्रिया देगा, जिससे हमें यह निर्धारित करने की अनुमति मिलती है कि उपयोगकर्ता नाम अमान्य था। **मान्य उपयोगकर्ता नाम** या तो **AS-REP** प्रतिक्रिया में **TGT** को उत्तेजित करेगा या त्रुटि _KRB5KDC_ERR_PREAUTH_REQUIRED_ को, यह संकेत करते हुए कि उपयोगकर्ता को पूर्व-प्रमाणीकरण करना आवश्यक है।
- **गुमनाम SMB/LDAP enum:** [**pentesting SMB**](../../network-services-pentesting/pentesting-smb/index.html) और [**pentesting LDAP**](../../network-services-pentesting/pentesting-ldap.md) पृष्ठों की जाँच करें।
- **Kerbrute enum**: जब एक **अमान्य उपयोगकर्ता नाम का अनुरोध किया जाता है** तो सर्वर **Kerberos त्रुटि** कोड _KRB5KDC_ERR_C_PRINCIPAL_UNKNOWN_ का उपयोग करके प्रतिक्रिया देगा, जिससे हमें यह निर्धारित करने की अनुमति मिलती है कि उपयोगकर्ता नाम अमान्य था। **मान्य उपयोगकर्ता नाम** या तो **AS-REP** प्रतिक्रिया में **TGT** उत्पन्न करेगा या त्रुटि _KRB5KDC_ERR_PREAUTH_REQUIRED_ उत्पन्न करेगा, जो इंगित करता है कि उपयोगकर्ता को पूर्व-प्रमाणीकरण करना आवश्यक है।
- **MS-NRPC के खिलाफ कोई प्रमाणीकरण नहीं**: डोमेन नियंत्रकों पर MS-NRPC (Netlogon) इंटरफेस के खिलाफ auth-level = 1 (कोई प्रमाणीकरण नहीं) का उपयोग करना। यह विधि `DsrGetDcNameEx2` फ़ंक्शन को कॉल करती है MS-NRPC इंटरफेस को बाइंड करने के बाद यह जांचने के लिए कि क्या उपयोगकर्ता या कंप्यूटर बिना किसी क्रेडेंशियल के मौजूद है। [NauthNRPC](https://github.com/sud0Ru/NauthNRPC) उपकरण इस प्रकार की सूचीबद्धता को लागू करता है। अनुसंधान यहाँ पाया जा सकता है [यहाँ](https://media.kasperskycontenthub.com/wp-content/uploads/sites/43/2024/05/22190247/A-journey-into-forgotten-Null-Session-and-MS-RPC-interfaces.pdf)
```bash
./kerbrute_linux_amd64 userenum -d lab.ropnop.com --dc 10.10.10.10 usernames.txt #From https://github.com/ropnop/kerbrute/releases
@ -95,7 +95,7 @@ python3 nauth.py -t target -u users_file.txt #From https://github.com/sud0Ru/Nau
```
- **OWA (Outlook Web Access) सर्वर**
यदि आप नेटवर्क में इनमें से एक सर्वर पाते हैं, तो आप इसके खिलाफ **उपयोगकर्ता गणना** भी कर सकते हैं। उदाहरण के लिए, आप उपकरण [**MailSniper**](https://github.com/dafthack/MailSniper) का उपयोग कर सकते हैं:
यदि आप नेटवर्क में इनमें से एक सर्वर पाते हैं, तो आप इसके खिलाफ **उपयोगकर्ता गणना** भी कर सकते हैं। उदाहरण के लिए, आप टूल [**MailSniper**](https://github.com/dafthack/MailSniper) का उपयोग कर सकते हैं:
```bash
ipmo C:\Tools\MailSniper\MailSniper.ps1
# Get info about the domain
@ -144,9 +144,9 @@ password-spraying.md
../ntlm/places-to-steal-ntlm-creds.md
{{#endref}}
## क्रेडेंशियल्स/सेशन के साथ सक्रिय निर्देशिका की सूची बनाना
## क्रेडेंशियल्स/सत्र के साथ सक्रिय निर्देशिका की सूची बनाना
इस चरण के लिए आपको **एक मान्य डोमेन खाते के क्रेडेंशियल्स या सत्र को समझौता करना होगा।** यदि आपके पास कुछ मान्य क्रेडेंशियल्स या एक डोमेन उपयोगकर्ता के रूप में एक शेल है, तो **आपको याद रखना चाहिए कि पहले दिए गए विकल्प अभी भी अन्य उपयोगकर्ताओं को समझौता करने के विकल्प हैं**
इस चरण के लिए आपको **एक मान्य डोमेन खाते के क्रेडेंशियल्स या सत्र को समझौता करना होगा।** यदि आपके पास कुछ मान्य क्रेडेंशियल्स या एक डोमेन उपयोगकर्ता के रूप में एक शेल है, तो **आपको याद रखना चाहिए कि पहले दिए गए विकल्प अभी भी अन्य उपयोगकर्ताओं को समझौता करने के विकल्प हैं**
प्रमाणित सूची बनाने से पहले आपको **Kerberos डबल हॉप समस्या** क्या है, यह जानना चाहिए।
@ -156,19 +156,19 @@ kerberos-double-hop-problem.md
### सूची बनाना
एक खाते को समझौता करना **पूरे डोमेन को समझौता करने के लिए एक बड़ा कदम है**, क्योंकि आप **सक्रिय निर्देशिका की सूची बनाना शुरू करने में सक्षम होंगे:**
एक खाते को समझौता करना **पूरे डोमेन को समझौता करने के लिए एक बड़ा कदम है**, क्योंकि आप **सक्रिय निर्देशिका की सूची बनाने** में सक्षम होंगे:
[**ASREPRoast**](asreproast.md) के संबंध में, आप अब हर संभावित कमजोर उपयोगकर्ता को ढूंढ सकते हैं, और [**Password Spraying**](password-spraying.md) के संबंध में, आप **सभी उपयोगकर्ता नामों की एक सूची प्राप्त कर सकते हैं** और समझौता किए गए खाते का पासवर्ड, खाली पासवर्ड और नए आशाजनक पासवर्ड आजमा सकते हैं।
[**ASREPRoast**](asreproast.md) के संबंध में, आप अब हर संभावित कमजोर उपयोगकर्ता को खोज सकते हैं, और [**Password Spraying**](password-spraying.md) के संबंध में, आप **सभी उपयोगकर्ता नामों की एक सूची प्राप्त कर सकते हैं** और समझौता किए गए खाते का पासवर्ड, खाली पासवर्ड और नए आशाजनक पासवर्ड आजमा सकते हैं।
- आप [**CMD का उपयोग करके एक बुनियादी पुनः खोज कर सकते हैं**](../basic-cmd-for-pentesters.md#domain-info)
- आप [**पॉवरशेल का उपयोग करके पुनः खोज कर सकते हैं**](../basic-powershell-for-pentesters/index.html) जो अधिक छिपा हुआ होगा
- आप [**CMD का उपयोग करके एक बुनियादी पुनः खोज करने के लिए**](../basic-cmd-for-pentesters.md#domain-info) कर सकते हैं
- आप [**पुनः खोज के लिए powershell का उपयोग कर सकते हैं**](../basic-powershell-for-pentesters/index.html) जो अधिक छिपा हुआ होगा
- आप [**powerview का उपयोग कर सकते हैं**](../basic-powershell-for-pentesters/powerview.md) अधिक विस्तृत जानकारी निकालने के लिए
- सक्रिय निर्देशिका में पुनः खोज के लिए एक और अद्भुत उपकरण है [**BloodHound**](bloodhound.md)। यह **बहुत छिपा हुआ नहीं है** (आपके द्वारा उपयोग किए गए संग्रह विधियों के आधार पर), लेकिन **यदि आपको इसकी परवाह नहीं है**, तो आपको इसे पूरी तरह से आजमाना चाहिए। पता करें कि उपयोगकर्ता RDP कहाँ कर सकते हैं, अन्य समूहों के लिए पथ खोजें, आदि।
- सक्रिय निर्देशिका में पुनः खोज के लिए एक और अद्भुत उपकरण [**BloodHound**](bloodhound.md) है। यह **बहुत छिपा हुआ नहीं है** (आपके द्वारा उपयोग किए गए संग्रह विधियों के आधार पर), लेकिन **यदि आपको इसकी परवाह नहीं है**, तो आपको इसे पूरी तरह से आजमाना चाहिए। पता करें कि उपयोगकर्ता कहाँ RDP कर सकते हैं, अन्य समूहों के लिए पथ खोजें, आदि।
- **अन्य स्वचालित AD सूची बनाने के उपकरण हैं:** [**AD Explorer**](bloodhound.md#ad-explorer)**,** [**ADRecon**](bloodhound.md#adrecon)**,** [**Group3r**](bloodhound.md#group3r)**,** [**PingCastle**](bloodhound.md#pingcastle)**.**
- [**AD के DNS रिकॉर्ड**](ad-dns-records.md) क्योंकि वे दिलचस्प जानकारी रख सकते हैं।
- आप निर्देशिका की सूची बनाने के लिए **AdExplorer.exe** का उपयोग कर सकते हैं जो **SysInternal** सूट से है।
- आप निर्देशिका की सूची बनाने के लिए **AdExplorer.exe** नामक एक **GUI उपकरण** का उपयोग कर सकते हैं जो **SysInternal** Suite से है।
- आप _userPassword_ और _unixUserPassword_ फ़ील्ड में क्रेडेंशियल्स की खोज करने के लिए **ldapsearch** का उपयोग कर सकते हैं, या यहां तक कि _Description_ के लिए भी। अन्य विधियों के लिए [PayloadsAllTheThings पर AD उपयोगकर्ता टिप्पणी में पासवर्ड](https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Active%20Directory%20Attack.md#password-in-ad-user-comment) देखें।
- यदि आप **Linux** का उपयोग कर रहे हैं, तो आप [**pywerview**](https://github.com/the-useless-one/pywerview) का उपयोग करके भी डोमेन की सूची बना सकते हैं।
- यदि आप **Linux** का उपयोग कर रहे हैं, तो आप [**pywerview**](https://github.com/the-useless-one/pywerview) का उपयोग करके डोमेन की सूची भी बना सकते हैं।
- आप स्वचालित उपकरणों को भी आजमा सकते हैं जैसे:
- [**tomcarver16/ADSearch**](https://github.com/tomcarver16/ADSearch)
- [**61106960/adPEAS**](https://github.com/61106960/adPEAS)
@ -176,11 +176,11 @@ kerberos-double-hop-problem.md
Windows से सभी डोमेन उपयोगकर्ता नाम प्राप्त करना बहुत आसान है (`net user /domain`, `Get-DomainUser` या `wmic useraccount get name,sid`)। Linux में, आप उपयोग कर सकते हैं: `GetADUsers.py -all -dc-ip 10.10.10.110 domain.com/username` या `enum4linux -a -u "user" -p "password" <DC IP>`
> भले ही यह सूची बनाने का अनुभाग छोटा दिखता है, यह सभी का सबसे महत्वपूर्ण भाग है। लिंक पर पहुँचें (मुख्य रूप से cmd, powershell, powerview और BloodHound वाले), जानें कि डोमेन को कैसे सूचीबद्ध किया जाए और तब तक अभ्यास करें जब तक आप सहज महसूस न करें। एक आकलन के दौरान, यह DA तक पहुँचने का आपका कुंजी क्षण होगा या यह तय करने का कि कुछ नहीं किया जा सकता।
> भले ही यह सूची बनाने का अनुभाग छोटा दिखता है, यह सभी का सबसे महत्वपूर्ण भाग है। लिंक तक पहुँचें (मुख्य रूप से cmd, powershell, powerview और BloodHound वाले), जानें कि डोमेन को कैसे सूचीबद्ध किया जाए और तब तक अभ्यास करें जब तक आप सहज महसूस न करें। एक आकलन के दौरान, यह DA तक पहुँचने का आपका मार्ग खोजने या यह तय करने का कुंजी क्षण होगा कि कुछ नहीं किया जा सकता।
### Kerberoast
Kerberoasting में उपयोगकर्ता खातों से जुड़े सेवाओं द्वारा उपयोग किए जाने वाले **TGS टिकटों** को प्राप्त करना और उनक एन्क्रिप्शन को क्रैक करना शामिल है—जो उपयोगकर्ता पासवर्ड पर आधारित है—**ऑफलाइन**।
Kerberoasting में उपयोगकर्ता खातों से जुड़े सेवाओं द्वारा उपयोग किए जाने वाले **TGS टिकटों** को प्राप्त करना और उनक एन्क्रिप्शन को क्रैक करना शामिल है—जो उपयोगकर्ता पासवर्ड पर आधारित है—**ऑफलाइन**।
इस बारे में अधिक जानकारी:
@ -190,11 +190,11 @@ kerberoast.md
### दूरस्थ कनेक्शन (RDP, SSH, FTP, Win-RM, आदि)
एक बार जब आपने कुछ क्रेडेंशियल्स प्राप्त कर लिए, तो आप देख सकते हैं कि क्या आपके पास किसी **मशीन** तक पहुँच है। इस मामले के लिए, आप विभिन्न प्रोटोकॉल के साथ कई सर्वरों पर कनेक्ट करने का प्रयास करने के लिए **CrackMapExec** का उपयोग कर सकते हैं, जो आपके पोर्ट स्कैन के अनुसार है।
एक बार जब आप कुछ क्रेडेंशियल्स प्राप्त कर लेते हैं, तो आप देख सकते हैं कि क्या आपके पास किसी **मशीन** तक पहुँच है। इस मामले के लिए, आप विभिन्न प्रोटोकॉल के साथ कई सर्वरों पर कनेक्ट करने का प्रयास करने के लिए **CrackMapExec** का उपयोग कर सकते हैं, जो आपके पोर्ट स्कैन के अनुसार है।
### स्थानीय विशेषाधिकार वृद्धि
यदि आपने क्रेडेंशियल्स या एक नियमित डोमेन उपयोगकर्ता के रूप में एक सत्र को समझौता किया है और आपके पास **डोमेन में किसी भी मशीन** तक इस उपयोगकर्ता के साथ **पहुँच** है, तो आपको **स्थानीय रूप से विशेषाधिकार बढ़ाने और क्रेडेंशियल्स के लिए लूटने** का प्रयास करना चाहिए। इसका कारण यह है कि केवल स्थानीय व्यवस्थापक विशेषाधिकारों के साथ आप **अन्य उपयोगकर्ताओं के हैश को मेमोरी (LSASS) और स्थानीय (SAM) में डंप** कर सकेंगे।
यदि आपने क्रेडेंशियल्स या एक नियमित डोमेन उपयोगकर्ता के रूप में एक सत्र को समझौता किया है और आपके पास **डोमेन में किसी भी मशीन** तक इस उपयोगकर्ता के साथ **पहुँच** है, तो आपको **स्थानीय रूप से विशेषाधिकार बढ़ाने और क्रेडेंशियल्स के लिए लूटने** का प्रयास करना चाहिए। इसका कारण यह है कि केवल स्थानीय व्यवस्थापक विशेषाधिकारों के साथ आप **अन्य उपयोगकर्ताओं के हैश को** मेमोरी (LSASS) और स्थानीय (SAM) में **डंप** कर सकेंगे।
इस पुस्तक में [**Windows में स्थानीय विशेषाधिकार वृद्धि**](../windows-local-privilege-escalation/index.html) और एक [**चेकलिस्ट**](../checklist-windows-privilege-escalation.md) के बारे में एक पूरा पृष्ठ है। इसके अलावा, [**WinPEAS**](https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite) का उपयोग करना न भूलें।
@ -279,8 +279,8 @@ crackmapexec smb --local-auth 10.10.10.10/23 -u administrator -H 10298e182387f9c
### MSSQL दुरुपयोग और विश्वसनीय लिंक
यदि किसी उपयोगकर्ता के पास **MSSQL उदाहरणों** तक पहुँचने के लिए विशेषाधिकार हैं, तो वह इस **कमांड** को MSSQL होस्ट में **निष्पादित** करने के लिए उपयोग कर सकता है (यदि SA के रूप में चल रहा हो), **नेटNTLM हैश** चुराने के लिए या यहां तक कि **रिले** **हमला** करने के लिए।\
इसके अलावा, यदि एक MSSQL उदाहरण को किसी अन्य MSSQL उदाहरण द्वारा विश्वसनीय (डेटाबेस लिंक) माना जाता है। यदि उपयोगकर्ता के पास विश्वसनीय डेटाबेस पर विशेषाधिकार हैं, तो वह **अन्य उदाहरण में क्वेरी निष्पादित करने के लिए विश्वास संबंध का उपयोग कर सकेगा**। ये विश्वास श्रृंखलाबद्ध हो सकते हैं और किसी बिंदु पर उपयोगकर्ता एक गलत कॉन्फ़िगर किए गए डेटाबेस को खोजने में सक्षम हो सकता है जहाँ वह कमांड निष्पादित कर सकता है।\
यदि किसी उपयोगकर्ता के पास **MSSQL उदाहरणों** तक पहुँचने के लिए विशेषाधिकार हैं, तो वह इसका उपयोग **कमांड** को MSSQL होस्ट में **निष्पादित** करने के लिए कर सकता है (यदि SA के रूप में चल रहा हो), **नेटNTLM हैश** चुराने के लिए या यहां तक कि **रिले** **हमला** करने के लिए।\
इसके अलावा, यदि एक MSSQL उदाहरण को किसी अन्य MSSQL उदाहरण द्वारा विश्वसनीय (डेटाबेस लिंक) माना जाता है। यदि उपयोगकर्ता के पास विश्वसनीय डेटाबेस पर विशेषाधिकार हैं, तो वह **अन्य उदाहरण में क्वेरी निष्पादित करने के लिए विश्वास संबंध का उपयोग कर सकेगा**। ये विश्वास श्रृंखलाबद्ध हो सकते हैं और किसी बिंदु पर उपयोगकर्ता एक गलत कॉन्फ़िगर की गई डेटाबेस खोजने में सक्षम हो सकता है जहाँ वह कमांड निष्पादित कर सकता है।\
**डेटाबेस के बीच के लिंक यहां तक कि वन ट्रस्ट के पार भी काम करते हैं।**
{{#ref}}
@ -290,7 +290,7 @@ abusing-ad-mssql.md
### अनियंत्रित प्रतिनिधित्व
यदि आप किसी कंप्यूटर ऑब्जेक्ट को [ADS_UF_TRUSTED_FOR_DELEGATION](<https://msdn.microsoft.com/en-us/library/aa772300(v=vs.85).aspx>) विशेषता के साथ पाते हैं और आपके पास कंप्यूटर में डोमेन विशेषाधिकार हैं, तो आप कंप्यूटर पर लॉगिन करने वाले हर उपयोगकर्ता की मेमोरी से TGT को डंप करने में सक्षम होंगे।\
तो, यदि कोई **डोमेन एडमिन कंप्यूटर पर लॉगिन करता है**, तो आप उसके TGT को डंप कर सकते हैं और [पास द टिकट](pass-the-ticket.md) का उपयोग करके उसकी नकल कर सकते हैं।\
तो, यदि कोई **डोमेन एडमिन कंप्यूटर पर लॉगिन करता है**, तो आप उसका TGT डंप कर सकते हैं और [पास द टिकट](pass-the-ticket.md) का उपयोग करके उसकी नकल कर सकते हैं।\
संकीर्ण प्रतिनिधित्व के लिए धन्यवाद, आप यहां तक कि **एक प्रिंट सर्वर को स्वचालित रूप से समझौता** कर सकते हैं (उम्मीद है कि यह एक DC होगा)।
{{#ref}}
@ -324,7 +324,7 @@ acl-persistence-abuse/
### प्रिंटर स्पूलर सेवा का दुरुपयोग
डोमेन के भीतर एक **स्पूल सेवा सुनने**ी खोज की जा सकती है, जिसे **नए क्रेडेंशियल्स** प्राप्त करने और **विशेषाधिकार बढ़ाने** के लिए **दुरुपयोग** किया जा सकता है।
डोमेन के भीतर **स्पूल सेवा सुनने**ा पता लगाना **नए क्रेडेंशियल्स प्राप्त करने** और **विशेषाधिकार बढ़ाने** के लिए **दुरुपयोग** किया जा सकता है।
{{#ref}}
printers-spooler-service-abuse.md
@ -332,7 +332,7 @@ printers-spooler-service-abuse.md
### तीसरे पक्ष के सत्रों का दुरुपयोग
यदि **अन्य उपयोगकर्ता** **समझौता किए गए** मशीन तक पहुँचते हैं, तो यह **मेमोरी से क्रेडेंशियल्स** इकट्ठा करने और यहां तक कि **उनकी प्रक्रियाओं में बीकन इंजेक्ट करने** के लिए संभव है ताकि उनकी नकल की जा सके।\
यदि **अन्य उपयोगकर्ता** **समझौता किए गए** मशीन तक पहुँचते हैं, तो **मेमोरी से क्रेडेंशियल्स इकट्ठा करना** और यहां तक कि **उनकी प्रक्रियाओं में बीकन इंजेक्ट करना** संभव है ताकि उनकी नकल की जा सके।\
आमतौर पर उपयोगकर्ता RDP के माध्यम से सिस्टम तक पहुँचते हैं, इसलिए यहां आपके पास तीसरे पक्ष के RDP सत्रों पर कुछ हमले करने का तरीका है:
{{#ref}}
@ -341,7 +341,7 @@ rdp-sessions-abuse.md
### LAPS
**LAPS** डोमेन-जोड़े गए कंप्यूटरों पर **स्थानीय व्यवस्थापक पासवर्ड** प्रबंधित करने के लिए एक प्रणाली प्रदान करता है, यह सुनिश्चित करते हुए कि यह **यादृच्छिक**, अद्वितीय, और अक्सर **बदला** जाता है। ये पासवर्ड Active Directory में संग्रहीत होते हैं और पहुँच को केवल अधिकृत उपयोगकर्ताओं के लिए ACLs के माध्यम से नियंत्रित किया जाता है। इन पासवर्डों तक पहुँच के लिए पर्याप्त अनुमतियों के साथ, अन्य कंप्यूटरों पर पिवटिंग करना संभव हो जाता है।
**LAPS** डोमेन-जोड़े गए कंप्यूटरों पर **स्थानीय व्यवस्थापक पासवर्ड** प्रबंधित करने के लिए एक प्रणाली प्रदान करता है, यह सुनिश्चित करते हुए कि यह **यादृच्छिक**, अद्वितीय, और अक्सर **बदला** है। ये पासवर्ड Active Directory में संग्रहीत होते हैं और पहुँच को केवल अधिकृत उपयोगकर्ताओं के लिए ACLs के माध्यम से नियंत्रित किया जाता है। इन पासवर्डों तक पहुँच के लिए पर्याप्त अनुमतियों के साथ, अन्य कंप्यूटरों पर पिवटिंग करना संभव हो जाता है।
{{#ref}}
laps.md
@ -369,9 +369,9 @@ ad-certificates/domain-escalation.md
एक बार जब आप **डोमेन एडमिन** या यहां तक कि बेहतर **एंटरप्राइज एडमिन** विशेषाधिकार प्राप्त कर लेते हैं, तो आप **डोमेन डेटाबेस** को **डंप** कर सकते हैं: _ntds.dit_
[**DCSync हमले के बारे में अधिक जानकारी यहाँ पाई जा सकती है**](dcsync.md)।
[**DCSync हमले के बारे में अधिक जानकारी यहाँ मिल सकती है**](dcsync.md)。
[**NTDS.dit चुराने के बारे में अधिक जानकारी यहाँ पाई जा सकती है**](https://github.com/carlospolop/hacktricks/blob/master/windows-hardening/active-directory-methodology/broken-reference/README.md)
[**NTDS.dit चुराने के तरीके के बारे में अधिक जानकारी यहाँ मिल सकती है**](https://github.com/carlospolop/hacktricks/blob/master/windows-hardening/active-directory-methodology/broken-reference/README.md)
### प्रिवेस्क के रूप में स्थिरता
@ -406,7 +406,7 @@ silver-ticket.md
### गोल्डन टिकट
**गोल्डन टिकट हमला** में एक हमलावर **NTLM हैश** को **krbtgt खाते** तक पहुँच प्राप्त करता है, जो Active Directory (AD) वातावरण में होता है। यह खाता विशेष है क्योंकि इसका उपयोग सभी **टिकट ग्रांटिंग टिकट (TGTs)** पर हस्ताक्षर करने के लिए किया जाता है, जो AD नेटवर्क के भीतर प्रमाणीकरण के लिए आवश्यक हैं।
**गोल्डन टिकट हमला** में एक हमलावर **NTLM हैश** को **krbtgt खाते** तक पहुँच प्राप्त करता है जो Active Directory (AD) वातावरण में होता है। यह खाता विशेष है क्योंकि इसका उपयोग सभी **टिकट ग्रांटिंग टिकट (TGTs)** पर हस्ताक्षर करने के लिए किया जाता है, जो AD नेटवर्क के भीतर प्रमाणीकरण के लिए आवश्यक हैं।
एक बार जब हमलावर इस हैश को प्राप्त कर लेता है, तो वह किसी भी खाते के लिए **TGTs** बना सकता है जिसे वह चुनता है (सिल्वर टिकट हमला)।
@ -416,7 +416,7 @@ golden-ticket.md
### डायमंड टिकट
ये गोल्डन टिकट की तरह होते हैं ज **सामान्य गोल्डन टिकट पहचान तंत्रों को बायपास**रने के तरीके से बनाए जाते हैं
ये गोल्डन टिकट की तरह होते हैं जिन्हें इस तरह से तैयार किया गया है कि **सामान्य गोल्डन टिकट पहचान तंत्रों को बायपास**िया जा सके
{{#ref}}
diamond-ticket.md
@ -440,7 +440,7 @@ ad-certificates/domain-persistence.md
### AdminSDHolder समूह
Active Directory में **AdminSDHolder** ऑब्जेक्ट **विशेषाधिकार प्राप्त समूहों** (जैसे डोमेन एडमिन और एंटरप्राइज एडमिन) की सुरक्षा सुनिश्चित करता है, इन समूहों पर एक मानक **एक्सेस कंट्रोल लिस्ट (ACL)** लागू करके अनधिकृत परिवर्तनों को रोकता है। हालाँकि, इस सुविधा का दुरुपयोग किया जा सकता है; यदि एक हमलावर AdminSDHolder के ACL को एक सामान्य उपयोगकर्ता को पूर्ण पहुँच देने के लिए संशोधित करता है, तो उस उपयोगकर्ता को सभी विशेषाधिकार प्राप्त समूहों पर व्यापक नियंत्रण मिल जाता है। यह सुरक्षा उपाय, जो सुरक्षा के लिए बनाया गया था, इस प्रकार उलटा पड़ सकता है, जिससे अनधिकृत पहुँच की अनुमति मिलती है जब तक कि इसे निकटता से मॉनिटर नहीं किया जाता।
Active Directory में **AdminSDHolder** ऑब्जेक्ट **विशेषाधिकार प्राप्त समूहों** (जैसे डोमेन एडमिन और एंटरप्राइज एडमिन) की सुरक्षा सुनिश्चित करता है, इन समूहों पर एक मानक **एक्सेस कंट्रोल लिस्ट (ACL)** लागू करके अनधिकृत परिवर्तनों को रोकता है। हालाँकि, इस सुविधा का दुरुपयोग किया जा सकता है; यदि एक हमलावर AdminSDHolder के ACL को एक सामान्य उपयोगकर्ता को पूर्ण पहुँच देने के लिए संशोधित करता है, तो उस उपयोगकर्ता को सभी विशेषाधिकार प्राप्त समूहों पर व्यापक नियंत्रण मिल जाता है। यह सुरक्षा उपाय, जो सुरक्षा के लिए बनाया गया था, इस प्रकार उलटा पड़ सकता है, जिससे बिना अनुमति की पहुँच संभव हो जाती है जब तक कि इसे निकटता से मॉनिटर नहीं किया जाता।
[**AdminDSHolder समूह के बारे में अधिक जानकारी यहाँ।**](privileged-groups-and-token-privileges.md#adminsdholder-group)
@ -454,7 +454,7 @@ dsrm-credentials.md
### ACL स्थिरता
आप कुछ विशिष्ट डोमेन ऑब्जेक्ट्स पर एक **उपयोगकर्ता** को कुछ **विशेष अनुमतियाँ** दे सकते हैं जो उपयोगकर्ता को भविष्य में **विशेषाधिकार बढ़ाने** की अनुमति देंगी।
आप कुछ विशेष डोमेन ऑब्जेक्ट्स पर एक **उपयोगकर्ता** को कुछ **विशेष अनुमतियाँ** दे सकते हैं जो उपयोगकर्ता को भविष्य में **विशेषाधिकार बढ़ाने** की अनुमति देंगी।
{{#ref}}
acl-persistence-abuse/
@ -462,7 +462,7 @@ acl-persistence-abuse/
### सुरक्षा वर्णनकर्ता
**सुरक्षा वर्णनकर्ता** का उपयोग **अनुमतियों** को **स्टोर** करने के लिए किया जाता है जो एक **ऑब्जेक्ट** के पास **एक ऑब्जेक्ट** पर होती हैं। यदि आप केवल **सुरक्षा वर्णनकर्ता** के एक ऑब्जेक्ट में **थोड़ा परिवर्तन** कर सकते हैं, तो आप उस ऑब्जेक्ट पर बहुत दिलचस्प विशेषाधिकार प्राप्त कर सकते हैं बिना किसी विशेषाधिकार प्राप्त समूह का सदस्य बने।
**सुरक्षा वर्णनकर्ता** का उपयोग **अनुमतियों** को **स्टोर** करने के लिए किया जाता है जो एक **ऑब्जेक्ट** के पास **एक ऑब्जेक्ट** पर होती हैं। यदि आप केवल **सुरक्षा वर्णनकर्ता** में एक **थोड़ा परिवर्तन** कर सकते हैं, तो आप उस ऑब्जेक्ट पर बहुत दिलचस्प विशेषाधिकार प्राप्त कर सकते हैं बिना किसी विशेषाधिकार प्राप्त समूह का सदस्य बने।
{{#ref}}
security-descriptors.md
@ -487,7 +487,7 @@ custom-ssp.md
### DCShadow
यह AD में एक **नया डोमेन कंट्रोलर** पंजीकृत करता है और निर्दिष्ट वस्तुओं पर **विशेषताएँ** (SIDHistory, SPNs...) **धकेलने** के लिए इसका उपयोग करता है **बिना** किसी **लॉग** को छोड़ने के। आपको **DA** विशेषाधिकार की आवश्यकता है और **रूट डोमेन** के अंदर होना चाहिए।\
यह AD में एक **नया डोमेन कंट्रोलर** पंजीकृत करता है और निर्दिष्ट वस्तुओं पर **विशेषताएँ** (SIDHistory, SPNs...) को **धकेलने** के लिए इसका उपयोग करता है **बिना** किसी **लॉग** को छोड़े जो **संशोधनों** के बारे में हो। आपको **DA** विशेषाधिकार की आवश्यकता है और **रूट डोमेन** के अंदर होना चाहिए।\
ध्यान दें कि यदि आप गलत डेटा का उपयोग करते हैं, तो बहुत भद्दे लॉग दिखाई देंगे।
{{#ref}}
@ -496,7 +496,7 @@ dcshadow.md
### LAPS स्थिरता
पहले हमने चर्चा की है कि यदि आपके पास **LAPS पासवर्ड पढ़ने के लिए पर्याप्त अनुमति है** तो विशेषाधिकार कैसे बढ़ाए जा सकते हैं। हालाँकि, इन पासवर्डों का उपयोग **स्थिरता बनाए रखने** के लिए भी किया जा सकता है।\
पहले हमने चर्चा की है कि यदि आपके पास **LAPS पासवर्ड पढ़ने के लिए पर्याप्त अनुमति है** तो आप विशेषाधिकार कैसे बढ़ा सकते हैं। हालाँकि, इन पासवर्डों का उपयोग **स्थिरता बनाए रखने** के लिए भी किया जा सकता है।\
जाँच करें:
{{#ref}}
@ -518,9 +518,9 @@ Microsoft **वन** को सुरक्षा सीमा के रूप
1. **डोमेन 1** में एक **क्लाइंट कंप्यूटर** प्रक्रिया शुरू करता है, जो अपने **NTLM हैश** का उपयोग करके अपने **डोमेन कंट्रोलर (DC1)** से **टिकट ग्रांटिंग टिकट (TGT)** का अनुरोध करता है।
2. यदि क्लाइंट सफलतापूर्वक प्रमाणित होता है, तो DC1 एक नया TGT जारी करता है।
3. क्लाइंट फिर **डोमेन 2** में संसाधनों तक पहुँचने के लिए DC1 से एक **इंटर-रीलम TGT** का अनुरोध करता है।
4. इंटर-रीलम TGT को **विश्वास कुंजी** के साथ एन्क्रिप्ट किया गया है जो DC1 और DC2 के बीच दो-तरफा डोमेन ट्रस्ट का हिस्सा है।
4. इंटर-रीलम TGT को DC1 और DC2 के बीच साझा ट्रस्ट कुंजी के साथ एन्क्रिप्ट किया गया है जो दो-तरफा डोमेन ट्रस्ट का हिस्सा है।
5. क्लाइंट इंटर-रीलम TGT को **डोमेन 2 के डोमेन कंट्रोलर (DC2)** पर ले जाता है।
6. DC2 अपने साझा ट्रस्ट कुंजी का उपयोग करके इंटर-रीलम TGT की सत्यापन करता है और यदि मान्य है, तो वह उस सर्वर के लिए एक **टिकट ग्रांटिंग सेवा (TGS)** जारी करता है जिसे क्लाइंट पहुँच प्राप्त करना चाहता है।
6. DC2 अपने साझा ट्रस्ट कुंजी का उपयोग करके इंटर-रीलम TGT की सत्यापन करता है और यदि मान्य है, तो वह उस सर्वर के लिए **टिकट ग्रांटिंग सेवा (TGS)** जारी करता है जिसे क्लाइंट पहुँच प्राप्त करना चाहता है।
7. अंततः, क्लाइंट इस TGS को सर्वर को प्रस्तुत करता है, जो सर्वर के खाते के हैश के साथ एन्क्रिप्ट किया गया है, ताकि डोमेन 2 में सेवा तक पहुँच प्राप्त की जा सके।
### विभिन्न ट्रस्ट
@ -531,9 +531,9 @@ Microsoft **वन** को सुरक्षा सीमा के रूप
**विभिन्न विश्वास संबंध**
- **पैरेंट-चाइल्ड ट्रस्ट**: यह एक सामान्य सेटअप है जो एक ही वन के भीतर होता है, जहाँ एक चाइल्ड डोमेन अपने पैरेंट डोमेन के साथ स्वचालित रूप से एक दो-तरफा पारगम्य ट्रस्ट रखता है। मूल रूप से, इसका अर्थ है कि प्रमाणीकरण अनुरोध पैरेंट और चाइल्ड के बीच निर्बाध रूप से प्रवाहित हो सकते हैं।
- **क्रॉस-लिंक ट्रस्ट**: इन्हें "शॉर्टकट ट्रस्ट" कहा जाता है, जो चाइल्ड डोमेन के बीच स्थापित होते हैं ताकि संदर्भ प्रक्रियाओं को तेज किया जा सके। जटिल वन में, प्रमाणीकरण संदर्भ आमतौर पर वन की जड़ तक यात्रा करते हैं और फिर लक्षित डोमेन तक पहुँचते हैं। क्रॉस-लिंक बनाने से यात्रा को छोटा किया जाता है, जो विशेष रूप से भौगोलिक रूप से फैले हुए वातावरण में फायदेमंद होता है।
- **बाहरी ट्रस्ट**: ये विभिन्न, असंबंधित डोमेन के बीच स्थापित होते हैं और स्वाभाविक रूप से गैर-पारगम्य होते हैं। [Microsoft के दस्तावेज़](<https://technet.microsoft.com/en-us/library/cc773178(v=ws.10).aspx>) के अनुसार, बाहरी ट्रस्ट उन संसाधनों तक पहुँचने के लिए उपयोगी होते हैं जो वर्तमान वन के बाहर के डोमेन में हैं जो वन ट्रस्ट द्वारा जुड़े नहीं हैं। SID फ़िल्टरिंग के माध्यम से सुरक्षा को बढ़ाया जाता है।
- **माता-पिता-शिशु ट्रस्ट**: यह एक सामान्य सेटअप है जो एक ही वन के भीतर होता है, जहाँ एक शिशु डोमेन अपने माता-पिता डोमेन के साथ स्वचालित रूप से एक दो-तरफा पारगम्य ट्रस्ट रखता है। मूल रूप से, इसका अर्थ है कि प्रमाणीकरण अनुरोध माता-पिता और शिशु के बीच निर्बाध रूप से प्रवाहित हो सकते हैं।
- **क्रॉस-लिंक ट्रस्ट**: इन्हें "शॉर्टकट ट्रस्ट" कहा जाता है, जो शिशु डोमेन के बीच स्थापित होते हैं ताकि संदर्भ प्रक्रियाओं को तेज किया जा सके। जटिल वन में, प्रमाणीकरण संदर्भ आमतौर पर वन की जड़ तक यात्रा करते हैं और फिर लक्षित डोमेन तक पहुँचते हैं। क्रॉस-लिंक बनाने से यात्रा को छोटा किया जाता है, जो विशेष रूप से भौगोलिक रूप से फैले हुए वातावरण में फायदेमंद होता है।
- **बाहरी ट्रस्ट**: ये विभिन्न, असंबंधित डोमेन के बीच स्थापित होते हैं और स्वाभाविक रूप से गैर-पारगम्य होते हैं। [Microsoft के दस्तावेज़](<https://technet.microsoft.com/en-us/library/cc773178(v=ws.10).aspx>) के अनुसार, बाहरी ट्रस्ट उन संसाधनों तक पहुँचने के लिए उपयोगी होते हैं जो वर्तमान वन के बाहर के डोमेन में हैं जो वन ट्रस्ट द्वारा जुड़े नहीं हैं। SID फ़िल्टरिंग के माध्यम से सुरक्षा को बाहरी ट्रस्ट के साथ बढ़ाया जाता है।
- **ट्री-रूट ट्रस्ट**: ये ट्रस्ट स्वचालित रूप से वन की जड़ डोमेन और एक नए जोड़े गए ट्री रूट के बीच स्थापित होते हैं। जबकि ये सामान्यतः नहीं मिलते हैं, ट्री-रूट ट्रस्ट नए डोमेन ट्री को एक वन में जोड़ने के लिए महत्वपूर्ण होते हैं, जिससे उन्हें एक अद्वितीय डोमेन नाम बनाए रखने और दो-तरफा पारगम्यता सुनिश्चित करने की अनुमति मिलती है। [Microsoft के गाइड](<https://technet.microsoft.com/en-us/library/cc773178(v=ws.10).aspx>) में अधिक जानकारी मिल सकती है।
- **वन ट्रस्ट**: यह प्रकार का ट्रस्ट दो वन रूट डोमेन के बीच एक दो-तरफा पारगम्य ट्रस्ट है, जो सुरक्षा उपायों को बढ़ाने के लिए SID फ़िल्टरिंग को लागू करता है।
- **MIT ट्रस्ट**: ये ट्रस्ट गैर-Windows, [RFC4120-अनुरूप](https://tools.ietf.org/html/rfc4120) Kerberos डोमेन के साथ स्थापित होते हैं। MIT ट्रस्ट थोड़े अधिक विशेषीकृत होते हैं और उन वातावरणों के लिए होते हैं जिन्हें Windows पारिस्थितिकी तंत्र के बाहर Kerberos-आधारित प्रणालियों के साथ एकीकरण की आवश्यकता होती है।
@ -548,15 +548,15 @@ Microsoft **वन** को सुरक्षा सीमा के रूप
1. **विश्वास संबंधों** की गणना करें
2. जाँच करें कि क्या कोई **सुरक्षा प्रमुख** (उपयोगकर्ता/समूह/कंप्यूटर) के पास **दूसरे डोमेन** के संसाधनों तक **पहुँच** है, शायद ACE प्रविष्टियों के माध्यम से या दूसरे डोमेन के समूहों में होने के कारण। **डोमेन के बीच संबंधों** की तलाश करें (यह ट्रस्ट शायद इस लिए बनाया गया था)।
1. इस मामले में kerberoast एक और विकल्प हो सकता है।
3. **समझौता करें** उन **खातों** का जो **डोमेन के माध्यम से पिवट** कर सकते हैं।
3. **खातों का समझौता करें** जो **डोमेन के माध्यम से पिवट** कर सकते हैं।
हमलावरों को दूसरे डोमेन में संसाधनों तक पहुँच प्राप्त करने के लिए तीन प्राथमिक तंत्रों के माध्यम से पहुँच मिल सकती है:
- **स्थानीय समूह सदस्यता**: प्रमुखों को मशीनों पर स्थानीय समूहों में जोड़ा जा सकता है, जैसे कि सर्वर पर "व्यवस्थापक" समूह, जो उन्हें उस मशीन पर महत्वपूर्ण नियंत्रण प्रदान करता है।
- **स्थानीय समूह सदस्यता**: प्रमुखों को मशीनों पर स्थानीय समूहों में जोड़ा जा सकता है, जैसे कि सर्वर पर "व्यवस्थापकों" का समूह, जो उन्हें उस मशीन पर महत्वपूर्ण नियंत्रण प्रदान करता है।
- **विदेशी डोमेन समूह सदस्यता**: प्रमुख विदेशी डोमेन के भीतर समूहों के सदस्य भी हो सकते हैं। हालाँकि, इस विधि की प्रभावशीलता ट्रस्ट की प्रकृति और समूह के दायरे पर निर्भर करती है।
- **एक्सेस कंट्रोल लिस्ट (ACLs)**: प्रमुखों को एक **ACL** में निर्दिष्ट किया जा सकता है, विशेष रूप से **DACL** में **ACEs** के रूप में, जो उन्हें विशिष्ट संसाधनों तक पहुँच प्रदान करता है। जो लोग ACLs, DACLs, और ACEs के तंत्र में गहराई से जाना चाहते हैं, उनके लिए “[An ACE Up The Sleeve](https://specterops.io/assets/resources/an_ace_up_the_sleeve.pdf)” शीर्षक वाला श्वेत पत्र एक अमूल्य संसाधन है।
### बाहरी उपयोगकर्ताओं/समूहों को अनुमतियों के साथ खोजें
### बाहरी उपयोगकर्ताओं/समूहों के साथ अनुमतियों की खोज
आप **`CN=<user_SID>,CN=ForeignSecurityPrincipals,DC=domain,DC=com`** की जाँच कर सकते हैं ताकि डोमेन में विदेशी सुरक्षा प्रमुखों को खोजा जा सके। ये **एक बाहरी डोमेन/वन** से उपयोगकर्ता/समूह होंगे।
@ -612,17 +612,17 @@ sid-history-injection.md
#### लिखने योग्य कॉन्फ़िगरेशन NC का शोषण
कॉन्फ़िगरेशन नाम संदर्भ (NC) का शोषण कैसे किया जा सकता है, यह समझना महत्वपूर्ण है। कॉन्फ़िगरेशन NC सक्रिय निर्देशिका (AD) वातावरण में एक वन के भीतर कॉन्फ़िगरेशन डेटा के लिए एक केंद्रीय भंडार के रूप में कार्य करता है। यह डेटा वन के भीतर प्रत्येक डोमेन कंट्रोलर (DC) पर पुन: पेश किया जाता है, जिसमें लिखने योग्य DC कॉन्फ़िगरेशन NC की एक लिखने योग्य प्रति बनाए रखते हैं। इसका शोषण करने के लिए, किसी को **DC पर SYSTEM विशेषाधिकार** होना चाहिए, सबसे अच्छा एक चाइल्ड DC।
कॉन्फ़िगरेशन नाम संदर्भ (NC) का शोषण कैसे किया जा सकता है, यह समझना महत्वपूर्ण है। कॉन्फ़िगरेशन NC सक्रिय निर्देशिका (AD) वातावरण में एक जंगल के भीतर कॉन्फ़िगरेशन डेटा के लिए एक केंद्रीय भंडार के रूप में कार्य करता है। यह डेटा जंगल के प्रत्येक डोमेन कंट्रोलर (DC) में पुन: पेश किया जाता है, जिसमें लिखने योग्य DCs कॉन्फ़िगरेशन NC की एक लिखने योग्य प्रति बनाए रखते हैं। इसका शोषण करने के लिए, किसी को **DC पर SYSTEM विशेषाधिकार** होना चाहिए, सबसे अच्छा एक चाइल्ड DC।
**रूट DC साइट से GPO लिंक करें**
कॉन्फ़िगरेशन NC के साइट्स कंटेनर में AD वन के भीतर सभी डोमेन-जोड़े गए कंप्यूटरों की साइटों के बारे में जानकारी शामिल है। किसी भी DC पर SYSTEM विशेषाधिकार के साथ कार्य करते हुए, हमलावर GPO को रूट DC साइट से लिंक कर सकते हैं। यह क्रिया इन साइटों पर लागू नीतियों को हेरफेर करके रूट डोमेन को संभावित रूप से समझौता कर सकती है।
कॉन्फ़िगरेशन NC के साइट्स कंटेनर में AD जंगल के भीतर सभी डोमेन-जोड़े गए कंप्यूटरों की साइटों के बारे में जानकारी शामिल होती है। किसी भी DC पर SYSTEM विशेषाधिकार के साथ काम करके, हमलावर GPOs को रूट DC साइटों से लिंक कर सकते हैं। यह क्रिया इन साइटों पर लागू नीतियों को हेरफेर करके रूट डोमेन को संभावित रूप से समझौता कर सकती है।
गहन जानकारी के लिए, कोई [Bypassing SID Filtering](https://improsec.com/tech-blog/sid-filter-as-security-boundary-between-domains-part-4-bypass-sid-filtering-research) पर शोध कर सकता है।
**वन में किसी भी gMSA का समझौता करें**
**जंगल में किसी भी gMSA का समझौता करें**
एक हमले का वेक्टर डोमेन के भीतर विशेषाधिकार प्राप्त gMSAs को लक्षित करना है। KDS रूट कुंजी, जो gMSAs के पासवर्ड की गणना के लिए आवश्यक है, कॉन्फ़िगरेशन NC के भीतर संग्रहीत होती है। किसी भी DC पर SYSTEM विशेषाधिकार के साथ, KDS रूट कुंजी तक पहुंच प्राप्त करना और वन में किसी भी gMSA के लिए पासवर्ड की गणना करना संभव है।
एक हमले का वेक्टर डोमेन के भीतर विशेषाधिकार प्राप्त gMSAs को लक्षित करना है। KDS रूट कुंजी, जो gMSAs के पासवर्ड की गणना के लिए आवश्यक है, कॉन्फ़िगरेशन NC के भीतर संग्रहीत होती है। किसी भी DC पर SYSTEM विशेषाधिकार के साथ, KDS रूट कुंजी तक पहुंच प्राप्त करना और जंगल में किसी भी gMSA के लिए पासवर्ड की गणना करना संभव है।
विस्तृत विश्लेषण और चरण-दर-चरण मार्गदर्शन यहाँ पाया जा सकता है:
@ -640,11 +640,11 @@ golden-dmsa-gmsa.md
**DA से EA तक ADCS ESC5 के साथ**
ADCS ESC5 भेद्यता सार्वजनिक कुंजी अवसंरचना (PKI) ऑब्जेक्ट्स पर नियंत्रण को लक्षित करती है ताकि एक प्रमाणपत्र टेम्पलेट बनाया जा सके जो वन के भीतर किसी भी उपयोगकर्ता के रूप में प्रमाणीकरण की अनुमति देता है। चूंकि PKI ऑब्जेक्ट्स कॉन्फ़िगरेशन NC में स्थित होते हैं, एक लिखने योग्य चाइल्ड DC का समझौता ESC5 हमलों को निष्पादित करने की अनुमति देता है।
ADCS ESC5 भेद्यता सार्वजनिक कुंजी अवसंरचना (PKI) ऑब्जेक्ट्स पर नियंत्रण को लक्षित करती है ताकि एक प्रमाणपत्र टेम्पलेट बनाया जा सके जो जंगल के भीतर किसी भी उपयोगकर्ता के रूप में प्रमाणीकरण की अनुमति देता है। चूंकि PKI ऑब्जेक्ट्स कॉन्फ़िगरेशन NC में स्थित होते हैं, एक लिखने योग्य चाइल्ड DC का समझौता ESC5 हमलों को निष्पादित करने की अनुमति देता है।
इस पर अधिक जानकारी [From DA to EA with ESC5](https://posts.specterops.io/from-da-to-ea-with-esc5-f9f045aa105c) में पढ़ी जा सकती है। ADCS की कमी वाले परिदृश्यों में, हमलावर आवश्यक घटकों को स्थापित करने की क्षमता रखता है, जैसा कि [Escalating from Child Domain Admins to Enterprise Admins](https://www.pkisolutions.com/escalating-from-child-domains-admins-to-enterprise-admins-in-5-minutes-by-abusing-ad-cs-a-follow-up/) में चर्चा की गई है।
### बाहरी वन डोमेन - एक-तरफा (इनबाउंड) या द्विदिश
### बाहरी जंगल डोमेन - एक-तरफा (इनबाउंड) या द्विदिश
```bash
Get-DomainTrust
SourceName : a.domain.local --> Current domain
@ -655,7 +655,7 @@ TrustDirection : Inbound --> Inboud trust
WhenCreated : 2/19/2021 10:50:56 PM
WhenChanged : 2/19/2021 10:50:56 PM
```
इस परिदृश्य में **आपका डोमेन एक बाहरी द्वारा विश्वसनीय है** जो आपको **अनिश्चित अनुमतियाँ** देता है। आपको यह पता लगाने की आवश्यकता होगी कि **आपके डोमेन के कौन से प्रिंसिपल्स के पास बाहरी डोमेन पर कौन सा एक्सेस है** और फिर इसे भुनाने की कोशिश करें:
इस परिदृश्य में **आपका डोमेन एक बाहरी द्वारा विश्वसनीय है** जो आपको **अनिश्चित अनुमतियाँ** देता है। आपको यह पता लगाने की आवश्यकता ह कि **आपके डोमेन के कौन से प्रिंसिपल्स के पास बाहरी डोमेन पर कौन सा एक्सेस है** और फिर इसे भुनाने की कोशिश करें:
{{#ref}}
external-forest-domain-oneway-inbound.md
@ -675,7 +675,7 @@ WhenChanged : 2/19/2021 10:15:24 PM
```
इस परिदृश्य में **आपका डोमेन** किसी **विभिन्न डोमेन** से प्रिंसिपल को कुछ **अधिकार** **विश्वास** कर रहा है।
हालांकि, जब एक **डोमेन को विश्वास** किया जाता है, तो विश्वास करने वाला डोमेन **एक उपयोगकर्ता बनाता है** जिसका **पूर्वानुमानित नाम** होता है और जो **विश्वासित पासवर्ड** का उपयोग करता है। इसका मतलब है कि यह संभव है कि **विश्वास करने वाले डोमेन से एक उपयोगकर्ता को एक्सेस करके विश्वासित डोमेन में प्रवेश किया जा सके** ताकि उसे सूचीबद्ध किया जा सके और अधिक अधिकारों को बढ़ाने की कोशिश की जा सके:
हालांकि, जब एक **डोमेन को विश्वास** किया जाता है, तो विश्वास करने वाला डोमेन **एक उपयोगकर्ता** बनाता है जिसका **पूर्वानुमानित नाम** होता है और जो **विश्वासित पासवर्ड** का उपयोग करता है। इसका मतलब है कि यह संभव है कि **विश्वास करने वाले डोमेन से एक उपयोगकर्ता को एक्सेस करके विश्वासित डोमेन में प्रवेश किया जा सके** ताकि उसे सूचीबद्ध किया जा सके और अधिक अधिकारों को बढ़ाने की कोशिश की जा सके:
{{#ref}}
external-forest-domain-one-way-outbound.md
@ -694,7 +694,7 @@ rdp-sessions-abuse.md
### **SID फ़िल्टरिंग:**
- SID इतिहास विशेषता का उपयोग करके हमलों के जोखिम को SID फ़िल्टरिंग द्वारा कम किया जाता है, जो सभी इंटर-फॉरेस्ट ट्रस्ट पर डिफ़ॉल्ट रूप से सक्रिय होता है। यह इस धारणा पर आधारित है कि इंट्रा-फॉरेस्ट ट्रस्ट सुरक्षित हैं, फॉरेस्ट को सुरक्षा सीमा के रूप में मानते हुए, न कि डोमेन को, जैसा कि माइक्रोसॉफ्ट के दृष्टिकोण के अनुसार
- SID इतिहास विशेषता का उपयोग करके हमलों के जोखिम को SID फ़िल्टरिंग द्वारा कम किया जाता है, जो सभी इंटर-फॉरेस्ट ट्रस्ट पर डिफ़ॉल्ट रूप से सक्रिय होता है। यह इस धारणा पर आधारित है कि इंट्रा-फॉरेस्ट ट्रस्ट सुरक्षित हैं, फॉरेस्ट को सुरक्षा सीमा के रूप में मानते हुए, न कि डोमेन को, जैसा कि माइक्रोसॉफ्ट का मानना है
- हालाँकि, एक पकड़ है: SID फ़िल्टरिंग अनुप्रयोगों और उपयोगकर्ता पहुंच को बाधित कर सकता है, जिसके कारण इसे कभी-कभी निष्क्रिय किया जा सकता है।
### **चयनात्मक प्रमाणीकरण:**
@ -729,14 +729,14 @@ https://cloud.hacktricks.wiki/en/pentesting-cloud/azure-security/az-lateral-move
### **धोखे की पहचान करना**
- **उपयोगकर्ता वस्तुओं के लिए**: संदिग्ध संकेतों में असामान्य ObjectSID, असामान्य लॉगिन, निर्माण तिथियाँ, और कम खराब पासवर्ड की गिनती शामिल हैं।
- **सामान्य संकेतक**: संभावित डिकॉय वस्तुओं के गुणों की तुलना वास्तविक वस्तुओं के गुणों से करने से असंगतियाँ प्रकट हो सकती हैं। [HoneypotBuster](https://github.com/JavelinNetworks/HoneypotBuster) जैसे उपकरण ऐसी धोखाधड़ी की पहचान करने में मदद कर सकते हैं।
- **सामान्य संकेतक**: संभावित डिकॉय वस्तुओं के गुणों की तुलना वास्तविक वस्तुओं के गुणों से करने से असंगतताएँ प्रकट हो सकती हैं। [HoneypotBuster](https://github.com/JavelinNetworks/HoneypotBuster) जैसे उपकरण ऐसी धोखाधड़ी की पहचान करने में मदद कर सकते हैं।
### **डिटेक्शन सिस्टम को बायपास करना**
- **Microsoft ATA डिटेक्शन बायपास**:
- **उपयोगकर्ता सूचीकरण**: डोमेन कंट्रोलर्स पर सत्र सूचीकरण से बचना ATA डिटेक्शन को रोकने के लिए।
- **टिकट अनुकरण**: टिकट निर्माण के लिए **aes** कुंजियों का उपयोग करना डिटेक्शन से बचने में मदद करता है क्योंकि NTLM में डाउनग्रेड नहीं होता है।
- **DCSync हमले**: ATA डिटेक्शन से बचने के लिए गैर-डोमेन कंट्रोलर से निष्पादन करना सलाह दी जाती है, क्योंकि डोमेन कंट्रोलर से सीधे निष्पादन करने पर अलर्ट ट्रिगर होगा
- **DCSync हमले**: ATA डिटेक्शन से बचने के लिए गैर-डोमेन कंट्रोलर से निष्पादन करना सलाह दी जाती है, क्योंकि डोमेन कंट्रोलर से सीधे निष्पादन करने पर अलर्ट ट्रिगर होंगे
## संदर्भ

View File

@ -4,34 +4,36 @@
## Overview
Windows Managed Service Accounts (MSA) विशेष प्रिंसिपल होते हैं जो सेवाओं को बिना पासवर्ड को मैन्युअल रूप से प्रबंधित किए चलाने के लिए डिज़ाइन किए गए हैं। इसके दो प्रमुख प्रकार हैं:
Windows Managed Service Accounts (MSA) विशेष प्रिंसिपल होते हैं जो सेवाओं को बिना पासवर्ड को मैन्युअल रूप से प्रबंधित किए चलाने के लिए डिज़ाइन किए गए हैं।
इसके दो प्रमुख प्रकार हैं:
1. **gMSA** समूह प्रबंधित सेवा खाता इसे उन कई होस्ट पर उपयोग किया जा सकता है जो इसके `msDS-GroupMSAMembership` विशेषता में अधिकृत हैं।
2. **dMSA** प्रतिनिधि प्रबंधित सेवा खाता gMSA का (पूर्वावलोकन) उत्तराधिकारी, जो समान क्रिप्टोग्राफी पर निर्भर करता है लेकिन अधिक बारीक प्रतिनिधित्व परिदृश्यों की अनुमति देता है।
1. **gMSA** समूह प्रबंधित सेवा खाता इसे उन कई होस्ट पर उपयोग किया जा सकता है जो इसके `msDS-GroupMSAMembership` विशेषता में अधिकृत हैं।
2. **dMSA** प्रतिनिधि प्रबंधित सेवा खाता gMSA का (पूर्वावलोकन) उत्तराधिकारी, जो समान क्रिप्टोग्राफी पर निर्भर करता है लेकिन अधिक बारीक प्रतिनिधित्व परिदृश्यों की अनुमति देता है।
दोनों प्रकारों के लिए **पासवर्ड** प्रत्येक डोमेन कंट्रोलर (DC) पर सामान्य NT-हैश की तरह **स्टोर नहीं किया जाता** है। इसके बजाय, प्रत्येक DC **वर्तमान पासवर्ड को ऑन-द-फ्लाई** निकाल सकता है:
* वन-वन **KDS रूट कुंजी** (`KRBTGT\KDS`) यादृच्छिक रूप से उत्पन्न GUID-नामित रहस्य, जो `CN=Master Root Keys,CN=Group Key Distribution Service, CN=Services, CN=Configuration, …` कंटेनर के तहत हर DC पर पुनः उत्पन्न होता है।
* लक्षित खाता **SID**
* एक प्रति-खाता **ManagedPasswordID** (GUID) जो `msDS-ManagedPasswordId` विशेषता में पाया जाता है।
* वन-वन **KDS रूट कुंजी** (`KRBTGT\KDS`) यादृच्छिक रूप से उत्पन्न GUID-नामित गुप्त, जो `CN=Master Root Keys,CN=Group Key Distribution Service, CN=Services, CN=Configuration, …` कंटेनर के तहत हर DC पर पुनः उत्पन्न होता है।
* लक्षित खाता **SID**
* एक प्रति-खाता **ManagedPasswordID** (GUID) जो `msDS-ManagedPasswordId` विशेषता में पाया जाता है।
निकालने की प्रक्रिया है: `AES256_HMAC( KDSRootKey , SID || ManagedPasswordID )` → 240 बाइट का ब्लॉब अंततः **base64-encoded** होता है और `msDS-ManagedPassword` विशेषता में स्टोर किया जाता है। सामान्य पासवर्ड उपयोग के दौरान कोई Kerberos ट्रैफ़िक या डोमेन इंटरैक्शन की आवश्यकता नहीं होती एक सदस्य होस्ट पासवर्ड को स्थानीय रूप से निकालता है जब तक कि उसे तीन इनपुट का ज्ञान हो।
निकालने की प्रक्रिया है: `AES256_HMAC( KDSRootKey , SID || ManagedPasswordID )` → 240 बाइट का ब्लॉब अंततः **base64-encoded** होता है और `msDS-ManagedPassword` विशेषता में स्टोर किया जाता है।
सामान्य पासवर्ड उपयोग के दौरान कोई Kerberos ट्रैफ़िक या डोमेन इंटरैक्शन की आवश्यकता नहीं होती है एक सदस्य होस्ट पासवर्ड को स्थानीय रूप से निकालता है जब तक कि उसे तीन इनपुट का ज्ञान हो।
## Golden gMSA / Golden dMSA Attack
यदि एक हमलावर सभी तीन इनपुट **ऑफलाइन** प्राप्त कर सकता है, तो वे **कोई भी gMSA/dMSA के लिए मान्य वर्तमान और भविष्य के पासवर्ड** की गणना कर सकते हैं बिना फिर से DC को छुए, जिससे बचते हैं:
यदि एक हमलावर सभी तीन इनपुट **ऑफलाइन** प्राप्त कर सकता है, तो वे **कोई भी gMSA/dMSA के लिए** **मान्य वर्तमान और भविष्य के पासवर्ड** की गणना कर सकते हैं बिना फिर से DC को छुए, जिससे बचते हैं:
* Kerberos पूर्व-प्रमाणीकरण / टिकट अनुरोध लॉग
* LDAP पढ़ने का ऑडिटिंग
* पासवर्ड परिवर्तन अंतराल (वे पूर्व-गणना कर सकते हैं)
* Kerberos पूर्व-प्रमाणीकरण / टिकट अनुरोध लॉग
* LDAP पढ़ने का ऑडिटिंग
* पासवर्ड परिवर्तन अंतराल (वे पूर्व-गणना कर सकते हैं)
यह सेवा खातों के लिए *गोल्डन टिकट* के समान है।
यह सेवा खातों के लिए *गोल्डन टिकट* के समान है।
### Prerequisites
1. **वन-स्तरीय समझौता** **एक DC** (या एंटरप्राइज एडमिन) का`SYSTEM` पहुंच पर्याप्त है।
2. सेवा खातों को सूचीबद्ध करने की क्षमता (LDAP पढ़ें / RID ब्रूट-फोर्स)।
3. [`GoldenDMSA`](https://github.com/Semperis/GoldenDMSA) या समकक्ष कोड चलाने के लिए .NET ≥ 4.7.2 x64 वर्कस्टेशन।
1. **वन-वन स्तर का समझौता** **एक DC** (या एंटरप्राइज एडमिन)। `SYSTEM` पहुंच पर्याप्त है।
2. सेवा खातों को सूचीबद्ध करने की क्षमता (LDAP पढ़ें / RID ब्रूट-फोर्स)।
3. .NET ≥ 4.7.2 x64 वर्कस्टेशन [`GoldenDMSA`](https://github.com/Semperis/GoldenDMSA) या समकक्ष कोड चलाने के लिए
### Phase 1 Extract the KDS Root Key
@ -64,7 +66,7 @@ GoldendMSA.exe info -d example.local -m brute -r 5000 -u jdoe -p P@ssw0rd
```
### Phase 3 ManagedPasswordID का अनुमान लगाना / पता लगाना (जब गायब हो)
कुछ डिप्लॉयमेंट `msDS-ManagedPasswordId` को ACL-संरक्षित पढ़ाई से *हटा* देते हैं।
कुछ डिप्लॉयमेंट्स `msDS-ManagedPasswordId` को ACL-संरक्षित पढ़ाई से *हटा* देते हैं।
क्योंकि GUID 128-बिट है, साधारण ब्रूटफोर्स असंभव है, लेकिन:
1. पहले **32 बिट = Unix युग समय** खाता निर्माण का (मिनटों का संकल्प)।
@ -74,7 +76,7 @@ GoldendMSA.exe info -d example.local -m brute -r 5000 -u jdoe -p P@ssw0rd
```powershell
GoldendMSA.exe wordlist -s <SID> -d example.local -f example.local -k <KDSKeyGUID>
```
यह उपकरण उम्मीदवार पासवर्ड की गणना करता है और उनके base64 ब्लॉब की तुलना वास्तविक `msDS-ManagedPassword` विशेषता से करता है - मिलान सही GUID को प्रकट करता है।
यह उपकरण उम्मीदवार पासवर्ड की गणना करता है और उनके base64 blob की तुलना वास्तविक `msDS-ManagedPassword` विशेषता से करता है - मेल सही GUID को प्रकट करता है।
### चरण 4 ऑफ़लाइन पासवर्ड गणना और रूपांतरण
@ -92,7 +94,7 @@ The resulting hashes can be injected with **mimikatz** (`sekurlsa::pth`) or **Ru
* Tier-0 प्रशासकों के लिए **DC बैकअप और रजिस्ट्री हाइव पढ़ने** की क्षमताओं को सीमित करें।
* DCs पर **Directory Services Restore Mode (DSRM)** या **Volume Shadow Copy** निर्माण की निगरानी करें।
* सेवा खातों के `CN=Master Root Keys,…` और `userAccountControl` ध्वजों के पढ़ने / परिवर्तनों का ऑडिट करें।
* सेवा खातों के `CN=Master Root Keys,…` और `userAccountControl` ध्वजों में पढ़ने / परिवर्तनों का ऑडिट करें।
* असामान्य **base64 पासवर्ड लेखन** या होस्टों के बीच अचानक सेवा पासवर्ड पुन: उपयोग का पता लगाएं।
* जहां Tier-0 अलगाव संभव नहीं है, उच्च-विशेषाधिकार gMSAs को नियमित यादृच्छिक घुमाव के साथ **क्लासिक सेवा खातों** में परिवर्तित करने पर विचार करें।