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

@@ -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}}