Cross-source coverage
T1069.003 / ATT&CK
Permission Groups Discovery: Cloud Groups
From MITRE ATT&CK 19.2
Adversaries may attempt to find cloud groups and permission settings. The knowledge of cloud permission groups can help adversaries determine the particular roles of users and groups within an environment, as well as which users are associated with a particular group.
With authenticated access there are several tools that can be used to find permissions groups. The Get-MsolRole PowerShell cmdlet can be used to obtain roles and permissions groups for Exchange and Office 365 accounts.
Azure CLI (AZ CLI) and the Google Cloud Identity Provider API also provide interfaces to obtain permissions groups. The command az ad user get-member-groups will list groups associated to a user account for Azure while the API endpoint GET https://cloudidentity.googleapis.com/v1/groups lists group resources available to a user for Google. In AWS, the commands ListRolePolicies and ListAttachedRolePolicies allow users to enumerate the policies attached to a role.
Adversaries may attempt to list ACLs for objects to determine the owner and other accounts with access to the object, for example, via the AWS GetBucketAcl API. Using this information an adversary can target accounts with permissions to a given object or leverage accounts they have already compromised to access the object.
- Tactics
- Discovery
- Platforms
- SaaS · IaaS · Office Suite · Identity Provider
- Telemetry
-
AWS:CloudTrailm365:exchangem365:sharepointsaas:salesforce
How MITRE says to detect it DET0251
Behavioral Detection of Cloud Group Enumeration via API and CLI Access
IaaS Analytic 0695
Detects adversarial use of cloud-native APIs (e.g., AWS IAM, Azure RBAC, GCP Identity) to enumerate cloud group memberships or policy mappings via unauthorized sessions or scripts.
AWS:CloudTrailListGroups, ListAttachedRolePolicies
Office Suite Analytic 0696
Identifies unauthorized access or enumeration of administrative roles, security groups, or distribution groups via Exchange/SharePoint/Teams APIs or role discovery scripts.
m365:exchangeGet-RoleGroup, Get-DistributionGroupm365:sharepointEnumerate ACLs/role bindings
SaaS Analytic 0697
Monitors API calls and service-specific logs for enumeration of organizational roles, permissions, and group structure, particularly outside of normal admin behavior baselines.
saas:salesforceGET /services/data/vXX.X/groups
elastic/detection-rules
9 rules| Detection | Severity | Format |
|---|---|---|
| Azure AD Graph Access with Suspicious User-Agent | High | Elastic TOML |
| Azure AD Graph Potential Enumeration (ROADrecon) | High | Elastic TOML |
| Entra ID OAuth Device Code Sign-in to Azure AD Graph Enumeration | High | Elastic TOML |
| Entra ID Sign-in BloodHound Suite User-Agent Detected | High | Elastic TOML |
| Entra ID Sign-in TeamFiltration User-Agent Detected | High | Elastic TOML |
| AWS IAM Principal Enumeration via UpdateAssumeRolePolicy | Medium | Elastic TOML |
| Azure AKS Suspicious Self-Subject Review by Service Account or Node Identity | Low | Elastic TOML |
| GKE Suspicious Self-Subject Review via Service Account | Low | Elastic TOML |
| Kubernetes Suspicious Self-Subject Review via Unusual User Agent | Low | Elastic TOML |
Bert-JanP/Hunting-Queries-Detection-Rules
5 rules · 4 families| Detection | Severity | Format |
|---|---|---|
| AzureHound Detection 2 variants | Undefined | KQL |
| AzureHound Detection 2 variants | Undefined | KQL |
| Cloud Discovery Performed by User At Risk | Undefined | KQL |
| MITRE ATT&CK Mapping | Undefined | KQL |
| Operation download all users in Azure Active directory performed | Undefined | KQL |
splunk/security_content
3 rules| Detection | Severity | Format |
|---|---|---|
| ASL AWS IAM Successful Group Deletion | Undefined | SPL |
| AWS IAM Successful Group Deletion | Undefined | SPL |
| Windows Azure PowerShell Module Installation Via PowerShell Script | Undefined | SPL |
SigmaHQ/sigma
1 rule| Detection | Severity | Format |
|---|---|---|
| RBAC Permission Enumeration Attempt | Low | Sigma |