Translated ['src/pentesting-cloud/azure-security/az-persistence/az-queue

This commit is contained in:
Translator
2025-02-20 00:55:17 +00:00
parent 73c49b50f4
commit 094bcd3bef
10 changed files with 78 additions and 46 deletions

View File

@@ -425,8 +425,8 @@
- [Az - Management Groups, Subscriptions & Resource Groups](pentesting-cloud/azure-security/az-services/az-management-groups-subscriptions-and-resource-groups.md)
- [Az - MySQL](pentesting-cloud/azure-security/az-services/az-mysql.md)
- [Az - PostgreSQL](pentesting-cloud/azure-security/az-services/az-postgresql.md)
- [Az - Queue Storage](pentesting-cloud/azure-security/az-services/az-queue-enum.md)
- [Az - Service Bus](pentesting-cloud/azure-security/az-services/az-servicebus-enum.md)
- [Az - Queue Storage](pentesting-cloud/azure-security/az-services/az-queue.md)
- [Az - Service Bus](pentesting-cloud/azure-security/az-services/az-servicebus.md)
- [Az - SQL](pentesting-cloud/azure-security/az-services/az-sql.md)
- [Az - Static Web Applications](pentesting-cloud/azure-security/az-services/az-static-web-apps.md)
- [Az - Storage Accounts & Blobs](pentesting-cloud/azure-security/az-services/az-storage.md)
@@ -489,6 +489,7 @@
- [Az - Persistence](pentesting-cloud/azure-security/az-persistence/README.md)
- [Az - Automation Accounts Persistence](pentesting-cloud/azure-security/az-persistence/az-automation-accounts-persistence.md)
- [Az - Cloud Shell Persistence](pentesting-cloud/azure-security/az-persistence/az-cloud-shell-persistence.md)
- [Az - Queue SQL Persistence](pentesting-cloud/azure-security/az-persistence/az-sql-persistance.md)
- [Az - Queue Storage Persistence](pentesting-cloud/azure-security/az-persistence/az-queue-persistance.md)
- [Az - VMs Persistence](pentesting-cloud/azure-security/az-persistence/az-vms-persistence.md)
- [Az - Storage Persistence](pentesting-cloud/azure-security/az-persistence/az-storage-persistence.md)

View File

@@ -7,7 +7,7 @@
अधिक जानकारी के लिए देखें:
{{#ref}}
../az-services/az-queue-enum.md
../az-services/az-queue.md
{{#endref}}
### Actions: `Microsoft.Storage/storageAccounts/queueServices/queues/write`

View File

@@ -0,0 +1,20 @@
# 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}}

View File

@@ -7,7 +7,7 @@
अधिक जानकारी के लिए देखें:
{{#ref}}
../az-services/az-queue-enum.md
../az-services/az-queue.md
{{#endref}}
### DataActions: `Microsoft.Storage/storageAccounts/queueServices/queues/messages/read`
@@ -46,7 +46,7 @@ az storage message update --queue-name <queue-name> \
```
### Actions: `Microsoft.Storage/storageAccounts/queueServices/queues/delete`
यह अनुमति एक हमलावर को स्टोरेज खाते के भीतर कतारों को हटाने की अनुमति देती है। इस क्षमता का लाभ उठाकर, एक हमलावर कतारों और उनके सभी संबंधित संदेशों को स्थायी रूप से हटा सकता है, जिससे कार्यप्रवाह में महत्वपूर्ण व्यवधान उत्पन्न होता है और प्रभावित कतारों पर निर्भर करने वाले अनुप्रयोगों के लिए महत्वपूर्ण डेटा हानि होती है। इस क्रिया का उपयोग सेवाओं को बाधित करने के लिए भी किया जा सकता है, जिससे प्रणाली के आवश्यक घटकों को हटाया जा सकता है।
यह अनुमति एक हमलावर को स्टोरेज अकाउंट के भीतर कतारों को हटाने की अनुमति देती है। इस क्षमता का लाभ उठाकर, एक हमलावर कतारों और उनके सभी संबंधित संदेशों को स्थायी रूप से हटा सकता है, जिससे कार्यप्रवाह में महत्वपूर्ण व्यवधान उत्पन्न होता है और प्रभावित कतारों पर निर्भर करने वाले अनुप्रयोगों के लिए महत्वपूर्ण डेटा हानि होती है। इस क्रिया का उपयोग सेवाओं को बाधित करने के लिए भी किया जा सकता है, जिससे सिस्टम के आवश्यक घटकों को हटाया जा सकता है।
```bash
az storage queue delete --name <queue-name> --account-name <storage-account>
```

View File

@@ -7,7 +7,7 @@
अधिक जानकारी के लिए देखें:
{{#ref}}
../az-services/az-servicebus-enum.md
../az-services/az-servicebus.md
{{#endref}}
### Actions: `Microsoft.ServiceBus/namespaces/Delete`
@@ -43,7 +43,7 @@ az servicebus queue update --resource-group <ResourceGroupName> --namespace-name
```
### Actions: `Microsoft.ServiceBus/namespaces/topics/write` (`Microsoft.ServiceBus/namespaces/topics/read`)
एक हमलावर जिसके पास Azure Service Bus namespace के भीतर विषय बनाने या संशोधित करने की अनुमति है (विषय को संशोधित करने के लिए आपको Action:`Microsoft.ServiceBus/namespaces/topics/read` की भी आवश्यकता होगी) इसका उपयोग संदेश कार्यप्रवाहों को बाधित करने, संवेदनशील डेटा को उजागर करने, या अनधिकृत क्रियाओं को सक्षम करने के लिए कर सकता है। az servicebus topic update जैसे कमांड का उपयोग करके, वे कॉन्फ़िगरेशन में हेरफेर कर सकते हैं जैसे कि स्केलेबिलिटी दुरुपयोग के लिए विभाजन को सक्षम करना, संदेशों को अनुचित रूप से बनाए रखने या त्यागने के लिए TTL सेटिंग्स को बदलना, या नियंत्रणों को बायपास करने के लिए डुप्लिकेट पहचान को अक्षम करना। इसके अतिरिक्त, वे विषय आकार सीमाओं को समायोजित कर सकते हैं, उपलब्धता को बाधित करने के लिए स्थिति बदल सकते हैं, या अस्थायी रूप से इंटरसेप्ट किए गए संदेशों को संग्रहीत करने के लिए एक्सप्रेस विषयों को कॉन्फ़िगर कर सकते हैं, जिससे विषय प्रबंधन पोस्ट-एक्सप्लॉइटेशन शमन के लिए एक महत्वपूर्ण ध्यान केंद्र बन जाता है।
एक हमलावर जिसके पास Azure Service Bus namespace के भीतर विषय बनाने या संशोधित करने की अनुमति है (विषय को संशोधित करने के लिए आपको Action:`Microsoft.ServiceBus/namespaces/topics/read` की भी आवश्यकता होगी) इसका उपयोग संदेश कार्यप्रवाहों को बाधित करने, संवेदनशील डेटा को उजागर करने, या अनधिकृत क्रियाओं को सक्षम करने के लिए कर सकता है। az servicebus topic update जैसे कमांड का उपयोग करके, वे कॉन्फ़िगरेशन को इस तरह से हेरफेर कर सकते हैं जैसे कि स्केलेबिलिटी दुरुपयोग के लिए विभाजन को सक्षम करना, संदेशों को अनुचित रूप से बनाए रखने या त्यागने के लिए TTL सेटिंग्स को बदलना, या नियंत्रणों को बायपास करने के लिए डुप्लिकेट पहचान को अक्षम करना। इसके अतिरिक्त, वे विषय आकार सीमाओं को समायोजित कर सकते हैं, उपलब्धता को बाधित करने के लिए स्थिति बदल सकते हैं, या अस्थायी रूप से इंटरसेप्ट किए गए संदेशों को स्टोर करने के लिए एक्सप्रेस विषयों को कॉन्फ़िगर कर सकते हैं, जिससे विषय प्रबंधन पोस्ट-एक्सप्लॉइटेशन शमन के लिए एक महत्वपूर्ण ध्यान केंद्र बन जाता है।
```bash
az servicebus topic create --resource-group <ResourceGroupName> --namespace-name <NamespaceName> --name <TopicName>
az servicebus topic update --resource-group <ResourceGroupName> --namespace-name <NamespaceName> --name <TopicName>

View File

@@ -7,7 +7,7 @@
अधिक जानकारी के लिए देखें:
{{#ref}}
../az-services/az-queue-enum.md
../az-services/az-queue.md
{{#endref}}
### DataActions: `Microsoft.Storage/storageAccounts/queueServices/queues/messages/read`
@@ -32,7 +32,7 @@ az storage message put --queue-name <queue-name> --content "Injected malicious m
```
### DataActions: `Microsoft.Storage/storageAccounts/queueServices/queues/messages/write`
यह अनुमति एक हमलावर को Azure Storage Queue में नए संदेश जोड़ने या मौजूदा संदेशों को अपडेट करने की अनुमति देती है। इसका उपयोग करके, वे हानिकारक सामग्री डाल सकते हैं या मौजूदा संदेशों को बदल सकते हैं, जो संभावित रूप से अनुप्रयोगों को भ्रामक बना सकत है या उन सिस्टमों में अवांछित व्यवहार पैदा कर सकता है जो कतार पर निर्भर करते हैं।
यह अनुमति एक हमलावर को Azure Storage Queue में नए संदेश जोड़ने या मौजूदा संदेशों को अपडेट करने की अनुमति देती है। इसका उपयोग करके, वे हानिकारक सामग्री डाल सकते हैं या मौजूदा संदेशों को बदल सकते हैं, जिससे अनुप्रयोगों को भ्रामक जानकारी मिल सकत है या उन सिस्टम में अवांछित व्यवहार उत्पन्न हो सकता है जो कतार पर निर्भर करते हैं।
```bash
az storage message put --queue-name <queue-name> --content "Injected malicious message" --account-name <storage-account>
@@ -46,7 +46,7 @@ az storage message update --queue-name <queue-name> \
```
### Action: `Microsoft.Storage/storageAccounts/queueServices/queues/write`
यह अनुमति एक हमलावर को स्टोरेज अकाउंट के भीतर कतारें और उनकी विशेषताओं को बनाने या संशोधित करने की अनुमति देती है। इसका उपयोग अनधिकृत कतारें बनाने, मेटाडेटा को संशोधित करने, या एक्सेस कंट्रोल सूचियों (ACLs) को बदलने के लिए किया जा सकता है ताकि पहुँच को प्रदान या प्रतिबंधित किया जा सके। यह क्षमता कार्यप्रवाहों को बाधित कर सकती है, दुर्भावनापूर्ण डेटा इंजेक्ट कर सकती है, संवेदनशील जानकारी को एक्सफिल्ट्रेट कर सकती है, या आगे के हमलों को सक्षम करने के लिए कतार सेटिंग्स में हेरफेर कर सकती है।
यह अनुमति एक हमलावर को स्टोरेज खाते के भीतर कतारें और उनकी विशेषताओं को बनाने या संशोधित करने की अनुमति देती है। इसका उपयोग अनधिकृत कतारें बनाने, मेटाडेटा को संशोधित करने, या एक्सेस कंट्रोल सूचियों (ACLs) को बदलने के लिए किया जा सकता है ताकि पहुँच को प्रदान या प्रतिबंधित किया जा सके। यह क्षमता कार्यप्रवाहों को बाधित कर सकती है, दुर्भावनापूर्ण डेटा इंजेक्ट कर सकती है, संवेदनशील जानकारी को बाहर निकाल सकती है, या आगे के हमलों को सक्षम करने के लिए कतार सेटिंग्स में हेरफेर कर सकती है।
```bash
az storage queue create --name <new-queue-name> --account-name <storage-account>

View File

@@ -7,12 +7,12 @@
अधिक जानकारी के लिए देखें:
{{#ref}}
../az-services/az-servicebus-enum.md
../az-services/az-servicebus.md
{{#endref}}
### Microsoft.ServiceBus/namespaces/authorizationrules/listKeys/action OR Microsoft.ServiceBus/namespaces/authorizationrules/regenerateKeys/action
### Microsoft.ServiceBus/namespaces/authorizationrules/listKeys/action या Microsoft.ServiceBus/namespaces/authorizationrules/regenerateKeys/action
ये अनुमतियाँ आपको एक Service Bus namespace के भीतर स्थानीय प्राधिकरण नियमों के लिए कुंजी प्राप्त करने या पुनः उत्पन्न करने की अनुमति देती हैं। इन कुंजियों का उपयोग करके Service Bus namespace के रूप में प्रमाणित होना संभव है, जिससे आप किसी भी कतार या विषय को संदेश भेज सकते हैं, किसी भी कतार या सदस्यता से संदेश प्राप्त कर सकते हैं, या संभावित रूप से सिस्टम के साथ ऐसे तरीकों से इंटरैक्ट कर सकते हैं जो संचालन को बाधित कर सकते हैं, वैध उपयोगकर्ताओं का अनुकरण कर सकते हैं, या संदेश प्रवाह में दुर्भावनापूर्ण डेटा इंजेक्ट कर सकते हैं।
ये अनुमतियाँ आपको एक Service Bus namespace के भीतर स्थानीय प्राधिकरण नियमों के लिए कुंजी प्राप्त करने या पुनः उत्पन्न करने की अनुमति देती हैं। इन कुंजियों का उपयोग करके Service Bus namespace के रूप में प्रमाणित होना संभव है, जिससे आप किसी भी कतार या विषय में संदेश भेज सकते हैं, किसी भी कतार या सदस्यता से संदेश प्राप्त कर सकते हैं, या संभावित रूप से सिस्टम के साथ ऐसे तरीकों से इंटरैक्ट कर सकते हैं जो संचालन को बाधित कर सकते हैं, वैध उपयोगकर्ताओं का अनुकरण कर सकते हैं, या संदेश प्रवाह में दुर्भावनापूर्ण डेटा इंजेक्ट कर सकते हैं।
ध्यान दें कि डिफ़ॉल्ट रूप से **`RootManageSharedAccessKey` नियम का Service Bus namespace पर पूर्ण नियंत्रण है** और इसका उपयोग `az` cli द्वारा किया जाता है, हालाँकि, अन्य कुंजी मानों के साथ अन्य नियम भी हो सकते हैं।
```bash
@@ -24,7 +24,7 @@ az servicebus namespace authorization-rule keys renew --key [PrimaryKey|Secondar
```
### Microsoft.ServiceBus/namespaces/AuthorizationRules/write
इस अनुमति के साथ, यह **एक न प्राधिकरण नियम** बनाने के लिए संभव है जिसमें सभी अनुमतियाँ और इसके अपने कुंजी शामिल हैं:
इस अनुमति के साथ, यह संभव है कि **एक नया प्राधिकरण नियम** सभी अनुमतियों और इसके अपने कुंजी के साथ बनाया जाए:
```bash
az servicebus namespace authorization-rule create --authorization-rule-name "myRule" --namespace-name mynamespacespdemo --resource-group Resource_Group_1 --rights Manage Listen Send
```
@@ -41,7 +41,7 @@ az servicebus namespace authorization-rule update \
```
### Microsoft.ServiceBus/namespaces/[queues|topics]/authorizationRules/ListKeys/action OR Microsoft.ServiceBus/namespaces/[queues|topics]/authorizationRules/regenerateKeys/action
एक Service Bus namespace के भीतर विशिष्ट विषयों और कतारों के अपने स्वयं के प्राधिकरण नियम हो सकते हैं, जिन्हें इकाई तक पहुच को नियंत्रित करने के लिए उपयोग किया जा सकता है। इन अनुमतियों के साथ, आप **इन स्थानीय प्राधिकरण नियमों के लिए कुंजी प्राप्त या पुन: उत्पन्न कर सकते हैं**, जिससे आप इकाई के रूप में प्रमाणीकरण कर सकते हैं और संभावित रूप से संदेश भेजने या प्राप्त करने, सदस्यता प्रबंधित करने, या सिस्टम के साथ ऐसे तरीकों से बातचीत कर सकते हैं जो संचालन को बाधित कर सकते हैं, वैध उपयोगकर्ताओं का अनुकरण कर सकते हैं, या संदेश प्रवाह में दुर्भावनापूर्ण डेटा इंजेक्ट कर सकते हैं।
एक Service Bus namespace के भीतर विशिष्ट विषयों और कतारों के अपने स्वयं के प्राधिकरण नियम हो सकते हैं, जिन्हें इकाई तक पहुच को नियंत्रित करने के लिए उपयोग किया जा सकता है। इन अनुमतियों के साथ, आप **इन स्थानीय प्राधिकरण नियमों के लिए कुंजी प्राप्त या पुन: उत्पन्न कर सकते हैं**, जिससे आप इकाई के रूप में प्रमाणीकरण कर सकते हैं और संभावित रूप से संदेश भेजने या प्राप्त करने, सदस्यता प्रबंधित करने, या सिस्टम के साथ ऐसे तरीकों से बातचीत कर सकते हैं जो संचालन को बाधित कर सकते हैं, वैध उपयोगकर्ताओं का अनुकरण कर सकते हैं, या संदेश प्रवाह में दुर्भावनापूर्ण डेटा इंजेक्ट कर सकते हैं।
```bash
# List keys (topics)
az servicebus topic authorization-rule keys list --resource-group <res-group> --namespace-name <namespace-name> --topic-name <topic-name> --name <auth-rule-name>
@@ -57,7 +57,7 @@ az servicebus queue authorization-rule keys renew --key [PrimaryKey|SecondaryKey
```
### Microsoft.ServiceBus/namespaces/[queues|topics]/authorizationRules/write
इस अनुमति के साथ, यह संभव है कि **एक नई प्राधिकरण नियम** सभी अनुमतियों और इसके अपन कुंजियों के साथ बनाया जाए:
इस अनुमति के साथ, यह संभव है कि **एक नई प्राधिकरण नियम** सभी अनुमतियों और अपन कुंजियों के साथ बना जाए:
```bash
# In a topic
az servicebus topic authorization-rule create --resource-group <res-group> --namespace-name <namespace-name> --topic-name <topic-name> --name <auth-rule-name> --rights Manage Listen Send
@@ -68,7 +68,7 @@ az servicebus queue authorization-rule create --resource-group <res-group> --nam
>[!WARNING]
>यह कमांड कुंजियों के साथ प्रतिक्रिया नहीं करता है, इसलिए आपको विशेषाधिकार बढ़ाने के लिए उन्हें पिछले कमांड (और अनुमतियों) के साथ प्राप्त करना होगा।
इसके अलावा, उस कमांड (और `Microsoft.ServiceBus/namespaces/[queues|topics]/authorizationRules/read`) के साथ, यदि आप Azure CLI के माध्यम से यह क्रिया करते हैं, तो एक मौजूदा प्राधिकरण नियम को अपडेट करना और से अधिक अनुमतियाँ देना संभव है (यदि इसमें कुछ की कमी थी) निम्नलिखित कमांड के साथ:
इसके अलावा, उस कमांड (और `Microsoft.ServiceBus/namespaces/[queues|topics]/authorizationRules/read`) के साथ, यदि आप Azure CLI के माध्यम से यह क्रिया करते हैं, तो एक मौजूदा प्राधिकरण नियम को अपडेट करना संभव है और से अधिक अनुमतियाँ देना (यदि यह कुछ की कमी थी) निम्नलिखित कमांड के साथ:
```bash
# In a topic
az servicebus topic authorization-rule update --resource-group <res-group> --namespace-name <namespace-name> --topic-name <topic-name> --name <auth-rule-name> --rights Manage Listen Send
@@ -82,13 +82,14 @@ az servicebus queue authorization-rule update --resource-group <res-group> --nam
```bash
az servicebus namespace update --disable-local-auth false -n <namespace-name> --resource-group <res-group>
```
### Send Messages with keys (Microsoft.ServiceBus/namespaces/authorizationRules/listkeys/action OR Microsoft.ServiceBus/namespaces/authorizationRules/regenerateKeys/action)
### Send Messages with keys (Microsoft.ServiceBus/namespaces/[queues|topics]/authorizationRules/ListKeys/action OR Microsoft.ServiceBus/namespaces/[queues|topics]/authorizationRules/regenerateKeys/action)
आप `PrimaryConnectionString` प्राप्त कर सकते हैं, जो Service Bus namespace के लिए एक क्रेडेंशियल के रूप में कार्य करता है। इस कनेक्शन स्ट्रिंग के साथ, आप Service Bus namespace के रूप में पूरी तरह से प्रमाणीकरण कर सकते हैं, जिससे आप किसी भी कतार या विषय पर संदेश भेजने में सक्षम होते हैं और संभावित रूप से सिस्टम के साथ ऐसे तरीकों से इंटरैक्ट कर सकते हैं जो संचालन को बाधित कर सकते हैं, वैध उपयोगकर्ताओं का अनुकरण कर सकते हैं, या संदेश प्रवाह में दुर्भावनापूर्ण डेटा इंजेक्ट कर सकते हैं। यह विधि काम करती है यदि `--disable-local-auth` को false पर सेट किया गया है।
आप `PrimaryConnectionString` प्राप्त कर सकते हैं, जो Service Bus namespace के लिए एक क्रेडेंशियल के रूप में कार्य करता है। इस कनेक्शन स्ट्रिंग के साथ, आप Service Bus namespace के रूप में पूरी तरह से प्रमाणीकरण कर सकते हैं, जिससे आप किसी भी कतार या विषय पर संदेश भेजने में सक्षम होते हैं और संभावित रूप से सिस्टम के साथ ऐसे तरीकों से इंटरैक्ट कर सकते हैं जो संचालन को बाधित कर सकते हैं, वैध उपयोगकर्ताओं का अनुकरण कर सकते हैं, या संदेश प्रवाह में दुर्भावनापूर्ण डेटा इंजेक्ट कर सकते हैं। यह विधि काम करती है यदि `--disable-local-auth` को false पर सेट किया गया है (तो स्थानीय प्रमाणीकरण सक्षम है)
```python
import asyncio
from azure.servicebus.aio import ServiceBusClient
from azure.servicebus import ServiceBusMessage
# pip install azure-servicebus
NAMESPACE_CONNECTION_STR = "<PrimaryConnectionString>"
TOPIC_OR_QUEUE_NAME = "<TOPIC_OR_QUEUE_NAME>"
@@ -129,12 +130,13 @@ az rest --method post \
--body "<MESSAGE_BODY>"
```
### Receive with keys (Microsoft.ServiceBus/namespaces/authorizationRules/listkeys/action OR Microsoft.ServiceBus/namespaces/authorizationRules/regenerateKeys/action)
### Receive with keys (Microsoft.ServiceBus/namespaces/[queues|topics]/authorizationRules/ListKeys/action OR Microsoft.ServiceBus/namespaces/[queues|topics]/authorizationRules/regenerateKeys/action)
आप PrimaryConnectionString प्राप्त कर सकते हैं, जो Service Bus namespace के लिए एक क्रेडेंशियल के रूप में कार्य करता है। इस कनेक्शन स्ट्रिंग का उपयोग करके, आप namespace के भीतर किसी भी कतार या सदस्यता से संदेश प्राप्त कर सकते हैं, जिससे संभावित संवेदनशील या महत्वपूर्ण डेटा तक पहुंच मिलती है, डेटा निकासी की अनुमति मिलती है, या संदेश प्रसंस्करण और अनुप्रयोग कार्यप्रवाह में हस्तक्षेप होता है। यह विधि तब काम करती है जब `--disable-local-auth` को false पर सेट किया गया हो।
आप PrimaryConnectionString प्राप्त कर सकते हैं, जो Service Bus namespace के लिए एक क्रेडेंशियल के रूप में कार्य करता है। इस कनेक्शन स्ट्रिंग का उपयोग करके, आप namespace के भीतर किसी भी queue या subscription से संदेश प्राप्त कर सकते हैं, जिससे संभावित संवेदनशील या महत्वपूर्ण डेटा तक पहुंच मिलती है, डेटा exfiltration की अनुमति मिलती है, या संदेश प्रसंस्करण और एप्लिकेशन वर्कफ़्लो में हस्तक्षेप होता है। यह विधि तब काम करती है जब `--disable-local-auth` को false पर सेट किया गया हो।
```python
import asyncio
from azure.servicebus.aio import ServiceBusClient
# pip install azure-servicebus
CONN_STR = "<PrimaryConnectionString>"
QUEUE = "<QUEUE_NAME>"
@@ -182,7 +184,7 @@ sas_token = generate_sas_token(resource_uri, "<KEYNAME>", "<PRIMARY_KEY>")
print(sas_token)
```
क्यू के लिए आप संदेश को प्राप्त कर सकते हैं या उसे देख सकते हैं (संदेश प्राप्त करने से वे हटा दिए जाएंगे, जबकि देखने से ऐसा नहीं होगा):
क्यू के लिए आप संदेश प्राप्त कर सकते हैं या उसे देख सकते हैं (संदेश प्राप्त करने से वे हटा दिए जाएंगे, जबकि देखने से ऐसा नहीं होगा):
```bash
#Get a message
az rest --method post \
@@ -224,13 +226,15 @@ import asyncio
from azure.identity.aio import DefaultAzureCredential
from azure.servicebus.aio import ServiceBusClient
from azure.servicebus import ServiceBusMessage
# pip install azure-servicebus
NS = "<namespace>.servicebus.windows.net" # Your namespace
QUEUE_OR_TOPIC = "<QUEUE_OR_TOPIC>" # Your queue name
QUEUE_OR_TOPIC = "<QUEUE_OR_TOPIC>" # Your queue name
async def run():
credential = DefaultAzureCredential()
async with ServiceBusClient(fully_qualified_namespace=NS, credential=credential) as client:
#async with client.get_topic_sender(topic_name=TOPIC) as sender: # Use this to send the message to a topic
async with client.get_queue_sender(queue_name=QUEUE) as sender:
await sender.send_messages(ServiceBusMessage("Single Message"))
print("Sent a single message")
@@ -246,6 +250,7 @@ asyncio.run(run())
import asyncio
from azure.identity.aio import DefaultAzureCredential
from azure.servicebus.aio import ServiceBusClient
# pip install azure-servicebus
NS = "<namespace>.servicebus.windows.net"
QUEUE = "<QUEUE>"

View File

@@ -4,7 +4,7 @@
## Basic Information
Azure Queue Storage एक सेवा है जो Microsoft's Azure cloud platform में संदेश कतार के लिए डिज़ाइन की गई है, **असिंक्रोनस संचार और डिकपलिंग को सक्षम बनाना**। यह आपको अनलिमिटेड संख्या में संदेशों को स्टोर करने की अनुमति देता है, प्रत्येक का आकार 64 KB तक होता है, और इसमें कतार बनाने और हटाने, संदेश जोड़ने, प्राप्त करने, अपडेट करने और हटाने, साथ ही मेटाडेटा और एक्सेस नीतियों का प्रबंधन करने जैसी ऑपरेशंस का समर्थन करता है। जबकि यह आमतौर पर पहले आ पहले जा (FIFO) तरीके से संदेशों को प्रोसेस करता है, सख्त FIFO की गारंटी नहीं है।
Azure Queue Storage एक सेवा है जो Microsoft's Azure क्लाउड प्लेटफ़ॉर्म में संदेश कतार के लिए डिज़ाइन की गई है, **असिंक्रोनस संचार और डिकपलिंग को सक्षम बनाना**। यह आपको अनलिमिटेड संख्या में संदेशों को स्टोर करने की अनुमति देता है, प्रत्येक का आकार 64 KB तक होता है, और इसमें कतारें बनाने और हटाने, संदेश जोड़ने, पुनः प्राप्त करने, अपडेट करने और हटाने, साथ ही मेटाडेटा और एक्सेस नीतियों का प्रबंधन करने जैसी ऑपरेशंस का समर्थन करता है। जबकि यह आमतौर पर संदेशों को पहले आने पहले जाने (FIFO) के तरीके से प्रोसेस करता है, सख्त FIFO की गारंटी नहीं है।
### Enumeration
@@ -70,7 +70,7 @@ $queueMessage.Value
../az-privilege-escalation/az-queue-privesc.md
{{#endref}}
### पोस्ट एक्सप्लोइटेशन
### पोस्ट शोषण
{{#ref}}
../az-post-exploitation/az-queue-post-exploitation.md

View File

@@ -4,7 +4,7 @@
## Service Bus
Azure Service Bus एक क्लाउड-आधारित **मैसेजिंग सेवा** है जिसे विभिन्न भागों के बीच विश्वसनीय **संचार सक्षम करने के लिए डिज़ाइन किया गया है या अलग-अलग अनुप्रयोगों** के बीच। यह एक सुरक्षित मध्यस्थ के रूप में कार्य करता है, यह सुनिश्चित करता है कि संदेश सुरक्षित रूप से वितरित किए जाएं, भले ही प्रेषक और प्राप्तकर्ता एक साथ काम न कर रहे हों। सिस्टम को अलग करके, यह अनुप्रयोगों को स्वतंत्र रूप से काम करने की अनुमति देता है जबकि डेटा या निर्देशों का आदान-प्रदान करते हुए। यह विशेष रूप से उन परिदृश्यों के लिए उपयोगी है जिनमें कई श्रमिकों के बीच लोड संतुलन, विश्वसनीय संदेश वितरण, या जटिल समन्वय की आवश्यकता होती है, जैसे कि कार्यों को क्रम में संसाधित करना या सुरक्षित रूप से पहुंच प्रबंधित करना।
Azure Service Bus एक क्लाउड-आधारित **मैसेजिंग सेवा** है जिसे विभिन्न भागों के बीच विश्वसनीय **संचार सक्षम करने के लिए डिज़ाइन किया गया है या अलग-अलग अनुप्रयोगों** के बीच। यह एक सुरक्षित मध्यस्थ के रूप में कार्य करता है, यह सुनिश्चित करता है कि संदेश सुरक्षित रूप से वितरित किए जाएं, भले ही प्रेषक और प्राप्तकर्ता एक साथ काम न कर रहे हों। सिस्टम को अलग करके, यह अनुप्रयोगों को स्वतंत्र रूप से काम करने की अनुमति देता है जबकि डेटा या निर्देशों का आदान-प्रदान करते हुए। यह विशेष रूप से उन परिदृश्यों के लिए उपयोगी है ज कई श्रमिकों के बीच लोड संतुलन, विश्वसनीय संदेश वितरण, या जटिल समन्वय की आवश्यकता होती है, जैसे कि कार्यों को क्रम में संसाधित करना या सुरक्षित रूप से पहुंच प्रबंधित करना।
### Key Concepts
@@ -12,14 +12,14 @@ Azure Service Bus एक क्लाउड-आधारित **मैसेज
2. **Queues:** इसका उद्देश्य संदेशों को तब तक संग्रहीत करना है जब तक प्राप्तकर्ता तैयार न हो।
- संदेश क्रमबद्ध, टाइमस्टैम्प किए गए और स्थायी रूप से संग्रहीत होते हैं।
- एक उपभोक्ता को खींचने के मोड (ऑन-डिमांड पुनर्प्राप्ति) में वितरित किया जाता है।
- इसे इस तरह से कॉन्फ़िगर किया जा सकता है कि जब संदेश साझा किया जाता है तो इसे स्वचालित रूप से हटा दिया जाता है या "पीक लॉक" मोड में जहां उपभोक्ता को यह स्वीकार करना होता है कि इसे हटाया जा सकता है। यदि नहीं, तो संदेश फिर से कतार में वापस आ जाएगा।
- इसे इस तरह से कॉन्फ़िगर किया जा सकता है कि जब संदेश साझा किया जाता है तो इसे स्वचालित रूप से हटा दिया जाता है या "पीक लॉक" मोड में जहां उपभोक्ता को यह स्वीकार करना होता है कि इसे हटा दिया जा सकता है। यदि नहीं, तो संदेश फिर से कतार में वापस आ जाएगा।
- बिंदु-से-बिंदु संचार का समर्थन करता है।
3. **Topics:** प्रसारण के लिए प्रकाशन-ग्राहक मैसेजिंग।
- कई स्वतंत्र सदस्यताएँ संदेशों की प्रतियाँ प्राप्त करती हैं।
- प्रत्येक सदस्यता विषय के भीतर एक कतार की तरह होती है।
- सदस्यताओं में वितरण को नियंत्रित करने या मेटाडेटा जोड़ने के लिए नियम/फिल्टर हो सकते हैं।
सेवा बस एंडपॉइंट/कनेक्शन स्ट्रिंग है:
The service bus endpoint/connection string is:
```bash
https://<namespace>.servicebus.windows.net:443/
```
@@ -27,20 +27,20 @@ https://<namespace>.servicebus.windows.net:443/
कुछ उन्नत विशेषताएँ हैं:
- **Message Sessions**: FIFO प्रोसेसिंग सुनिश्चित करता है और अनुरोध-प्रतिक्रिया पैटर्न का समर्थन करता है।
- **Message Sessions**: FIFO प्रोसेसिंग सुनिश्चित करता है और अनुरोध-उत्तर पैटर्न का समर्थन करता है।
- **Auto-Forwarding**: एक ही नामस्थान में कतारों या विषयों के बीच संदेशों को स्थानांतरित करता है।
- **Dead-Lettering**: समीक्षा के लिए अप्राप्य संदेशों को कैप्चर करता है।
- **Scheduled Delivery**: भविष्य के कार्यों के लिए संदेश प्रोसेसिंग में देरी करता है।
- **Message Deferral**: संदेश पुनर्प्राप्ति को तैयार होने तक स्थगित करता है।
- **Transactions**: संचालन को परमाणु निष्पादन में समूहित करता है।
- **Filters & Actions**: संदेशों को फ़िल्टर या एनोटेट करने के लिए नियम लागू करता है।
- **Auto-Delete on Idle**: निष्क्रियता के बाद कतारों को हटा देता है (न्यूनतम: 5 मिनट)।
- **Duplicate Detection**: पुनः भेजने के दौरान डुप्लिकेट संदेशों को हटा देता है।
- **Auto-Delete on Idle**: निष्क्रियता के बाद कतारों को हटाता है (न्यूनतम: 5 मिनट)।
- **Duplicate Detection**: पुनः भेजने के दौरान डुप्लिकेट संदेशों को हटाता है।
- **Batch Deletion**: समाप्त या अनावश्यक संदेशों को बल्क में हटाता है।
### Local Authentication
**`--disable-local-auth`** az cli पैरामीटर का उपयोग यह नियंत्रित करने के लिए किया जाता है कि क्या **स्थानीय प्रमाणीकरण** (Shared Access Signature (SAS) कुंजी क उपयोग करने की अनुमति) आपके Service Bus नामस्थान के लिए सक्षम है।
**`--disable-local-auth`** az cli पैरामीटर का उपयोग यह नियंत्रित करने के लिए किया जाता है कि क्या **स्थानीय प्रमाणीकरण** (Shared Access Signature (SAS) कुंजी क उपयोग की अनुमति) आपके Service Bus नामस्थान के लिए सक्षम है।
- जब disable को **true** पर सेट किया जाता है: SAS कुंजी का उपयोग करके स्थानीय प्रमाणीकरण अक्षम होता है और Entrad ID प्रमाणीकरण की अनुमति होती है।
- जब disable को **false (डिफ़ॉल्ट)** पर सेट किया जाता है: SAS स्थानीय प्रमाणीकरण और Entra ID प्रमाणीकरण दोनों उपलब्ध होते हैं और आप अपने Service Bus संसाधनों तक पहुँचने के लिए SAS कुंजी के साथ कनेक्शन स्ट्रिंग का उपयोग कर सकते हैं।
@@ -54,7 +54,7 @@ SAS नीतियाँ Azure Service Bus संस्थाओं के न
- Send: इकाई को संदेश भेजने की अनुमति देता है।
- Listen: इकाई से संदेश प्राप्त करने की अनुमति देता है।
- **Primary and Secondary Keys**: ये क्रिप्टोग्राफिक कुंजी हैं जो पहुँच को प्रमाणित करने के लिए सुरक्षित टोकन उत्पन्न करने के लिए उपयोग की जाती हैं।
- **Primary and Secondary Connection Strings**: पूर्व-कॉन्फ़िगर की गई कनेक्शन स्ट्रिंग जो एप्लिकेशन में उपयोग के लिए एंडपॉइंट और कुंजी शामिल करती है।
- **Primary and Secondary Connection Strings**: पूर्व-निर्धारित कनेक्शन स्ट्रिंग जो एप्लिकेशन में उपयोग के लिए एंडपॉइंट और कुंजी शामिल करती है
- **SAS Policy ARM ID**: प्रोग्रामेटिक पहचान के लिए नीति का Azure Resource Manager (ARM) पथ।
यह ध्यान रखना महत्वपूर्ण है कि एक नामस्थान में एकल SAS नीति होती है जो इसके भीतर हर इकाई को प्रभावित करती है, जबकि कतारें और विषय अपनी व्यक्तिगत SAS नीतियाँ रख सकते हैं ताकि अधिक सूक्ष्म नियंत्रण हो सके।
@@ -150,7 +150,7 @@ Get-AzServiceBusTopic -ResourceGroupName <ResourceGroupName> -NamespaceName <Nam
../az-privilege-escalation/az-servicebus-privesc.md
{{#endref}}
### पोस्ट एक्सप्लइटेशन
### पोस्ट एक्सप्लइटेशन
{{#ref}}
../az-post-exploitation/az-servicebus-post-exploitation.md

View File

@@ -24,7 +24,7 @@ Azure SQL में चार मुख्य पेशकशें शामि
**प्रमाणीकरण विधियाँ:**
- Microsoft **Entra-only** प्रमाणीकरण: आपको उन Entra प्रिंसिपल को इंगित करने की आवश्यकता है जिनके पास सेवा तक पहुंच होगी।
- Microsoft **Entra-only** प्रमाणीकरण: आपको उन Entra प्रिंसिपलों को इंगित करने की आवश्यकता है जिनके पास सेवा तक पहुंच होगी।
- **SQL और Microsoft Entra** दोनों प्रमाणीकरण: उपयोगकर्ता नाम और पासवर्ड के साथ पारंपरिक SQL प्रमाणीकरण Microsoft Entra के साथ।
- **केवल SQL** प्रमाणीकरण: केवल डेटाबेस उपयोगकर्ताओं के माध्यम से पहुंच की अनुमति दें।
@@ -38,7 +38,7 @@ Azure SQL में चार मुख्य पेशकशें शामि
- सिस्टम और उपयोगकर्ता प्रबंधित MIs को असाइन करना संभव है।
- एन्क्रिप्शन कुंजी (यदि CMEK का उपयोग किया जाता है) और डेटाबेस से अन्य सेवाओं तक पहुंच के लिए उपयोग किया जाता है।
- यदि एक से अधिक UMI असाइन किए जाते हैं, तो उपयोग करने के लिए डिफ़ॉल्ट एक को इंगित करना संभव है।
- यदि एक से अधिक UMI असाइन किए जाते हैं, तो उपयोग के लिए डिफ़ॉल्ट एक को इंगित करना संभव है।
- क्रॉस-टेनेंट एक्सेस के लिए एक संघीय क्लाइंट पहचान को कॉन्फ़िगर करना संभव है।
**Microsoft Defender:**
@@ -50,11 +50,11 @@ Azure SQL में चार मुख्य पेशकशें शामि
- बैकअप आवृत्ति को रिटेंशन नीतियों में प्रबंधित किया जाता है।
**हटाए गए डेटाबेस:**
- यह संभव है कि हटाए गए DBs को मौजूदा बैकअप से पुनर्स्थापित किया जा
- यह संभव है कि मौजूदा बैकअप से हटाए गए DBs को पुनर्स्थापित किया जा सके
## Azure SQL Database
**Azure SQL Database** एक **पूर्ण प्रबंधित डेटाबेस प्लेटफ़ॉर्म के रूप में सेवा (PaaS)** है जो स्केलेबल और सुरक्षित संबंधपरक डेटाबेस समाधान प्रदान करता है। यह नवीनतम SQL Server प्रौद्योगिकियों पर आधारित है और अवसंरचना प्रबंधन की आवश्यकता को समाप्त करता है, जिससे यह क्लाउड-आधारित अनुप्रयोगों के लिए एक लोकप्रिय विकल्प बनता है।
**Azure SQL Database** एक **पूर्ण प्रबंधित डेटाबेस प्लेटफ़ॉर्म के रूप में सेवा (PaaS)** है जो स्केलेबल और सुरक्षित संबंधपरक डेटाबेस समाधान प्रदान करता है। यह नवीनतम SQL Server तकनीकों पर आधारित है और अवसंरचना प्रबंधन की आवश्यकता को समाप्त करता है, जिससे यह क्लाउड-आधारित अनुप्रयोगों के लिए एक लोकप्रिय विकल्प बनता है।
SQL डेटाबेस बनाने के लिए यह आवश्यक है कि SQL सर्वर को इंगित किया जाए जहां इसे होस्ट किया जाएगा।
@@ -79,7 +79,7 @@ SQL डेटाबेस बनाने के लिए यह आवश्
**गतिशील डेटा मास्किंग** उन सभी उपयोगकर्ताओं पर प्रभाव डालती है सिवाय उन लोगों के जो अनमास्क किए गए हैं (इन उपयोगकर्ताओं को इंगित करने की आवश्यकता होती है) और व्यवस्थापकों। इसमें वह कॉन्फ़िगरेशन विकल्प है जो यह निर्दिष्ट करता है कि कौन से SQL उपयोगकर्ता गतिशील डेटा मास्किंग से छूट प्राप्त करते हैं, **व्यवस्थापकों को हमेशा बाहर रखा जाता है**
**Azure SQL पंक्ति स्तर सुरक्षा (RLS)** एक विशेषता है जो **नियंत्रित करती है कि कौन सी पंक्तियाँ एक उपयोगकर्ता देख या संशोधित कर सकता है**, यह सुनिश्चित करते हुए कि प्रत्येक उपयोगकर्ता केवल उनके लिए प्रासंगिक डेटा देखता है। फ़िल्टर या ब्लॉक प्रीडिकेट के साथ सुरक्षा नीतियाँ बनाकर, संगठन डेटाबेस स्तर पर बारीक पहुंच लागू कर सकते हैं।
**Azure SQL पंक्ति स्तर सुरक्षा (RLS)** एक विशेषता है जो **नियंत्रित करती है कि कौन सी पंक्तियाँ एक उपयोगकर्ता देख या संशोधित कर सकता है**, यह सुनिश्चित करते हुए कि प्रत्येक उपयोगकर्ता केवल उनके लिए प्रासंगिक डेटा देखता है। फ़िल्टर या ब्लॉक प्रीडिकेट के साथ सुरक्षा नीतियाँ बनाकर, संगठन डेटाबेस स्तर पर बारीक-बारीक पहुंच लागू कर सकते हैं।
### Azure SQL Managed Instance
@@ -93,9 +93,9 @@ SQL डेटाबेस बनाने के लिए यह आवश्
- इसका मतलब है कि VM कुछ VNet(s) तक पहुंच प्राप्त करेगा, इसमें **प्रबंधित पहचानें संलग्न** हो सकती हैं, फ़ाइल शेयर माउंट किए जा सकते हैं... जिससे SQL से VM में **पिवोटिंग** करना बहुत दिलचस्प हो जाता है।
- इसके अलावा, यह एक ऐप आईडी और सीक्रेट को कॉन्फ़िगर करना संभव है ताकि **SQL को एक विशिष्ट की वॉल्ट** तक पहुंचने की अनुमति दी जा सके, जिसमें संवेदनशील जानकारी हो सकती है।
यह भी संभव है कि **स्वचालित SQL अपडेट**, **स्वचालित बैकअप**, **Entra ID प्रमाणीकरण** और अन्य SQL सेवाओं की अधिकांश सुविधाओं को कॉन्फ़िगर किया जा
यह भी संभव है कि **स्वचालित SQL अपडेट**, **स्वचालित बैकअप**, **Entra ID प्रमाणीकरण** और अन्य SQL सेवाओं की अधिकांश सुविधाओं को कॉन्फ़िगर किया जा सके
## एन्यूमरेशन
## Enumeration
{{#tabs}}
{{#tab name="az cli"}}
@@ -259,7 +259,7 @@ ON sp.object_id = sp2.object_id;
```
### Connect and run SQL queries
आप एक कनेक्शन स्ट्रिंग (जिसमें क्रेडेंशियल्स होते हैं) उदाहरण [enumerating an Az WebApp](az-app-services.md) से पा सकते हैं:
आप एक कनेक्शन स्ट्रिंग (जिसमें क्रेडेंशियल्स होते हैं) पा सकते हैं उदाहरण [enumerating an Az WebApp](az-app-services.md):
```bash
function invoke-sql{
param($query)
@@ -278,27 +278,33 @@ $Connection.Close()
invoke-sql 'Select Distinct TABLE_NAME From information_schema.TABLES;'
```
आप sqlcmd का उपयोग करके डेटाबेस तक भी पहुँच सकते हैं। यह जानना महत्वपूर्ण है कि क्या सर्वर सार्वजनिक कनेक्शन की अनुमति देता है `az sql server show --name <server-name> --resource-group <resource-group>` और यह भी कि क्या फ़ायरवॉल नियम हमारे IP को पहुँचने की अनुमति देता है:
आप sqlcmd का उपयोग करके डेटाबेस तक भी पहुँच सकते हैं। यह जानना महत्वपूर्ण है कि क्या सर्वर सार्वजनिक कनेक्शनों की अनुमति देता है `az sql server show --name <server-name> --resource-group <resource-group>` और यह भी कि क्या फ़ायरवॉल नियम हमारे IP को पहुँचने की अनुमति देता है:
```bash
sqlcmd -S <sql-server>.database.windows.net -U <server-user> -P <server-passworkd> -d <database>
```
## संदर्भ
## References
- [https://learn.microsoft.com/en-us/azure/azure-sql/azure-sql-iaas-vs-paas-what-is-overview?view=azuresql](https://learn.microsoft.com/en-us/azure/azure-sql/azure-sql-iaas-vs-paas-what-is-overview?view=azuresql)
- [https://learn.microsoft.com/en-us/azure/azure-sql/database/single-database-overview?view=azuresql](https://learn.microsoft.com/en-us/azure/azure-sql/database/single-database-overview?view=azuresql)
- [https://learn.microsoft.com/en-us/azure/azure-sql/managed-instance/sql-managed-instance-paas-overview?view=azuresql](https://learn.microsoft.com/en-us/azure/azure-sql/managed-instance/sql-managed-instance-paas-overview?view=azuresql)
- [https://learn.microsoft.com/en-us/azure/azure-sql/virtual-machines/windows/sql-server-on-azure-vm-iaas-what-is-overview?view=azuresql](https://learn.microsoft.com/en-us/azure/azure-sql/virtual-machines/windows/sql-server-on-azure-vm-iaas-what-is-overview?view=azuresql)
## विशेषाधिकार वृद्धि
## Privilege Escalation
{{#ref}}
../az-privilege-escalation/az-sql-privesc.md
{{#endref}}
## पोस्ट एक्सप्लोइटेशन
## Post Exploitation
{{#ref}}
../az-post-exploitation/az-sql-post-exploitation.md
{{#endref}}
### Persistence
{{#ref}}
../az-persistence/az-sql-persistance.md
{{#endref}}
{{#include ../../../banners/hacktricks-training.md}}