Translated ['src/pentesting-cloud/azure-security/README.md', 'src/pentes

This commit is contained in:
Translator
2025-01-26 15:10:39 +00:00
parent cb903c1ebe
commit 467b7a7648
3 changed files with 63 additions and 57 deletions

View File

@@ -12,50 +12,50 @@ az-basic-information/
## Azure Pentester/Red Team Methodology
AZURE वातावरण का ऑडिट करने के लिए यह बहुत महत्वपूर्ण है: कौन से **सेवाएँ उपयोग की जा रही हैं**, क्या **प्रदर्शित किया जा रहा है**, किसके पास **पहुँच** है, और आंतरिक Azure सेवाएँ और **बाहरी सेवाएँ** कैसे जुड़ी हुई हैं।
AZURE वातावरण का ऑडिट करने के लिए यह जानना बहुत महत्वपूर्ण है: कौन से **सेवाएँ उपयोग की जा रही हैं**, क्या **प्रदर्शित किया जा रहा है**, किसके पास **पहुँच** है, और आंतरिक Azure सेवाएँ और **बाहरी सेवाएँ** कैसे जुड़ी हुई हैं।
Red Team के दृष्टिकोण से, **Azure वातावरण को समझौता करने का पहला कदम** कुछ **foothold** प्राप्त करना है।
### External enum & Initial Access
पहला कदम निश्चित रूप से उस टेनेन्ट के बारे में जानकारी इकट्ठा करना है जिसे आप हमला कर रहे हैं और एक foothold प्राप्त करने की कोशिश करना है।
पहला कदम निश्चित रूप से उस टेनेन्ट के बारे में जानकारी इकट्ठा करना है जिसे आप हमला कर रहे हैं और foothold प्राप्त करने की कोशिश करना है।
डोमेन नाम के आधार पर यह जानना संभव है **क्या कंपनी Azure का उपयोग कर रही है**, **टेनेन्ट ID** प्राप्त करें, उसी टेनेन्ट में अन्य **मान्य डोमेन** प्राप्त करें (यदि अधिक हैं) और **संबंधित जानकारी** प्राप्त करें जैसे कि SSO सक्षम है या नहीं, मेल कॉन्फ़िगरेशन, मान्य उपयोगकर्ता ईमेल...
**बाहरी एन्यूमरेशन** करने के लिए निम्नलिखित पृष्ठ की जांच करें:
**बाहरी एन्यूमरेशन** करने के लिए निम्नलिखित पृष्ठ देखें:
{{#ref}}
az-unauthenticated-enum-and-initial-entry/
{{#endref}}
इस जानकारी के साथ, foothold प्राप्त करने के लिए सबसे सामान्य तरीके हैं:
- **OSINT**: GitHub या किसी अन्य ओपन-सोर्स प्लेटफॉर्म पर **leaks** की जांच करें जो **क्रेडेंशियल्स** या दिलचस्प जानकारी रख सकत है।
- **Password** पुन: उपयोग, लीक या [password spraying](az-unauthenticated-enum-and-initial-entry/az-password-spraying.md)
- एक कर्मचारी लिए क्रेडेंशियल्स खरीदें
- [**Common Phishing**](https://book.hacktricks.wiki/en/generic-methodologies-and-resources/phishing-methodology/index.html) (क्रेडेंशियल्स या Oauth ऐप)
इस जानकारी के साथ foothold प्राप्त करने के लिए सबसे सामान्य तरीके हैं:
- **OSINT**: GitHub या किसी अन्य ओपन-सोर्स प्लेटफॉर्म पर **leaks** की जांच करें जो **credentials** या दिलचस्प जानकारी हो सकत है।
- **Password** पुन: उपयोग, leaks या [password spraying](az-unauthenticated-enum-and-initial-entry/az-password-spraying.md)
- एक कर्मचारी credentials खरीदें
- [**Common Phishing**](https://book.hacktricks.wiki/en/generic-methodologies-and-resources/phishing-methodology/index.html) (credentials या Oauth App)
- [Device Code Authentication Phishing](az-unauthenticated-enum-and-initial-entry/az-device-code-authentication-phishing.md)
- 3rd पार्टी **breached**
- 3rd parties **breached**
- Azure-Hosted Applications में कमजोरियाँ
- [**Server Side Request Forgery**](https://book.hacktricks.wiki/en/pentesting-web/ssrf-server-side-request-forgery/cloud-ssrf.html) के साथ मेटाडेटा एंडपॉइंट तक पहुँच
- **Subdomain takeovers** जैसे [https://godiego.co/posts/STO-Azure/](https://godiego.co/posts/STO-Azure/)
- **अन्य Azure सेवाओं की गलत कॉन्फ़िगरेशन**
- यदि किसी डेवलपर का लैपटॉप समझौता किया गया है ([WinPEAS और LinPEAS](https://github.com/peass-ng/PEASS-ng) इस जानकारी को खोज सकते हैं):
- **`<HOME>/.Azure`** के अंदर
- **`azureProfile.json`** पिछले लॉगिन उपयोगकर्ताओं के बारे में जानकारी रखता है
- **`azureProfile.json`** पिछले लॉगन उपयोगकर्ताओं के बारे में जानकारी रखता है
- **`clouds.config contains`** सब्सक्रिप्शन के बारे में जानकारी रखता है
- **`service_principal_entries.json`** एप्लिकेशन क्रेडेंशियल्स (टेनेन्ट आईडी, क्लाइंट और सीक्रेट) रखता है। केवल Linux और macOS में
- **`service_principal_entries.json`** एप्लिकेशन के credentials (टेनेन्ट आईडी, क्लाइंट और सीक्रेट) रखता है। केवल Linux और macOS में
- **`msal_token_cache.json`** में एक्सेस टोकन और रिफ्रेश टोकन होते हैं। केवल Linux और macOS में
- **`service_principal_entries.bin`** और msal_token_cache.bin Windows में उपयोग होते हैं और DPAPI के साथ एन्क्रिप्टेड होते हैं
- **`msal_http_cache.bin`** HTTP अनुरोध का कैश है
- इसे लोड करें: `with open("msal_http_cache.bin", 'rb') as f: pickle.load(f)`
- **`AzureRmContext.json`** पिछले लॉगिन के बारे में जानकारी रखता है जो Az PowerShell का उपयोग करके किया गया था (लेकिन कोई क्रेडेंशियल्स नहीं)
- **`C:\Users\<username>\AppData\Local\Microsoft\IdentityCache\*`** के अंदर कई `.bin` फ़ाइलें हैं जिनमें **एक्सेस टोकन**, आईडी टोकन और उपयोगकर्ता DPAPI के साथ एन्क्रिप्टेड खाता जानकारी होती है।
- **`C:\Users\<username>\AppData\Local\Microsoft\TokenBroken\Cache\`** के अंदर `.tbres` फ़ाइलों में अधिक **एक्सेस टोकन** मिल सकते हैं, जो DPAPI के साथ बेस64 एन्क्रिप्टेड होते हैं।
- Linux और macOS में आप Az PowerShell (यदि उपयोग किया गया हो) से **एक्सेस टोकन, रिफ्रेश टोकन और आईडी टोकन** प्राप्त कर सकते हैं `pwsh -Command "Save-AzContext -Path /tmp/az-context.json"` चलाकर
- Windows में यह केवल आईडी टोकन उत्पन्न करता है।
- यह देखना संभव है कि क्या Az PowerShell का उपयोग Linux और macOS में किया गया था यह जांचकर कि `$HOME/.local/share/.IdentityService/` मौजूद है (हालांकि इसमें मौजूद फ़ाइलें खाली और बेकार हैं)
- **`AzureRmContext.json`** Az PowerShell का उपयोग करके पिछले लॉगिन के बारे में जानकारी रखता है (लेकिन कोई credentials नहीं)
- **`C:\Users\<username>\AppData\Local\Microsoft\IdentityCache\*`** के अंदर कई `.bin` फ़ाइलें हैं जिनमें **access tokens**, ID tokens और उपयोगकर्ता के DPAPI के साथ एन्क्रिप्टेड खाता जानकारी होती है।
- **`C:\Users\<username>\AppData\Local\Microsoft\TokenBroken\Cache\`** के अंदर `.tbres` फ़ाइलों में अधिक **access tokens** मिल सकते हैं, जो DPAPI के साथ एन्क्रिप्टेड बेस64 होते हैं।
- Linux और macOS में आप Az PowerShell (यदि उपयोग किया गया हो) से **access tokens, refresh tokens और id tokens** प्राप्त कर सकते हैं `pwsh -Command "Save-AzContext -Path /tmp/az-context.json"` चलाकर
- Windows में यह केवल ID tokens उत्पन्न करता है।
- यह देखना संभव है कि क्या Az PowerShell का उपयोग Linux और macOS में किया गया था, यह जांचकर कि `$HOME/.local/share/.IdentityService/` मौजूद है (हालांकि इसमें मौजूद फ़ाइलें खाली और बेकार हैं)
फुटहोल्ड की ओर ले जाने वाली **अन्य Azure सेवाओं की गलत कॉन्फ़िगरेशन** खोजें निम्नलिखित पृष्ठ पर:
फुटहोल प्राप्त करने के लिए **अन्य Azure सेवाओं की गलत कॉन्फ़िगरेशन** खोजें निम्नलिखित पृष्ठ पर:
{{#ref}}
az-unauthenticated-enum-and-initial-entry/
@@ -72,19 +72,25 @@ az-unauthenticated-enum-and-initial-entry/
az-enumeration-tools.md
{{#endref}}
### Bypass Login Conditions
### Bypass Access Policies
<figure><img src="../../images/image (268).png" alt=""><figcaption></figcaption></figure>
उन मामलों में जहाँ आपके पास कुछ मान्य क्रेडेंशियल्स हैं लेकिन आप लॉगिन नहीं कर सकते, ये कुछ सामान्य सुरक्षा उपाय हैं जो लागू हो सकते हैं:
उन मामलों में जहाँ आपके पास कुछ मान्य credentials हैं लेकिन आप लॉगिन नहीं कर सकते, ये कुछ सामान्य सुरक्षा उपाय हैं जो लागू हो सकते हैं:
- **IP whitelisting** -- आपको एक मान्य IP से समझौता करने की आवश्यकता है
- **IP whitelisting** -- आपको एक मान्य IP से समझौता करना होगा
- **Geo restrictions** -- पता करें कि उपयोगकर्ता कहाँ रहता है या कंपनी के कार्यालय कहाँ हैं और उसी शहर (या कम से कम देश) से एक IP प्राप्त करें
- **Browser** -- शायद केवल कुछ OS (Windows, Linux, Mac, Android, iOS) से एक ब्राउज़र की अनुमति है। पता करें कि पीड़ित/कंपनी कौन सा OS उपयोग करी है।
- आप **Service Principal क्रेडेंशियल्स** से भी समझौता करने की कोशिश कर सकते हैं क्योंकि ये आमतौर पर कम सीमित होते हैं और इसका लॉगिन कम समीक्षा किया जाता है
- **Browser** -- शायद केवल कुछ OS (Windows, Linux, Mac, Android, iOS) से एक ब्राउज़र की अनुमति है। पता करें कि पीड़ित/कंपनी कौन सा OS उपयोग कर रही है।
- आप **Service Principal credentials** को भी समझौता करने की कोशिश कर सकते हैं क्योंकि ये आमतौर पर कम सीमित होते हैं और इसका लॉगिन कम समीक्षा किया जाता है
इसे बायपास करने के बाद, आप अपनी प्रारंभिक सेटअप पर वापस जाने में सक्षम हो सकते हैं और आपके पास अभी भी पहुँच होगी।
जांचें:
{{#ref}}
az-privilege-escalation/az-entraid-privesc/az-conditional-access-policies-mfa-bypass.md
{{#endref}}
### Whoami
> [!CAUTION]
@@ -135,7 +141,7 @@ Get-AzureADTenantDetail
{{#endtabs }}
### Entra ID Enumeration & Privilege Escalation
### Entra ID Enumeration & Privesc
डिफ़ॉल्ट रूप से, किसी भी उपयोगकर्ता को **उपयोगकर्ताओं, समूहों, भूमिकाओं, सेवा प्रमुखों** जैसी चीजों को सूचीबद्ध करने के लिए **पर्याप्त अनुमतियाँ होनी चाहिए**... (चेक [default AzureAD permissions](az-basic-information/index.html#default-user-permissions)).\
यहाँ एक गाइड है:
@@ -151,25 +157,25 @@ az-enumeration-tools.md#automated-post-exploitation-tools
{{#endref}}
### Enumerate Azure Services
### Azure Enumeration
एक बार जब आप जान लेते हैं कि आप कौन हैं, तो आप **Azure सेवाओं क सूचीबद्ध करना शुरू कर सकते हैं जिन तक आपकी पहुँच है**
एक बार जब आप जान लेते हैं कि आप कौन हैं, तो आप **Azure सेवाओं क सूचीबद्धा शुरू कर सकते हैं जिन तक आपकी पहुँच है**
आपको यह पता लगाना चाहिए कि आपके पास **संसाधनों पर क्या अनुमतियाँ हैं**। इसके लिए:
1. **उस संसाधन को खोजें जिसके लिए आपके पास कुछ पहुँच है**:
Az PoswerShell कमांड **`Get-AzResource`** आपको **जानकारी देता है कि आपके वर्तमान उपयोगकर्ता के पास कौन से संसाधनों पर दृश्यता है**
Az PoswerShell कमांड **`Get-AzResource`** आपको **जानकारी देता है कि आपके वर्तमान उपयोगकर्ता के पास किन संसाधनों पर दृश्यता है**
इसके अलावा, आप **वेब कंसोल** में जाकर या "All resources" के लिए खोजकर या निष्पादित करके वही जानकारी प्राप्त कर सकते हैं: `az rest --method GET --url "https://management.azure.com/subscriptions/<subscription-id>/resources?api-version=2021-04-01"`
इसके अलावा, आप **वेब कंसोल** में [https://portal.azure.com/#view/HubsExtension/BrowseAll](https://portal.azure.com/#view/HubsExtension/BrowseAll) पर जाकर या "All resources" के लिए खोजकर या निष्पादित करके वही जानकारी प्राप्त कर सकते हैं: `az rest --method GET --url "https://management.azure.com/subscriptions/<subscription-id>/resources?api-version=2021-04-01"`
2. **उन संसाधनों पर आपके पास जो अनुमतियाँ हैं उन्हें खोजें और आपके लिए असाइन की गई भूमिकाएँ खोजें**:
2. **उन संसाधनों पर आपके पास जो अनुमतियाँ हैं उन्हें खोजें जिन तक आपकी पहुँच है और आपके लिए असाइन की गई भूमिकाएँ खोजें**:
ध्यान दें कि आपको इस क्रिया को निष्पादित करने के लिए अनुमति **`Microsoft.Authorization/roleAssignments/read`** की आवश्यकता है।
इसके अलावा, पर्याप्त अनुमतियों के साथ, भूमिका **`Get-AzRoleAssignment`** का उपयोग **सदस्यता में सभी भूमिकाओं क सूचीबद्ध करने** या एक विशिष्ट संसाधन पर अनुमति प्राप्त करने के लिए किया जा सकता है जैसे: **`Get-AzRoleAssignment -Scope /subscriptions/9291ff6e-6afb-430e-82a4-6f04b2d05c7f/resourceGroups/Resource_Group_1/providers/Microsoft.RecoveryServices/vaults/vault-m3ww8ut4`**।
इसके अलावा, पर्याप्त अनुमतियों के साथ, भूमिका **`Get-AzRoleAssignment`** का उपयोग **सदस्यता में सभी भूमिकाओं क सूचीबद्धता** करने या एक विशिष्ट संसाधन पर अनुमति प्राप्त करने के लिए किया जा सकता है जैसे: **`Get-AzRoleAssignment -Scope /subscriptions/9291ff6e-6afb-430e-82a4-6f04b2d05c7f/resourceGroups/Resource_Group_1/providers/Microsoft.RecoveryServices/vaults/vault-m3ww8ut4`**।
यह जानकारी प्राप्त करना भी संभव है **`az rest --method GET --uri "https://management.azure.com/<Scope>/providers/Microsoft.Authorization/roleAssignments?api-version=2020-08-01-preview" | jq ".value"`** चलाकर जैसे:
यह जानकारी प्राप्त करने के लिए **`az rest --method GET --uri "https://management.azure.com/<Scope>/providers/Microsoft.Authorization/roleAssignments?api-version=2020-08-01-preview" | jq ".value"`** चलाना भी संभव है जैसे:
- **`az rest --method GET --uri "https://management.azure.com//subscriptions/9291ff6e-6afb-430e-82a4-6f04b2d05c7f/resourceGroups/Resource_Group_1/providers/Microsoft.KeyVault/vaults/vault-m3ww8ut4/providers/Microsoft.Authorization/roleAssignments?api-version=2020-08-01-preview" | jq ".value"`**
@@ -186,7 +192,7 @@ Az PoswerShell कमांड **`Get-AzResource`** आपको **जानक
az-services/
{{#endref}}
### Privilege Escalation, Post-Exploitation & Persistence in Azure Services
### Privilege Escalation, Post-Exploitation & Persistence
एक बार जब आप जान लेते हैं कि Azure वातावरण कैसे संरचित है और कौन सी सेवाएँ उपयोग की जा रही हैं, तो आप **अनुमतियों को बढ़ाने, पार्श्व रूप से स्थानांतरित करने, अन्य पोस्ट-एक्सप्लॉइटेशन हमलों को करने और स्थिरता बनाए रखने** के तरीकों की तलाश शुरू कर सकते हैं।

View File

@@ -2,15 +2,15 @@
{{#include ../../../banners/hacktricks-training.md}}
### अवैध सहमति अनुदान
### OAuth Application
डिफ़ॉल्ट रूप से, कोई भी उपयोगकर्ता Azure AD में एक एप्लिकेशन पंजीकृत कर सकता है। इसलिए आप एक एप्लिकेशन पंजीकृत कर सकते हैं (केवल लक्षित टेनेट के लिए) जिसे उच्च प्रभाव वाले अनुमतियों की आवश्यकता होती है जिसमें व्यवस्थापक की सहमति (यदि आप व्यवस्थापक हैं तो इसे स्वीकृत करें) - जैसे कि किसी उपयोगकर्ता की ओर से मेल भेजना, भूमिका प्रबंधन आदि। यह हमें **फिशिंग हमलों को निष्पादित करने** की अनुमति देगा जो सफलता की स्थिति में बहुत **लाभकारी** होंगे।
डिफ़ॉल्ट रूप से, कोई भी उपयोगकर्ता Entra ID में एक एप्लिकेशन पंजीकृत कर सकता है। इसलिए आप एक एप्लिकेशन पंजीकृत कर सकते हैं (केवल लक्षित टेनेट के लिए) जिसे उच्च प्रभाव वाले अनुमतियों की आवश्यकता है जिसमें व्यवस्थापक की सहमति हो (यदि आप व्यवस्थापक हैं तो इसे स्वीकृत करें) - जैसे कि किसी उपयोगकर्ता की ओर से मेल भेजना, भूमिका प्रबंधन आदि। यह हमें **फिशिंग हमलों को निष्पादित करने** की अनुमति देगा जो सफलता की स्थिति में बहुत **लाभकारी** होंगे।
इसके अलावा, आप उस एप्लिकेशन को अपने उपयोगकर्ता के रूप में स्वीकार कर सकते हैं ताकि उस पर पहुंच बनाए रख सकें।
इसके अलावा, आप अपने उपयोगकर्ता के साथ उस एप्लिकेशन को स्वीकार कर सकते हैं ताकि उस पर पहुंच बनाए रख सकें।
### एप्लिकेशन और सेवा प्रमुख
### Applications and Service Principals
एप्लिकेशन प्रशासक, GA या microsoft.directory/applications/credentials/update अनुमतियों के साथ एक कस्टम भूमिका के विशेषाधिकार के साथ, हम एक मौजूदा एप्लिकेशन में क्रेडेंशियल (गुप्त या प्रमाणपत्र) जोड़ सकते हैं।
एप्लिकेशन प्रशासक, GA या microsoft.directory/applications/credentials/update अनुमतियों के साथ कस्टम भूमिका के विशेषाधिकारों के साथ, हम एक मौजूदा एप्लिकेशन में क्रेडेंशियल्स (गुप्त या प्रमाणपत्र) जोड़ सकते हैं।
यह **उच्च अनुमतियों वाले एप्लिकेशन को लक्षित करना** या **उच्च अनुमतियों के साथ एक नया एप्लिकेशन जोड़ना** संभव है।
@@ -30,7 +30,7 @@ Connect-AzAccount -ServicePrincipal -Tenant <TenantId> -CertificateThumbprint <T
**DA विशेषाधिकार** के साथ ऑन-प्रेम AD पर, **नए Token signing** और **Token Decrypt certificates** बनाना और आयात करना संभव है जिनकी वैधता बहुत लंबी होती है। यह हमें **किसी भी उपयोगकर्ता के रूप में लॉग-इन** करने की अनुमति देगा जिसका ImuutableID हमें पता है।
**निम्नलिखित कमांड** को **ADFS सर्वर(s)** पर **DA के रूप में** चलाएँ ताकि नए सर्टिफिकेट बनाए जा सकें (डिफ़ॉल्ट पासवर्ड 'AADInternals'), उन्हें ADFS में जोड़ें, ऑटो रोलओवर को अक्षम करें और सेवा को पुनः प्रारंभ करें:
**निम्नलिखित कमांड** को **ADFS सर्वर(s) पर DA के रूप में चलाएँ** नए certs बनाने के लिए (डिफ़ॉल्ट पासवर्ड 'AADInternals'), उन्हें ADFS में जोड़ें, ऑटो रोलओवर को अक्षम करें और सेवा को पुनः प्रारंभ करें:
```bash
New-AADIntADFSSelfSignedCertificates
```
@@ -40,7 +40,7 @@ Update-AADIntADFSFederationSettings -Domain cyberranges.io
```
### Federation - Trusted Domain
GA विशेषाधिकार के साथ एक टेनेट पर, **एक नया डोमेन जोड़ना** संभव है (जिसे सत्यापित किया जाना चाहिए), इसके प्रमाणीकरण प्रकार को फेडरेटेड पर कॉन्फ़िगर करना और डोमेन को **एक विशिष्ट प्रमाणपत्र** (नीचे दिए गए कमांड में any.sts) और जारीकर्ता पर **विश्वास** करना:
GA विशेषाधिकार के साथ एक टेनेट पर, **एक नया डोमेन जोड़ना** संभव है (जिसे सत्यापित किया जाना चाहिए), इसके प्रमाणीकरण प्रकार को फेडरेटेड पर कॉन्फ़िगर करना और डोमेन को **एक विशिष्ट प्रमाणपत्र** (नीचे दिए गए कमांड में any.sts) और जारीकर्ता पर **विश्वास** करना कॉन्फ़िगर करना:
```bash
# Using AADInternals
ConvertTo-AADIntBackdoor -DomainName cyberranges.io

View File

@@ -4,7 +4,7 @@
## Basic Information
Azure Active Directory (Azure AD) माइक्रोसॉफ्ट की पहचान और पहुँच प्रबंधन के लिए क्लाउड-आधारित सेवा है। यह कर्मचारियों को साइन इन करने और संसाधनों तक पहुँच प्राप्त करने में सहायक है, जो संगठन के भीतर और बाहर, Microsoft 365, Azure पोर्टल, और कई अन्य SaaS अनुप्रयोगों को शामिल करता है। Azure AD का डिज़ाइन आवश्यक पहचान सेवाओं को प्रदान करने पर केंद्रित है, जिसमें प्रमुख रूप से **authentication, authorization, and user management** शामिल हैं।
Azure Active Directory (Azure AD) माइक्रोसॉफ्ट की पहचान और पहुँच प्रबंधन के लिए क्लाउड-आधारित सेवा है। यह कर्मचारियों को साइन इन करने और संसाधनों तक पहुँच प्राप्त करने में सहायक है, जो संगठन के भीतर और बाहर, माइक्रोसॉफ्ट 365, Azure पोर्टल, और कई अन्य SaaS अनुप्रयोगों को शामिल करता है। Azure AD का डिज़ाइन आवश्यक पहचान सेवाओं को प्रदान करने पर केंद्रित है, जिसमें प्रमुख रूप से **authentication, authorization, and user management** शामिल हैं।
Azure AD की प्रमुख विशेषताओं में **multi-factor authentication** और **conditional access** शामिल हैं, साथ ही अन्य माइक्रोसॉफ्ट सुरक्षा सेवाओं के साथ सहज एकीकरण। ये विशेषताएँ उपयोगकर्ता पहचान की सुरक्षा को महत्वपूर्ण रूप से बढ़ाती हैं और संगठनों को उनकी पहुँच नीतियों को प्रभावी ढंग से लागू और प्रवर्तन करने में सक्षम बनाती हैं। माइक्रोसॉफ्ट के क्लाउड सेवाओं के पारिस्थितिकी तंत्र का एक मौलिक घटक होने के नाते, Azure AD उपयोगकर्ता पहचान के क्लाउड-आधारित प्रबंधन के लिए महत्वपूर्ण है।
@@ -156,11 +156,11 @@ Connect-AzureAD -AccountId test@corp.onmicrosoft.com -AadAccessToken $token
{{#endtab }}
{{#endtabs }}
जब आप किसी प्रोग्राम के माध्यम से **CLI** के जरिए Azure में **लॉगिन** करते हैं, तो आप **Microsoft** के एक **tenant** से संबंधित **Azure Application** का उपयोग कर रहे हैं। ये Applications, जैसे कि आप अपने खाते में बना सकते हैं, **एक क्लाइंट आईडी** रखते हैं। आप **उनमें से सभी को नहीं देख पाएंगे** जो आप कंसोल में **अनुमत एप्लिकेशन सूचियों** में देख सकते हैं, **लेकिन े डिफ़ॉल्ट रूप से अनुमत हैं**
जब आप किसी प्रोग्राम के माध्यम से **CLI** के जरिए Azure में **लॉगिन** करते हैं, तो आप **Microsoft** के एक **tenant** से संबंधित **Azure Application** का उपयोग कर रहे हैं। ये Applications, जैसे कि आप अपने खाते में बना सकते हैं, **एक क्लाइंट आईडी** रखते हैं। आप **उनमें से सभी को नहीं देख पाएंगे** जो आप कंसोल में **अनुमत एप्लिकेशन सूचियों** में देख सकते हैं, **लेकिन े डिफ़ॉल्ट रूप से अनुमत हैं**
उदाहरण के लिए, एक **powershell script** जो **प्रमाणित** करती है, एक ऐप का उपयोग करती है जिसकी क्लाइंट आईडी **`1950a258-227b-4e31-a9cf-717495945fc2`** है। भले ही ऐप कंसोल में दिखाई न दे, एक सिस्टम एडमिन उस एप्लिकेशन को **ब्लॉक कर सकता है** ताकि उपयोगकर्ता उस ऐप के माध्यम से कनेक्ट करने वाले उपकरणों का उपयोग न कर सकें।
हालांकि, ऐसे **अन्य क्लाइंट-आईडी** हैं जिनके एप्लिकेशन **आपको Azure से कनेक्ट करने की अनुमति देंग**:
हालांकि, अन्य एप्लिकेशनों की **क्लाइंट-आईडी** हैं ज **आपको Azure से कनेक्ट करने की अनुमति देंग**:
```bash
# The important part is the ClientId, which identifies the application to login inside Azure
@@ -196,7 +196,7 @@ az account tenant list
{{#endtab }}
{{#endtabs }}
### Users
### उपयोगकर्ता
Entra ID उपयोगकर्ताओं के बारे में अधिक जानकारी के लिए देखें:
@@ -660,7 +660,7 @@ Get-AzureADApplication -ObjectId <id> | Get-AzureADApplicationOwner |fl *
{{#endtabs }}
> [!WARNING]
> एक ऐप जिसमें अनुमति **`AppRoleAssignment.ReadWrite`** है, **Global Admin** के रूप में **उच्चीकृत** हो सकता है।\
> एक ऐप जिसमें अनुमति **`AppRoleAssignment.ReadWrite`** है, **Global Admin** में **escalate** कर सकता है।\
> अधिक जानकारी के लिए [**यहाँ देखें**](https://posts.specterops.io/azure-privilege-escalation-via-azure-api-permissions-abuse-74aee1006f48).
> [!NOTE]
@@ -668,9 +668,9 @@ Get-AzureADApplication -ObjectId <id> | Get-AzureADApplicationOwner |fl *
> इसलिए, यदि आप इस **पासवर्ड** को ढूंढ लेते हैं, तो आप **service principal** के रूप में **tenant** के **अंदर** पहुँच सकते हैं।\
> ध्यान दें कि यह पासवर्ड केवल उत्पन्न होने पर ही दिखाई देता है (आप इसे बदल सकते हैं लेकिन फिर से प्राप्त नहीं कर सकते)।\
> **एप्लिकेशन** का **स्वामी** इसे **पासवर्ड** जोड़ सकता है (ताकि वह इसकी नकल कर सके)।\
> इन service principals के रूप में लॉगिन **जोखिमपूर्ण** के रूप में **चिह्नित** नहीं होते हैं और इनमें **MFA** नहीं होगा।
> इन सेवा प्रमुखों के रूप में लॉगिन **जोखिमपूर्ण** के रूप में **चिह्नित नहीं होते** और इनमें **MFA नहीं होगा।**
Microsoft के सामान्य उपयोग किए जाने वाले App IDs की सूची [https://learn.microsoft.com/en-us/troubleshoot/entra/entra-id/governance/verify-first-party-apps-sign-in#application-ids-of-commonly-used-microsoft-applications](https://learn.microsoft.com/en-us/troubleshoot/entra/entra-id/governance/verify-first-party-apps-sign-in#application-ids-of-commonly-used-microsoft-applications) पर पाई जा सकती है।
Microsoft के सामान्य उपयोग किए जाने वाले ऐप IDs की सूची [https://learn.microsoft.com/en-us/troubleshoot/entra/entra-id/governance/verify-first-party-apps-sign-in#application-ids-of-commonly-used-microsoft-applications](https://learn.microsoft.com/en-us/troubleshoot/entra/entra-id/governance/verify-first-party-apps-sign-in#application-ids-of-commonly-used-microsoft-applications) पर पाई जा सकती है।
### Managed Identities
@@ -858,7 +858,7 @@ Get-AzureADMSAdministrativeUnit | where { Get-AzureADMSAdministrativeUnitMember
> [!WARNING]
> यदि एक डिवाइस (VM) **AzureAD से जुड़ा** है, तो AzureAD के उपयोगकर्ता **लॉगिन करने में सक्षम** होंगे।\
> इसके अलावा, यदि लॉगिन करने वाला उपयोगकर्ता डिवाइस का **स्वामी** है, तो वह **स्थानीय व्यवस्थापक** होगा।
> इसके अलावा, यदि लॉग इन किया हुआ उपयोगकर्ता डिवाइस का **स्वामी** है, तो वह **स्थानीय व्यवस्थापक** होगा।
### प्रशासनिक इकाइयाँ
@@ -915,7 +915,7 @@ Get-AzureADMSScopedRoleMembership -Id <id> | fl #Get role ID and role members
Azure में विशेषाधिकार पहचान प्रबंधन (PIM) **अधिकतम विशेषाधिकार** को उपयोगकर्ताओं को अनावश्यक रूप से सौंपने से **रोकने** में मदद करता है।
PIM द्वारा प्रदान की जाने वाली मुख्य विशेषताओं में से एक यह है कि यह लगातार सक्रिय प्रिंसिपलों को भूमिकाएँ सौंपने की अनुमति नहीं देता, बल्कि उन्हें **एक निश्चित समय (जैसे 6 महीने)** के लिए **योग्य** बनाता है। फिर, जब भी उपयोगकर्ता उस भूमिका को सक्रिय करना चाहता है, तो उसे उस समय को इंगित करते हुए इसके लिए अनुरोध करना होगा जिसकी उसे आवश्यकता है (जैसे 3 घंटे)। फिर एक **व्यवस्थापक को** अनुरोध को मंजूरी देने की आवश्यकता होती है।\
PIM द्वारा प्रदान की जाने वाली मुख्य विशेषताओं में से एक यह है कि यह लगातार सक्रिय प्रिंसिपलों को भूमिकाएँ सौंपने की अनुमति नहीं देता, बल्कि उन्हें **एक निश्चित समय (जैसे 6 महीने)** के लिए **योग्य** बनाता है। फिर, जब भी उपयोगकर्ता उस भूमिका को सक्रिय करना चाहता है, तो उसे यह बताना होगा कि उसे विशेषाधिकार की आवश्यकता है (जैसे 3 घंटे)। फिर एक **व्यवस्थापक को** अनुरोध को मंजूरी देने की आवश्यकता होती है।\
ध्यान दें कि उपयोगकर्ता **समय बढ़ाने** के लिए भी अनुरोध कर सकेगा।
इसके अलावा, **PIM ईमेल भेजता है** जब किसी को विशेषाधिकार वाली भूमिका सौंपा जा रहा हो।
@@ -926,36 +926,36 @@ PIM द्वारा प्रदान की जाने वाली म
- सक्रियण की अधिकतम अवधि (घंटे)
- सक्रियण पर MFA की आवश्यकता
- सक्रियण संदर्भ के लिए शर्तीय पहुँच प्रमाणीकरण की आवश्यकता
- शर्तीय पहुँच प्रमाणीकरण संदर्भ की आवश्यकता
- सक्रियण पर औचित्य की आवश्यकता
- सक्रियण पर टिकट जानकारी की आवश्यकता
- सक्रिय के लिए अनुमोदन की आवश्यकता
- सक्रिय करने के लिए अनुमोदन की आवश्यकता
- योग्य असाइनमेंट की समाप्ति के लिए अधिकतम समय
- जब उस भूमिका के साथ कुछ क्रियाएँ होती हैं, तो सूचनाएँ भेजने के लिए और भी बहुत सी कॉन्फ़िगरेशन
### शर्तीय पहुँच नीतियाँ <a href="#title-text" id="title-text"></a>
### शर्तीय पहुँच नीतियाँ
जाँच करें:
जाँचें:
{{#ref}}
../az-privilege-escalation/az-entraid-privesc/az-conditional-access-policies-mfa-bypass.md
{{#endref}}
### Entra पहचान सुरक्षा <a href="#title-text" id="title-text"></a>
### Entra पहचान सुरक्षा
Entra पहचान सुरक्षा एक सुरक्षा सेवा है जो **यह पहचानने** की अनुमति देती है कि जब कोई उपयोगकर्ता या साइन-इन बहुत जोखिम भरा होता है तो उसे स्वीकार नहीं किया जा सकता, जिससे उपयोगकर्ता या साइन-इन प्रयास को **ब्लॉक** किया जा सकता है।
Entra पहचान सुरक्षा एक सुरक्षा सेवा है जो **यह पहचानने की अनुमति देती है कि जब कोई उपयोगकर्ता या साइन-इन बहुत जोखिम भरा होता है** तो उसे स्वीकार नहीं किया जा सकता, जिससे उपयोगकर्ता या साइन-इन प्रयास को **ब्लॉक** किया जा सकता है।
यह व्यवस्थापक को इसे इस तरह कॉन्फ़िगर करने की अनुमति देता है कि जब जोखिम "कम और ऊपर", "मध्यम और ऊपर" या "उच्च" हो, तो प्रयासों को **ब्लॉक** किया जाए। हालाँकि, डिफ़ॉल्ट रूप से यह पूरी तरह से **निष्क्रिय** है:
यह व्यवस्थापक को इसे **ब्लॉक** करने के लिए कॉन्फ़िगर करने की अनुमति देता है जब जोखिम "कम और ऊपर", "मध्यम और ऊपर" या "उच्च" होता है। हालाँकि, डिफ़ॉल्ट रूप से यह पूरी तरह से **निष्क्रिय** है:
<figure><img src="../../../images/image (356).png" alt=""><figcaption></figcaption></figure>
> [!TIP]
> आजकल, इन प्रतिबंधों को शर्तीय पहुँच नीतियों के माध्यम से जोड़ने की सिफारिश की जाती है जहाँ समान विकल्पों को कॉन्फ़िगर करना संभव ह
> आजकल, यह अनुशंसा की जाती है कि इन प्रतिबंधों को शर्तीय पहुँच नीतियों के माध्यम से जोड़ा जाए जहाँ समान विकल्पों को कॉन्फ़िगर करना संभव ह
### Entra पासवर्ड सुरक्षा
Entra पासवर्ड सुरक्षा ([https://portal.azure.com/index.html#view/Microsoft_AAD_ConditionalAccess/PasswordProtectionBlade](https://portal.azure.com/#view/Microsoft_AAD_ConditionalAccess/PasswordProtectionBlade)) एक सुरक्षा विशेषता है जो **कमजोर पासवर्ड के दुरुपयोग को रोकने में मदद करती है जब कई असफल लॉगिन प्रयास होते हैं**।\
यह आपको एक कस्टम पासवर्ड सूची **बैन** करने की अनुमति भी देती है जिसे आपको प्रदान करना होगा।
यह एक कस्टम पासवर्ड सूची को **बैन** करने की अनुमति भी देती है जिसे आपको प्रदान करना होगा।
यह **क्लाउड स्तर** और ऑन-प्रिमाइसेस सक्रिय निर्देशिका दोनों पर **लागू** किया जा सकता है।