AZ_MG_APPLICATION_READWRITE_ALL
Summary
FSProtect ACL Alias
AZ_MG_APPLICATION_READWRITE_ALL
Entra ID (Azure AD) Alias
Application.ReadWrite.All
Affected Object Types
Service Principals, Applications
Exploitation Certainty
Certain
Graph Permission / Role
Application Permission: Application.ReadWrite.All
Description
AZ_MG_APPLICATION_READWRITE_ALL represents a Microsoft Graph application permission that grants read and write access to all applications and service principals in Microsoft Entra ID (Azure AD). This is a highly dangerous permission because it allows:
Create, read, update, and delete applications (app registrations)
Create, read, update, and delete service principals
Add credentials (secrets and certificates) to any application or service principal
Modify application permissions and API permissions
Change application owners and delegation settings
Modify redirect URIs and authentication configurations
Read and modify application roles and exposed APIs
This permission is often abused for:
Privilege escalation: Adding credentials to applications with high-privilege permissions (e.g., those with Directory.ReadWrite.All)
Persistence: Creating backdoor applications with long-lived credentials
Credential theft: Adding new secrets to existing privileged service principals
OAuth abuse: Modifying redirect URIs to intercept tokens
Lateral movement: Compromising applications that have access to other Azure resources
Important: This is an application permission that requires admin consent and is granted to service principals, not individual users. Once granted, the service principal can perform these actions without additional user context.
Identification
PowerShell
Find Service Principals with Application.ReadWrite.All
Exploitation
An attacker with access to a service principal that has Application.ReadWrite.All can perform privilege escalation by adding credentials to high-privilege applications.
Mitigation
Audit all service principals with
Application.ReadWrite.Alland remove unnecessary grants.Go to Microsoft Entra ID -> App registrations -> select the application -> API permissions.
Remove the
Application.ReadWrite.Allpermission if not required.
Apply least privilege: Replace with more specific permissions where possible:
Use
Application.Read.Allif only read access is required.Use
Application.ReadWrite.OwnedByif the application only needs to manage applications it owns.
Implement Access Reviews for applications with high-privilege permissions:
Go to Identity Governance -> Access Reviews -> New access review.
Review applications with sensitive Graph permissions regularly.
Enable application credential monitoring:
Monitor for new credentials being added to applications.
Alert on certificate or secret additions to high-privilege applications.
Lock down application ownership:
Limit who can be an owner of privileged applications.
Review application owners regularly.
Use Workload Identity Federation where possible instead of secrets/certificates.
Detection
Detect permission grants and suspicious activity in Audit logs.
Go to Microsoft Entra ID -> Audit logs.
Filter by activities:
Add app role assignment to service principal
Add application
Update application - Certificates and secrets management
Add service principal credentials
Update service principal
Monitor for suspicious patterns:
New application creation by service principals (not user-initiated).
Credential additions to existing applications by service principals.
Applications with long credential expiration times (years).
Certificate additions to applications (stealthier than secrets).
Changes to application permissions or required resource access.
Modifications to redirect URIs (potential token interception).
References
Last updated
Was this helpful?