mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2025-12-29 14:13:20 -08:00
Translated ['src/pentesting-cloud/azure-security/README.md', 'src/pentes
This commit is contained in:
@@ -29,31 +29,31 @@ az-unauthenticated-enum-and-initial-entry/
|
||||
{{#endref}}
|
||||
|
||||
इस जानकारी के साथ foothold प्राप्त करने के लिए सबसे सामान्य तरीके हैं:
|
||||
- **OSINT**: GitHub या किसी अन्य ओपन-सोर्स प्लेटफॉर्म पर **leaks** की जांच करें जो **credentials** या दिलचस्प जानकारी हो सकती है।
|
||||
- **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)
|
||||
- एक कर्मचारी से क्रेडेंशियल्स खरीदें
|
||||
- [**Common Phishing**](https://book.hacktricks.wiki/en/generic-methodologies-and-resources/phishing-methodology/index.html) (क्रेडेंशियल्स या Oauth ऐप)
|
||||
- [Device Code Authentication Phishing](az-unauthenticated-enum-and-initial-entry/az-device-code-authentication-phishing.md)
|
||||
- 3rd parties **breached**
|
||||
- 3rd पार्टी **breached**
|
||||
- Azure-Hosted Applications में कमजोरियाँ
|
||||
- [**Server Side Request Forgery**](https://book.hacktricks.wiki/en/pentesting-web/ssrf-server-side-request-forgery/cloud-ssrf.html) के साथ मेटाडेटा एंडपॉइंट तक पहुँच
|
||||
- [**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`** एप्लिकेशन के credentials (टेनेन्ट आईडी, क्लाइंट और सीक्रेट) रखता है। केवल Linux और macOS में
|
||||
- **`service_principal_entries.json`** एप्लिकेशन क्रेडेंशियल्स (टेनेन्ट आईडी, क्लाइंट और सीक्रेट) रखता है। केवल 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 का उपयोग करके पिछले लॉगिन के बारे में जानकारी रखता है (लेकिन कोई credentials नहीं)
|
||||
- **`AzureRmContext.json`** पिछले लॉगिन के बारे में जानकारी रखता है जो Az PowerShell का उपयोग करके किया गया था (लेकिन कोई क्रेडेंशियल नहीं)
|
||||
- **`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/` मौजूद है (हालांकि इसमें मौजूद फ़ाइलें खाली और बेकार हैं)
|
||||
- Windows में यह केवल ID टोकन उत्पन्न करता है।
|
||||
- यह देखना संभव है कि क्या Az PowerShell का उपयोग Linux और macOS में किया गया था यह जांचकर कि `$HOME/.local/share/.IdentityService/` मौजूद है (हालांकि इसमें मौजूद फ़ाइलें खाली और बेकार हैं)
|
||||
|
||||
फुटहोल प्राप्त करने के लिए **अन्य Azure सेवाओं की गलत कॉन्फ़िगरेशन** खोजें निम्नलिखित पृष्ठ पर:
|
||||
|
||||
@@ -76,11 +76,11 @@ az-enumeration-tools.md
|
||||
|
||||
<figure><img src="../../images/image (268).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
उन मामलों में जहाँ आपके पास कुछ मान्य credentials हैं लेकिन आप लॉगिन नहीं कर सकते, ये कुछ सामान्य सुरक्षा उपाय हैं जो लागू हो सकते हैं:
|
||||
उन मामलों में जहाँ आपके पास कुछ मान्य क्रेडेंशियल्स हैं लेकिन आप लॉगिन नहीं कर सकते, ये कुछ सामान्य सुरक्षा उपाय हैं जो लागू हो सकते हैं:
|
||||
|
||||
- **IP whitelisting** -- आपको एक मान्य IP से समझौता करना होगा
|
||||
- **Geo restrictions** -- पता करें कि उपयोगकर्ता कहाँ रहता है या कंपनी के कार्यालय कहाँ हैं और उसी शहर (या कम से कम देश) से एक IP प्राप्त करें
|
||||
- **Browser** -- शायद केवल कुछ OS (Windows, Linux, Mac, Android, iOS) से एक ब्राउज़र की अनुमति है। पता करें कि पीड़ित/कंपनी कौन सा OS उपयोग कर रही है।
|
||||
- **Browser** -- शायद केवल कुछ OS (Windows, Linux, Mac, Android, iOS) से एक ब्राउज़र की अनुमति है। पता करें कि पीड़ित/कंपनी कौन सा OS उपयोग करती है।
|
||||
- आप **Service Principal credentials** को भी समझौता करने की कोशिश कर सकते हैं क्योंकि ये आमतौर पर कम सीमित होते हैं और इसका लॉगिन कम समीक्षा किया जाता है
|
||||
|
||||
इसे बायपास करने के बाद, आप अपनी प्रारंभिक सेटअप पर वापस जाने में सक्षम हो सकते हैं और आपके पास अभी भी पहुँच होगी।
|
||||
@@ -140,75 +140,90 @@ Get-AzureADTenantDetail
|
||||
{{#endtab }}
|
||||
{{#endtabs }}
|
||||
|
||||
|
||||
### Entra ID Enumeration & Privesc
|
||||
|
||||
डिफ़ॉल्ट रूप से, किसी भी उपयोगकर्ता को **उपयोगकर्ताओं, समूहों, भूमिकाओं, सेवा प्रमुखों** जैसी चीजों को सूचीबद्ध करने के लिए **पर्याप्त अनुमतियाँ होनी चाहिए**... (चेक [default AzureAD permissions](az-basic-information/index.html#default-user-permissions)).\
|
||||
डिफ़ॉल्ट रूप से, किसी भी उपयोगकर्ता को **उपयोगकर्ताओं, समूहों, भूमिकाओं, सेवा प्रमुखों** जैसी चीजों को सूचीबद्ध करने के लिए **पर्याप्त अनुमतियाँ होनी चाहिए**... (चेक करें [default AzureAD permissions](az-basic-information/index.html#default-user-permissions)).\
|
||||
यहाँ एक गाइड है:
|
||||
|
||||
{{#ref}}
|
||||
az-services/az-azuread.md
|
||||
{{#endref}}
|
||||
|
||||
**Post-Exploitation tools** की जाँच करें ताकि Entra ID में अनुमतियों को बढ़ाने के लिए उपकरण मिल सकें जैसे **AzureHound:**
|
||||
**Post-Exploitation tools** की जाँच करें ताकि Entra ID में अनुमतियाँ बढ़ाने के लिए उपकरण मिल सकें जैसे **AzureHound:**
|
||||
|
||||
{{#ref}}
|
||||
az-enumeration-tools.md#automated-post-exploitation-tools
|
||||
{{#endref}}
|
||||
|
||||
|
||||
### Azure Enumeration
|
||||
|
||||
एक बार जब आप जान लेते हैं कि आप कौन हैं, तो आप **Azure सेवाओं की सूचीबद्धता शुरू कर सकते हैं जिन तक आपकी पहुँच है**।
|
||||
एक बार जब आप जान लेते हैं कि आप कौन हैं, तो आप **Azure सेवाओं की सूची बनाना शुरू कर सकते हैं जिन तक आपकी पहुँच है**।
|
||||
|
||||
आपको यह पता लगाना चाहिए कि आपके पास **संसाधनों पर क्या अनुमतियाँ हैं**। इसके लिए:
|
||||
आपको यह पता लगाना चाहिए कि आपके पास संसाधनों पर **क्या अनुमतियाँ हैं**। इसके लिए:
|
||||
|
||||
1. **उस संसाधन को खोजें जिसके लिए आपके पास कुछ पहुँच है**:
|
||||
|
||||
Az PoswerShell कमांड **`Get-AzResource`** आपको **जानकारी देता है कि आपके वर्तमान उपयोगकर्ता के पास किन संसाधनों पर दृश्यता है**।
|
||||
|
||||
इसके अलावा, आप **वेब कंसोल** में [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"`
|
||||
इसके अलावा, आप **वेब कंसोल** में वही जानकारी प्राप्त कर सकते हैं [https://portal.azure.com/#view/HubsExtension/BrowseAll](https://portal.azure.com/#view/HubsExtension/BrowseAll) पर जाकर या "All resources" खोजकर या निष्पादित करके:
|
||||
```bash
|
||||
az rest --method GET --url "https://management.azure.com/subscriptions/<subscription-id>/resources?api-version=2021-04-01"
|
||||
```
|
||||
2. **उन संसाधनों पर आपके पास जो अनुमतियाँ हैं, उन्हें खोजें जिन तक आपकी पहुँच है और आपके लिए निर्धारित भूमिकाएँ खोजें**:
|
||||
|
||||
2. **उन संसाधनों पर आपके पास जो अनुमतियाँ हैं उन्हें खोजें जिन तक आपकी पहुँच है और आपके लिए असाइन की गई भूमिकाएँ खोजें**:
|
||||
ध्यान दें कि इस क्रिया को निष्पादित करने के लिए आपको अनुमति **`Microsoft.Authorization/roleAssignments/read`** की आवश्यकता है।
|
||||
|
||||
ध्यान दें कि आपको इस क्रिया को निष्पादित करने के लिए अनुमति **`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`**।
|
||||
|
||||
यह जानकारी प्राप्त करने के लिए **`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"`**
|
||||
|
||||
3. **आपके लिए संलग्न भूमिकाओं की सूक्ष्म अनुमतियाँ खोजें**:
|
||||
इसके अलावा, पर्याप्त अनुमतियों के साथ, भूमिका **`Get-AzRoleAssignment`** का उपयोग **सदस्यता में सभी भूमिकाओं को सूचीबद्ध करने** या एक विशिष्ट संसाधन पर अनुमति को इंगित करने के लिए किया जा सकता है जैसे:
|
||||
```bash
|
||||
Get-AzRoleAssignment -Scope /subscriptions/<subscription-id>/resourceGroups/Resource_Group_1/providers/Microsoft.RecoveryServices/vaults/vault-m3ww8ut4
|
||||
```
|
||||
यह जानकारी प्राप्त करना भी संभव है:
|
||||
```bash
|
||||
az rest --method GET --uri "https://management.azure.com/<Scope>/providers/Microsoft.Authorization/roleAssignments?api-version=2020-08-01-preview" | jq ".value"
|
||||
```
|
||||
जैसे कि:
|
||||
```bash
|
||||
az rest --method GET --uri "https://management.azure.com//subscriptions/<subscription-id>/resourceGroups/Resource_Group_1/providers/Microsoft.KeyVault/vaults/vault-m3ww8ut4/providers/Microsoft.Authorization/roleAssignments?api-version=2020-08-01-preview" | jq ".value"
|
||||
```
|
||||
एक और विकल्प है कि आप azure में आपके साथ जुड़े रोल प्राप्त करें:
|
||||
```bash
|
||||
az role assignment list --assignee "<email>" --all --output table
|
||||
```
|
||||
या निम्नलिखित चलाने पर (यदि परिणाम खाली हैं, तो इसका कारण यह हो सकता है कि आपके पास उन्हें प्राप्त करने की अनुमति नहीं है):
|
||||
```bash
|
||||
az rest --method GET --uri 'https://management.azure.com/subscriptions/<subscription-id>/providers/Microsoft.Authorization/roleAssignments?api-version=2022-04-01&$filter=principalId eq '<user-id>'
|
||||
```
|
||||
3. **आपसे जुड़े भूमिकाओं की सूक्ष्म अनुमतियों को खोजें**:
|
||||
|
||||
फिर, सूक्ष्म अनुमति प्राप्त करने के लिए आप **`(Get-AzRoleDefinition -Id "<RoleDefinitionId>").Actions`** चला सकते हैं।
|
||||
|
||||
या सीधे API को कॉल करें **`az rest --method GET --uri "https://management.azure.com//subscriptions/<subscription-id>/providers/Microsoft.Authorization/roleDefinitions/<RoleDefinitionId>?api-version=2020-08-01-preview" | jq ".properties"`** के साथ।
|
||||
|
||||
|
||||
अगली अनुभाग में आप **सबसे सामान्य Azure सेवाओं के बारे में जानकारी और उन्हें सूचीबद्ध करने के तरीके** पा सकते हैं:
|
||||
या सीधे API को कॉल करें:
|
||||
```bash
|
||||
az rest --method GET --uri "https://management.azure.com//subscriptions/<subscription-id>/providers/Microsoft.Authorization/roleDefinitions/<RoleDefinitionId>?api-version=2020-08-01-preview" | jq ".properties"
|
||||
```
|
||||
इस अनुभाग में आप **सबसे सामान्य Azure सेवाओं के बारे में जानकारी और उन्हें कैसे सूचीबद्ध करें** पा सकते हैं:
|
||||
|
||||
{{#ref}}
|
||||
az-services/
|
||||
{{#endref}}
|
||||
|
||||
### Privilege Escalation, Post-Exploitation & Persistence
|
||||
### विशेषाधिकार वृद्धि, पोस्ट-एक्सप्लॉइटेशन और स्थिरता
|
||||
|
||||
एक बार जब आप जान लेते हैं कि Azure वातावरण कैसे संरचित है और कौन सी सेवाएँ उपयोग की जा रही हैं, तो आप **अनुमतियों को बढ़ाने, पार्श्व रूप से स्थानांतरित करने, अन्य पोस्ट-एक्सप्लॉइटेशन हमलों को करने और स्थिरता बनाए रखने** के तरीकों की तलाश शुरू कर सकते हैं।
|
||||
एक बार जब आप जान लेते हैं कि Azure वातावरण कैसे संरचित है और कौन सी सेवाएँ उपयोग की जा रही हैं, तो आप **विशेषाधिकार बढ़ाने, पार्श्व रूप से स्थानांतरित करने, अन्य पोस्ट-एक्सप्लॉइटेशन हमले करने और स्थिरता बनाए रखने** के तरीकों की तलाश शुरू कर सकते हैं।
|
||||
|
||||
अगली अनुभाग में आप सबसे सामान्य Azure सेवाओं में अनुमतियों को बढ़ाने के तरीके के बारे में जानकारी पा सकते हैं:
|
||||
इस अनुभाग में आप सबसे सामान्य Azure सेवाओं में विशेषाधिकार बढ़ाने के बारे में जानकारी पा सकते हैं:
|
||||
|
||||
{{#ref}}
|
||||
az-privilege-escalation/
|
||||
{{#endref}}
|
||||
|
||||
अगली में आप सबसे सामान्य Azure सेवाओं में पोस्ट-एक्सप्लॉइटेशन हमलों को करने के तरीके के बारे में जानकारी पा सकते हैं:
|
||||
अगले में आप सबसे सामान्य Azure सेवाओं में पोस्ट-एक्सप्लॉइटेशन हमले करने के बारे में जानकारी पा सकते हैं:
|
||||
|
||||
{{#ref}}
|
||||
az-post-exploitation/
|
||||
{{#endref}}
|
||||
|
||||
अगली में आप सबसे सामान्य Azure सेवाओं में स्थिरता बनाए रखने के तरीके के बारे में जानकारी पा सकते हैं:
|
||||
अगले में आप सबसे सामान्य Azure सेवाओं में स्थिरता बनाए रखने के बारे में जानकारी पा सकते हैं:
|
||||
|
||||
{{#ref}}
|
||||
az-persistence/
|
||||
|
||||
Reference in New Issue
Block a user