mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2026-01-05 01:07:11 -08:00
Translated ['src/pentesting-cloud/azure-security/az-lateral-movement-clo
This commit is contained in:
@@ -10,19 +10,19 @@
|
||||
|
||||
### Principals Generated
|
||||
|
||||
इसका काम करने के लिए कुछ प्रिंसिपल Entra ID और On-Premise डायरेक्टरी में बनाए जाते हैं:
|
||||
इस कार्य के लिए कुछ प्रिंसिपल Entra ID और On-Premise डायरेक्टरी में बनाए जाते हैं:
|
||||
|
||||
- Entra ID में उपयोगकर्ता `On-Premises Directory Synchronization Service Account` (`ADToAADSyncServiceAccount@carloshacktricks.onmicrosoft.com`) को **`Directory Synchronization Accounts`** (`d29b2b05-8046-44ba-8758-1e26182fcf32`) भूमिका के साथ बनाया जाता है।
|
||||
- Entra ID में उपयोगकर्ता `On-Premises Directory Synchronization Service Account` (`ADToAADSyncServiceAccount@carloshacktricks.onmicrosoft.com`) को **`Directory Synchronization Accounts`** (`d29b2b05-8046-44ba-8758-1e26182fcf32`) भूमिका के साथ बनाया गया है।
|
||||
|
||||
> [!WARNING]
|
||||
> इस भूमिका में बहुत सारे विशेषाधिकार थे और इसका उपयोग [**विशेषाधिकारों को वैश्विक व्यवस्थापक तक बढ़ाने के लिए किया जा सकता था**](https://medium.com/tenable-techblog/stealthy-persistence-with-directory-synchronization-accounts-role-in-entra-id-63e56ce5871b)। हालाँकि, Microsoft ने इस भूमिका के सभी विशेषाधिकारों को हटाने और इसे केवल एक नए **`microsoft.directory/onPremisesSynchronization/standard/read`** के साथ असाइन करने का निर्णय लिया है जो वास्तव में किसी भी विशेषाधिकार कार्रवाई (जैसे उपयोगकर्ता का पासवर्ड या विशेषताओं को संशोधित करना या SP में एक नई क्रेडेंशियल जोड़ना) की अनुमति नहीं देता है।
|
||||
> इस भूमिका में पहले बहुत सारे विशेषाधिकार थे और इसका उपयोग [**विशेषाधिकारों को वैश्विक व्यवस्थापक तक बढ़ाने के लिए किया जा सकता था**](https://medium.com/tenable-techblog/stealthy-persistence-with-directory-synchronization-accounts-role-in-entra-id-63e56ce5871b)। हालाँकि, Microsoft ने इस भूमिका के सभी विशेषाधिकारों को हटाने और इसे केवल एक नए **`microsoft.directory/onPremisesSynchronization/standard/read`** के साथ असाइन करने का निर्णय लिया है जो वास्तव में किसी भी विशेषाधिकार कार्रवाई (जैसे उपयोगकर्ता का पासवर्ड या विशेषताओं को संशोधित करना या SP में एक नई क्रेडेंशियल जोड़ना) करने की अनुमति नहीं देता है।
|
||||
|
||||
- Entra ID में समूह **`AAD DC Administrators`** भी बिना सदस्यों या मालिकों के बनाया जाता है। यह समूह उपयोगी है यदि [`Microsoft Entra Domain Services`](./az-domain-services.md) का उपयोग किया जाता है।
|
||||
- Entra ID में समूह **`AAD DC Administrators`** भी बिना सदस्यों या मालिकों के बनाया गया है। यह समूह उपयोगी है यदि [`Microsoft Entra Domain Services`](./az-domain-services.md) का उपयोग किया जाता है।
|
||||
|
||||
- AD में, या तो सेवा खाता **`provAgentgMSA`** को **`pGMSA_<id>$@domain.com`** जैसे SamAcountName के साथ बनाया जाता है (`Get-ADServiceAccount -Filter * | Select Name,SamAccountName`), या एक कस्टम खाता [**इन विशेषाधिकारों की आवश्यकता है**](https://learn.microsoft.com/en-us/entra/identity/hybrid/cloud-sync/how-to-prerequisites?tabs=public-cloud#custom-gmsa-account)। आमतौर पर डिफ़ॉल्ट खाता बनाया जाता है।
|
||||
- AD में, या तो सेवा खाता **`provAgentgMSA`** को **`pGMSA_<id>$@domain.com`** जैसे SamAcountName के साथ बनाया गया है (`Get-ADServiceAccount -Filter * | Select Name,SamAccountName`), या एक कस्टम खाता [**इन अनुमतियों की आवश्यकता है**](https://learn.microsoft.com/en-us/entra/identity/hybrid/cloud-sync/how-to-prerequisites?tabs=public-cloud#custom-gmsa-account)। आमतौर पर डिफ़ॉल्ट खाता बनाया जाता है।
|
||||
|
||||
> [!WARNING]
|
||||
> अन्य विशेषाधिकारों के बीच सेवा खाता **`provAgentgMSA`** के पास DCSync विशेषाधिकार हैं, जो **किसी भी व्यक्ति को जो इसे समझौता करता है, पूरे डायरेक्टरी को समझौता करने की अनुमति देता है**। [DCSync के बारे में अधिक जानकारी के लिए इसे देखें](https://book.hacktricks.wiki/en/windows-hardening/active-directory-methodology/dcsync.html)।
|
||||
> अन्य अनुमतियों के बीच सेवा खाता **`provAgentgMSA`** के पास DCSync अनुमतियाँ हैं, जो **किसी भी व्यक्ति को जो इसे समझौता करता है, पूरे डायरेक्टरी को समझौता करने की अनुमति देती हैं**। [DCSync के बारे में अधिक जानकारी के लिए इसे देखें](https://book.hacktricks.wiki/en/windows-hardening/active-directory-methodology/dcsync.html)।
|
||||
|
||||
> [!NOTE]
|
||||
> डिफ़ॉल्ट रूप से, ज्ञात विशेषाधिकार समूहों के उपयोगकर्ता जैसे डोमेन व्यवस्थापक जिनका विशेषता **`adminCount` 1 है, Entra ID के साथ समन्वयित नहीं होते** सुरक्षा कारणों से। हालाँकि, अन्य उपयोगकर्ता जो इस विशेषता के बिना विशेषाधिकार समूहों का हिस्सा हैं या जिन्हें सीधे उच्च विशेषाधिकार सौंपे गए हैं **समन्वयित किए जा सकते हैं**।
|
||||
@@ -36,19 +36,19 @@ az-connect-sync.md
|
||||
{{#endref}}
|
||||
|
||||
- **पासवर्ड हैश समन्वयन** सक्षम किया जा सकता है ताकि उपयोगकर्ता **AD से अपने पासवर्ड का उपयोग करके Entra ID में लॉगिन कर सकें**। इसके अलावा, जब भी AD में पासवर्ड संशोधित किया जाता है, यह Entra ID में अपडेट हो जाएगा।
|
||||
- **पासवर्ड राइटबैक** को भी सक्षम किया जा सकता है, जिससे उपयोगकर्ता अपने पासवर्ड को Entra ID में संशोधित कर सकते हैं, स्वचालित रूप से अपने पासवर्ड को ऑन-प्रिमाइस डोमेन में समन्वयित कर सकते हैं। लेकिन [वर्तमान दस्तावेज़ों](https://learn.microsoft.com/en-us/entra/identity/authentication/tutorial-enable-sspr-writeback#configure-password-writeback) के अनुसार, इसके लिए Connect Agent का उपयोग करना आवश्यक है, इसलिए अधिक जानकारी के लिए [Az Connect Sync अनुभाग](./az-connect-sync.md) पर नज़र डालें।
|
||||
- **पासवर्ड राइटबैक** को भी सक्षम किया जा सकता है, जिससे उपयोगकर्ता अपने पासवर्ड को Entra ID में संशोधित कर सकते हैं और अपने पासवर्ड को ऑन-प्रिमाइस डोमेन में स्वचालित रूप से समन्वयित कर सकते हैं। लेकिन [वर्तमान दस्तावेज़ों](https://learn.microsoft.com/en-us/entra/identity/authentication/tutorial-enable-sspr-writeback#configure-password-writeback) के अनुसार, इसके लिए Connect एजेंट का उपयोग करना आवश्यक है, इसलिए अधिक जानकारी के लिए [Az Connect Sync अनुभाग](./az-connect-sync.md) पर नज़र डालें।
|
||||
- **समूह राइटबैक**: यह सुविधा Entra ID से समूह सदस्यताओं को ऑन-प्रिमाइस AD में वापस समन्वयित करने की अनुमति देती है। इसका मतलब है कि यदि किसी उपयोगकर्ता को Entra ID में एक समूह में जोड़ा जाता है, तो उन्हें AD में संबंधित समूह में भी जोड़ा जाएगा।
|
||||
|
||||
## Pivoting
|
||||
|
||||
### AD --> Entra ID
|
||||
|
||||
- यदि AD उपयोगकर्ताओं को AD से Entra ID में समन्वयित किया जा रहा है, तो AD से Entra ID में पिवट करना सीधा है, बस **किसी उपयोगकर्ता का पासवर्ड समझौता करें या किसी उपयोगकर्ता का पासवर्ड बदलें या एक नया उपयोगकर्ता बनाएं और जब तक यह Entra ID डायरेक्टरी में समन्वयित नहीं हो जाता (आमतौर पर केवल कुछ मिनट)**।
|
||||
- यदि AD उपयोगकर्ताओं को AD से Entra ID में समन्वयित किया जा रहा है, तो AD से Entra ID में पिवट करना सीधा है, बस **किसी उपयोगकर्ता का पासवर्ड समझौता करें या किसी उपयोगकर्ता का पासवर्ड बदलें या एक नया उपयोगकर्ता बनाएं और जब तक यह Entra ID डायरेक्टरी में समन्वयित नहीं होता (आमतौर पर केवल कुछ मिनट)**।
|
||||
|
||||
तो आप उदाहरण के लिए
|
||||
- **`provAgentgMSA`** खाता समझौता करें, DCSync हमला करें, किसी उपयोगकर्ता का पासवर्ड क्रैक करें और फिर इसका उपयोग Entra ID में लॉगिन करने के लिए करें।
|
||||
- बस AD में एक नया उपयोगकर्ता बनाएं, जब तक यह Entra ID में समन्वयित नहीं हो जाता और फिर इसका उपयोग Entra ID में लॉगिन करने के लिए करें।
|
||||
- AD में किसी उपयोगकर्ता का पासवर्ड संशोधित करें, जब तक यह Entra ID में समन्वयित नहीं हो जाता और फिर इसका उपयोग Entra ID में लॉगिन करने के लिए करें।
|
||||
- बस AD में एक नया उपयोगकर्ता बनाएं, जब तक यह Entra ID में समन्वयित नहीं होता और फिर इसका उपयोग Entra ID में लॉगिन करने के लिए करें।
|
||||
- AD में किसी उपयोगकर्ता का पासवर्ड संशोधित करें, जब तक यह Entra ID में समन्वयित नहीं होता और फिर इसका उपयोग Entra ID में लॉगिन करने के लिए करें।
|
||||
|
||||
**`provAgentgMSA`** क्रेडेंशियल्स को समझौता करने के लिए:
|
||||
```powershell
|
||||
@@ -84,10 +84,10 @@ https://book.hacktricks.wiki/en/windows-hardening/active-directory-methodology/i
|
||||
> ध्यान दें कि Azure या EntraID भूमिकाएँ सिंक किए गए उपयोगकर्ताओं को उनके गुणों के आधार पर देने का कोई तरीका नहीं है, उदाहरण के लिए Cloud Sync कॉन्फ़िगरेशन में। हालाँकि, सिंक किए गए उपयोगकर्ताओं को स्वचालित रूप से अनुमतियाँ देने के लिए कुछ **AD से Entra ID समूहों** को अनुमतियाँ दी जा सकती हैं ताकि उन समूहों के अंदर सिंक किए गए उपयोगकर्ताओं को भी उन्हें प्राप्त हो सके या **गतिशील समूहों का उपयोग किया जा सकता है**, इसलिए हमेशा गतिशील नियमों और उन्हें दुरुपयोग करने के संभावित तरीकों की जांच करें:
|
||||
|
||||
{{#ref}}
|
||||
../../az-privilege-escalation/az-entraid-privesc/dynamic-groups.md
|
||||
../az-privilege-escalation/az-entraid-privesc/dynamic-groups.md
|
||||
{{#endref}}
|
||||
|
||||
स्थिरता के संबंध में [यह ब्लॉग पोस्ट](https://tierzerosecurity.co.nz/2024/05/21/ms-entra-connect-sync-mothods.html) सुझाव देती है कि [**dnSpy**](https://github.com/dnSpy/dnSpy) का उपयोग करके **`Microsoft.Online.Passwordsynchronisation.dll`** को बैकडोर करना संभव है जो **`C:\Program Files\Microsoft Azure AD Sync\Bin`** में स्थित है और जिसका उपयोग Cloud Sync एजेंट द्वारा पासवर्ड समन्वयन करने के लिए किया जाता है, जिससे यह उपयोगकर्ताओं के पासवर्ड हैश को एक दूरस्थ सर्वर पर एक्सफिल्ट्रेट करता है। हैश **`PasswordHashGenerator`** वर्ग के अंदर उत्पन्न होते हैं और ब्लॉग पोस्ट सुझाव देता है कि कुछ कोड जोड़ा जाए ताकि वर्ग इस तरह दिखे (ध्यान दें `use System.Net` और पासवर्ड हैश को एक्सफिल्ट्रेट करने के लिए `WebClient` का उपयोग):
|
||||
स्थिरता के संबंध में [यह ब्लॉग पोस्ट](https://tierzerosecurity.co.nz/2024/05/21/ms-entra-connect-sync-mothods.html) सुझाव देती है कि [**dnSpy**](https://github.com/dnSpy/dnSpy) का उपयोग करके **`Microsoft.Online.Passwordsynchronisation.dll`** को बैकडोर करना संभव है जो **`C:\Program Files\Microsoft Azure AD Sync\Bin`** में स्थित है और जिसका उपयोग Cloud Sync एजेंट द्वारा पासवर्ड समन्वयन करने के लिए किया जाता है, जिससे यह उपयोगकर्ताओं के पासवर्ड हैश को एक दूरस्थ सर्वर पर एक्सफिल्ट्रेट करता है। हैश को **`PasswordHashGenerator`** वर्ग के अंदर उत्पन्न किया जाता है और ब्लॉग पोस्ट सुझाव देती है कि कुछ कोड जोड़ा जाए ताकि वर्ग इस तरह दिखे (ध्यान दें `use System.Net` और पासवर्ड हैश को एक्सफिल्ट्रेट करने के लिए `WebClient` का उपयोग):
|
||||
```csharp
|
||||
using System;
|
||||
using System.Net;
|
||||
@@ -132,9 +132,9 @@ C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\: Package 'System.Security.C
|
||||
- इस समय Cloud Sync भी **"Microsoft Entra ID to AD"** की अनुमति देता है, लेकिन बहुत समय बाद मैंने पाया कि यह EntraID उपयोगकर्ताओं को AD में समन्वयित नहीं कर सकता और यह केवल उन EntraID उपयोगकर्ताओं को समन्वयित कर सकता है जो पासवर्ड हैश के साथ समन्वयित किए गए थे और उसी डोमेन वन के डोमेन से आते हैं जिसमें हम समन्वयित कर रहे हैं, जैसा कि आप पढ़ सकते हैं [https://learn.microsoft.com/en-us/entra/identity/hybrid/group-writeback-cloud-sync#supported-groups-and-scale-limits](https://learn.microsoft.com/en-us/entra/identity/hybrid/group-writeback-cloud-sync#supported-groups-and-scale-limits):
|
||||
|
||||
> - ये समूह केवल ऑन-प्रिमाइसेस समन्वयित उपयोगकर्ताओं और / या अतिरिक्त क्लाउड द्वारा बनाए गए सुरक्षा समूहों को शामिल कर सकते हैं।
|
||||
> - ऑन-प्रिमाइसेस उपयोगकर्ता खाते जो समन्वयित हैं और इस क्लाउड द्वारा बनाए गए सुरक्षा समूह के सदस्य हैं, वे उसी डोमेन या क्रॉस-डोमेन से हो सकते हैं, लेकिन वे सभी एक ही वन से होने चाहिए।
|
||||
> - ऑन-प्रिमाइसेस उपयोगकर्ता खाते जो समन्वयित हैं और इस क्लाउड द्वारा बनाए गए सुरक्षा समूह के सदस्य हैं, वे उसी डोमेन से या क्रॉस-डोमेन से हो सकते हैं, लेकिन वे सभी एक ही वन से होने चाहिए।
|
||||
|
||||
इसलिए इस सेवा की हमले की सतह (और उपयोगिता) काफी कम हो जाती है क्योंकि एक हमलावर को उन उपयोगकर्ताओं को समन्वयित करने के लिए प्रारंभिक AD से समझौता करना होगा ताकि दूसरे डोमेन में एक उपयोगकर्ता से समझौता किया जा सके (और दोनों को स्पष्ट रूप से एक ही वन में होना चाहिए)।
|
||||
इसलिए इस सेवा की हमले की सतह (और उपयोगिता) काफी कम हो जाती है क्योंकि एक हमलावर को उन उपयोगकर्ताओं को समन्वयित करने के लिए प्रारंभिक AD को समझौता करना होगा ताकि दूसरे डोमेन में एक उपयोगकर्ता को समझौता किया जा सके (और दोनों को स्पष्ट रूप से एक ही वन में होना चाहिए)।
|
||||
|
||||
### Enumeration
|
||||
```bash
|
||||
|
||||
Reference in New Issue
Block a user