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/az-post-exploitation/az
This commit is contained in:
@@ -1,29 +0,0 @@
|
||||
# Az - Queue Storage Persistence
|
||||
|
||||
{{#include ../../../banners/hacktricks-training.md}}
|
||||
|
||||
## Queue
|
||||
|
||||
अधिक जानकारी के लिए देखें:
|
||||
|
||||
{{#ref}}
|
||||
../az-services/az-queue.md
|
||||
{{#endref}}
|
||||
|
||||
### Actions: `Microsoft.Storage/storageAccounts/queueServices/queues/write`
|
||||
|
||||
यह अनुमति एक हमलावर को स्टोरेज अकाउंट के भीतर कतारें और उनकी विशेषताओं को बनाने या संशोधित करने की अनुमति देती है। इसका उपयोग अनधिकृत कतारें बनाने, मेटाडेटा को संशोधित करने, या एक्सेस कंट्रोल सूचियों (ACLs) को बदलने के लिए किया जा सकता है ताकि पहुँच को प्रदान या प्रतिबंधित किया जा सके। यह क्षमता कार्यप्रवाहों को बाधित कर सकती है, दुर्भावनापूर्ण डेटा इंजेक्ट कर सकती है, संवेदनशील जानकारी को एक्सफिल्ट्रेट कर सकती है, या आगे के हमलों को सक्षम करने के लिए कतार सेटिंग्स में हेरफेर कर सकती है।
|
||||
```bash
|
||||
az storage queue create --name <new-queue-name> --account-name <storage-account>
|
||||
|
||||
az storage queue metadata update --name <queue-name> --metadata key1=value1 key2=value2 --account-name <storage-account>
|
||||
|
||||
az storage queue policy set --name <queue-name> --permissions rwd --expiry 2024-12-31T23:59:59Z --account-name <storage-account>
|
||||
```
|
||||
## संदर्भ
|
||||
|
||||
- [https://learn.microsoft.com/en-us/azure/storage/queues/storage-powershell-how-to-use-queues](https://learn.microsoft.com/en-us/azure/storage/queues/storage-powershell-how-to-use-queues)
|
||||
- [https://learn.microsoft.com/en-us/rest/api/storageservices/queue-service-rest-api](https://learn.microsoft.com/en-us/rest/api/storageservices/queue-service-rest-api)
|
||||
- [https://learn.microsoft.com/en-us/azure/storage/queues/queues-auth-abac-attributes](https://learn.microsoft.com/en-us/azure/storage/queues/queues-auth-abac-attributes)
|
||||
|
||||
{{#include ../../../banners/hacktricks-training.md}}
|
||||
@@ -1,20 +0,0 @@
|
||||
# Az - SQL Persistence
|
||||
|
||||
{{#include ../../../banners/hacktricks-training.md}}
|
||||
|
||||
## SQL
|
||||
|
||||
अधिक जानकारी के लिए देखें:
|
||||
|
||||
{{#ref}}
|
||||
../az-services/az-sql.md
|
||||
{{#endref}}
|
||||
|
||||
### सामान्य स्थायी तकनीकें
|
||||
|
||||
- SQL क्रेडेंशियल्स से समझौता करें या एक SQL उपयोगकर्ता बनाएं (यदि आवश्यक हो तो SQL प्रमाणीकरण सक्षम करें)
|
||||
- एक समझौता किए गए उपयोगकर्ता को Entrad ID प्रशासक के रूप में असाइन करें (यदि आवश्यक हो तो Entra ID प्रमाणीकरण सक्षम करें)
|
||||
- VM में बैकडोर (यदि SQL VM का उपयोग किया जाता है)
|
||||
- SQL डेटाबेस पर पहुंच बनाए रखने के लिए एक FW नियम बनाएं
|
||||
|
||||
{{#include ../../../banners/hacktricks-training.md}}
|
||||
@@ -1,23 +1,35 @@
|
||||
# Az - CosmosDB Post Exploitation
|
||||
# Az - CosmosDB पोस्ट एक्सप्लोइटेशन
|
||||
|
||||
{{#include ../../../banners/hacktricks-training.md}}
|
||||
|
||||
## CosmosDB Post Exploitation
|
||||
SQL Database के बारे में अधिक जानकारी के लिए देखें:
|
||||
## CosmosDB पोस्ट एक्सप्लोइटेशन
|
||||
SQL डेटाबेस के बारे में अधिक जानकारी के लिए देखें:
|
||||
|
||||
{{#ref}}
|
||||
../az-services/az-cosmosDB.md
|
||||
{{#endref}}
|
||||
|
||||
|
||||
### `Microsoft.DocumentDB/databaseAccounts/read` && `Microsoft.DocumentDB/databaseAccounts/write`
|
||||
इस अनुमति के साथ, आप Azure Cosmos DB खातों को बना या अपडेट कर सकते हैं। इसमें खाता-स्तरीय सेटिंग्स को संशोधित करना, क्षेत्रों को जोड़ना या हटाना, स्थिरता स्तरों को बदलना, और मल्टी-क्षेत्र लेखन जैसी सुविधाओं को सक्षम या अक्षम करना शामिल है।
|
||||
इस अनुमति के साथ, आप Azure Cosmos DB खातों को बना या अपडेट कर सकते हैं। इसमें खाता-स्तरीय कॉन्फ़िगरेशन को संशोधित करना, स्वचालित फेलओवर को सक्षम या अक्षम करना, नेटवर्क एक्सेस नियंत्रण प्रबंधित करना, बैकअप नीतियों को सेट करना, और स्थिरता स्तरों को समायोजित करना शामिल है। इस अनुमति वाले हमलावर सेटिंग्स को बदलकर सुरक्षा नियंत्रणों को कमजोर कर सकते हैं, उपलब्धता को बाधित कर सकते हैं, या नेटवर्क नियमों को संशोधित करके डेटा को एक्सफिल्ट्रेट कर सकते हैं।
|
||||
```bash
|
||||
az cosmosdb update \
|
||||
--name <account_name> \
|
||||
--resource-group <resource_group_name> \
|
||||
--public-network-access ENABLED
|
||||
```
|
||||
|
||||
```bash
|
||||
az cosmosdb update \
|
||||
--account-name <account_name> \
|
||||
--resource-group <resource_group_name> \
|
||||
--capabilities EnableMongoRoleBasedAccessControl
|
||||
```
|
||||
इसके अलावा, आप खाते में प्रबंधित पहचान सक्षम कर सकते हैं:
|
||||
```bash
|
||||
az cosmosdb identity assign \
|
||||
--name <cosmosdb_account_name> \
|
||||
--resource-group <resource_group_name>
|
||||
```
|
||||
### `Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/read` && `Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/write`
|
||||
इस अनुमति के साथ, आप Azure Cosmos DB खाते के SQL डेटाबेस के भीतर कंटेनर (संग्रह) बना या संशोधित कर सकते हैं। कंटेनर डेटा संग्रहीत करने के लिए उपयोग किए जाते हैं, और उनमें किए गए परिवर्तन डेटाबेस की संरचना और पहुंच पैटर्न को प्रभावित कर सकते हैं।
|
||||
```bash
|
||||
@@ -38,7 +50,7 @@ az cosmosdb sql container update \
|
||||
--ttl 3600
|
||||
```
|
||||
### `Microsoft.DocumentDB/databaseAccounts/sqlDatabases/write` && `Microsoft.DocumentDB/databaseAccounts/sqlDatabases/read`
|
||||
इस अनुमति के साथ, आप Azure Cosmos DB खाते के भीतर SQL डेटाबेस बना या संशोधित कर सकते हैं। यह डेटाबेस संरचना को प्रबंधित करने और खाते में नए डेटाबेस जोड़ने की अनुमति देता है। जबकि यह अनुमति डेटाबेस निर्माण को सक्षम बनाती है, अनुचित या अनधिकृत उपयोग अनावश्यक संसाधन खपत, बढ़ी हुई लागत, या परिचालन अक्षमताओं का परिणाम हो सकता है।
|
||||
इस अनुमति के साथ, आप Azure Cosmos DB खाते के भीतर SQL डेटाबेस बना या संशोधित कर सकते हैं। यह डेटाबेस संरचना को प्रबंधित करने और खाते में नए डेटाबेस जोड़ने की अनुमति देता है। जबकि यह अनुमति डेटाबेस निर्माण को सक्षम बनाती है, अनुचित या अनधिकृत उपयोग अनावश्यक संसाधन खपत, बढ़ी हुई लागत, या परिचालन अक्षमताओं का परिणाम बन सकता है।
|
||||
```bash
|
||||
az cosmosdb sql database create \
|
||||
--account-name <account_name> \
|
||||
@@ -56,7 +68,7 @@ az cosmosdb failover-priority-change \
|
||||
|
||||
```
|
||||
### `Microsoft.DocumentDB/databaseAccounts/regenerateKey/action`
|
||||
इस अनुमति के साथ, आप Azure Cosmos DB खाते के प्राथमिक या द्वितीयक कुंजियों को पुनः उत्पन्न कर सकते हैं। इसका उपयोग आमतौर पर सुरक्षा को बढ़ाने के लिए पुराने कुंजियों को बदलने के लिए किया जाता है, लेकिन यह उन सेवाओं या अनुप्रयोगों के लिए पहुंच को बाधित कर सकता है जो वर्तमान कुंजियों पर निर्भर करते हैं।
|
||||
इस अनुमति के साथ, आप Azure Cosmos DB खाते के प्राथमिक या द्वितीयक कुंजी को पुनः उत्पन्न कर सकते हैं। इसका उपयोग आमतौर पर सुरक्षा को बढ़ाने के लिए पुराने कुंजी को बदलने के लिए किया जाता है, लेकिन यह उन सेवाओं या अनुप्रयोगों के लिए पहुंच को बाधित कर सकता है जो वर्तमान कुंजी पर निर्भर करते हैं।
|
||||
```bash
|
||||
az cosmosdb keys regenerate \
|
||||
--name <account_name> \
|
||||
@@ -79,7 +91,7 @@ az cosmosdb sql trigger create \
|
||||
--operation All
|
||||
```
|
||||
### `Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/storedProcedures/write` && `Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/storedProcedures/read`
|
||||
इस अनुमति के साथ, आप Azure Cosmos DB खाते में SQL डेटाबेस के एक कंटेनर के भीतर स्टोर किए गए प्रक्रियाओं को बना या संशोधित कर सकते हैं। Cosmos DB में स्टोर की गई प्रक्रियाएँ सर्वर-साइड JavaScript फ़ंक्शन हैं जो आपको डेटा को संसाधित करने या सीधे डेटाबेस के भीतर संचालन करने के लिए लॉजिक को संलग्न करने की अनुमति देती हैं।
|
||||
इस अनुमति के साथ, आप Azure Cosmos DB खाते में SQL डेटाबेस के एक कंटेनर के भीतर स्टोर किए गए प्रक्रियाओं को बना या संशोधित कर सकते हैं। Cosmos DB में स्टोर की गई प्रक्रियाएँ सर्वर-साइड जावास्क्रिप्ट फ़ंक्शन हैं जो आपको डेटा को संसाधित करने या सीधे डेटाबेस के भीतर संचालन करने के लिए लॉजिक को संलग्न करने की अनुमति देती हैं।
|
||||
```bash
|
||||
az cosmosdb sql stored-procedure create \
|
||||
--account-name <account_name> \
|
||||
@@ -90,7 +102,7 @@ az cosmosdb sql stored-procedure create \
|
||||
--body 'function sample() { return "Hello, Cosmos!"; }'
|
||||
```
|
||||
### `Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/triggers/write` && `Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/triggers/read`
|
||||
इस अनुमति के साथ, आप Azure Cosmos DB खाते में SQL डेटाबेस के एक कंटेनर के भीतर ट्रिगर्स बना या संशोधित कर सकते हैं। ट्रिगर्स आपको इनसर्ट, अपडेट या डिलीट जैसी ऑपरेशनों के जवाब में सर्वर-साइड लॉजिक निष्पादित करने की अनुमति देते हैं।
|
||||
इस अनुमति के साथ, आप Azure Cosmos DB खाते में SQL डेटाबेस के एक कंटेनर के भीतर ट्रिगर्स बना या संशोधित कर सकते हैं। ट्रिगर्स आपको इनसर्ट, अपडेट या डिलीट जैसे ऑपरेशनों के जवाब में सर्वर-साइड लॉजिक निष्पादित करने की अनुमति देते हैं।
|
||||
```bash
|
||||
az cosmosdb sql trigger create \
|
||||
--account-name <account_name> \
|
||||
@@ -119,52 +131,4 @@ az cosmosdb mongodb database create \
|
||||
--resource-group <resource_group_name> \
|
||||
--name <database_name>
|
||||
```
|
||||
### `Microsoft.DocumentDB/databaseAccounts/mongodbRoleDefinitions/write` && `Microsoft.DocumentDB/databaseAccounts/mongodbRoleDefinitions/read`
|
||||
इस अनुमति के साथ, आप Azure Cosmos DB खाते के भीतर नए MongoDB भूमिका परिभाषाएँ बना सकते हैं। यह MongoDB उपयोगकर्ताओं के लिए विशिष्ट अनुमतियों के साथ कस्टम भूमिकाएँ परिभाषित करने की अनुमति देता है।
|
||||
```bash
|
||||
az cosmosdb mongodb role definition create \
|
||||
--account-name <account_name> \
|
||||
--resource-group <resource_group_name> \
|
||||
--body '{
|
||||
"Id": "<mydatabase>.readWriteRole",
|
||||
"RoleName": "readWriteRole",
|
||||
"Type": "CustomRole",
|
||||
"DatabaseName": "<mydatabase>",
|
||||
"Privileges": [
|
||||
{
|
||||
"Resource": {
|
||||
"Db": "<mydatabase>",
|
||||
"Collection": "mycollection"
|
||||
},
|
||||
"Actions": [
|
||||
"insert",
|
||||
"find",
|
||||
"update"
|
||||
]
|
||||
}
|
||||
],
|
||||
"Roles": []
|
||||
}'
|
||||
```
|
||||
### `Microsoft.DocumentDB/databaseAccounts/mongodbUserDefinitions/write` && `Microsoft.DocumentDB/databaseAccounts/mongodbUserDefinitions/read`
|
||||
इस अनुमति के साथ, आप Azure Cosmos DB खाते के भीतर नए MongoDB उपयोगकर्ता परिभाषाएँ बना सकते हैं। यह MongoDB डेटाबेस के लिए विशिष्ट भूमिकाओं और पहुँच स्तरों के साथ उपयोगकर्ताओं की प्रोविजनिंग की अनुमति देता है।
|
||||
```bash
|
||||
az cosmosdb mongodb user definition create \
|
||||
--account-name <account_name> \
|
||||
--resource-group <resource_group_name> \
|
||||
--body '{
|
||||
"Id": "<mydatabase>.myUser",
|
||||
"UserName": "myUser",
|
||||
"Password": "mySecurePassword",
|
||||
"DatabaseName": "<mydatabase>",
|
||||
"CustomData": "TestCustomData",
|
||||
"Mechanisms": "SCRAM-SHA-256",
|
||||
"Roles": [
|
||||
{
|
||||
"Role": "readWriteRole",
|
||||
"Db": "<mydatabase>"
|
||||
}
|
||||
]
|
||||
}'
|
||||
```
|
||||
{{#include ../../../banners/hacktricks-training.md}}
|
||||
|
||||
@@ -43,12 +43,63 @@ az cosmosdb sql role assignment create \
|
||||
--principal-id <principal_id-togive-perms> \
|
||||
--scope "/"
|
||||
```
|
||||
### (`Microsoft.DocumentDB/databaseAccounts/mongodbRoleDefinitions/write` && `Microsoft.DocumentDB/databaseAccounts/mongodbRoleDefinitions/read`)&& (`Microsoft.DocumentDB/databaseAccounts/mongodbUserDefinitions/write` && `Microsoft.DocumentDB/databaseAccounts/mongodbUserDefinitions/read`)
|
||||
|
||||
इस अनुमति के साथ, आप Azure Cosmos DB खाते के भीतर नए MongoDB भूमिका परिभाषाएँ बना सकते हैं। यह MongoDB उपयोगकर्ताओं के लिए विशिष्ट अनुमतियों के साथ कस्टम भूमिकाएँ परिभाषित करने की अनुमति देता है। इसका उपयोग करने के लिए RBAC कार्यक्षमताएँ सक्षम होनी चाहिए।
|
||||
```bash
|
||||
az cosmosdb mongodb role definition create \
|
||||
--account-name <account_name> \
|
||||
--resource-group <resource_group_name> \
|
||||
--body '{
|
||||
"Id": "<mydatabase>.readWriteRole",
|
||||
"RoleName": "readWriteRole",
|
||||
"Type": "CustomRole",
|
||||
"DatabaseName": "<mydatabase>",
|
||||
"Privileges": [
|
||||
{
|
||||
"Resource": {
|
||||
"Db": "<mydatabase>",
|
||||
"Collection": "mycollection"
|
||||
},
|
||||
"Actions": [
|
||||
"insert",
|
||||
"find",
|
||||
"update"
|
||||
]
|
||||
}
|
||||
],
|
||||
"Roles": []
|
||||
}'
|
||||
```
|
||||
आप Azure Cosmos DB खाते के भीतर नए MongoDB उपयोगकर्ता परिभाषाएँ बना सकते हैं। यह MongoDB डेटाबेस तक विशिष्ट भूमिकाओं और पहुँच के साथ उपयोगकर्ताओं की प्रोविजनिंग की अनुमति देता है।
|
||||
```bash
|
||||
az cosmosdb mongodb user definition create \
|
||||
--account-name <account_name> \
|
||||
--resource-group <resource_group_name> \
|
||||
--body '{
|
||||
"Id": "<mydatabase>.myUser",
|
||||
"UserName": "<myUser>",
|
||||
"Password": "<mySecurePassword>",
|
||||
"DatabaseName": "<mydatabase>",
|
||||
"CustomData": "TestCustomData",
|
||||
"Mechanisms": "SCRAM-SHA-256",
|
||||
"Roles": [
|
||||
{
|
||||
"Role": "readWriteRole",
|
||||
"Db": "<mydatabase>"
|
||||
}
|
||||
]
|
||||
}'
|
||||
```
|
||||
उसके बाद एक नया उपयोगकर्ता MongoDB के भीतर बनाया जाता है, हम इसे एक्सेस कर सकते हैं:
|
||||
```bash
|
||||
mongosh "mongodb://<myUser>:<mySecurePassword>@<account_name>.mongo.cosmos.azure.com:10255/<mymongodatabase>?ssl=true&replicaSet=globaldb&retrywrites=false"
|
||||
```
|
||||
### `Microsoft.DocumentDB/databaseAccounts/listKeys/action`
|
||||
इस अनुमति के साथ, आप Azure Cosmos DB खाते के प्राथमिक और द्वितीयक कुंजी प्राप्त कर सकते हैं। ये कुंजी डेटाबेस खाते और इसके संसाधनों तक पूर्ण पहुंच प्रदान करती हैं, जिससे डेटा पढ़ने, लिखने और कॉन्फ़िगरेशन परिवर्तनों जैसी क्रियाएँ सक्षम होती हैं।
|
||||
```bash
|
||||
az cosmosdb keys list \
|
||||
--name <account_name> \
|
||||
--resource-group <resource_group_name>
|
||||
|
||||
```
|
||||
{{#include ../../../banners/hacktricks-training.md}}
|
||||
|
||||
Reference in New Issue
Block a user