Detect Cloud Account in CrowdStrike LogScale
Adversaries may create cloud accounts to maintain access to victim systems. Cloud accounts include user accounts, service principals, managed identities (Azure), IAM users and roles (AWS), and service accounts (GCP). With sufficient access, adversaries create secondary credentialed accounts that do not require persistent remote access tools. Known actors include APT29 (creating Azure AD users), LAPSUS$ (creating global admin accounts in victim cloud tenants), and the AADInternals toolkit. Cloud accounts can be scoped to specific services to reduce detection surface and are often followed by credential additions or role escalation for persistence.
MITRE ATT&CK
- Tactic
- Persistence
- Technique
- T1136 Create Account
- Sub-technique
- T1136.003 Cloud Account
- Canonical reference
- https://attack.mitre.org/techniques/T1136/003/
LogScale Detection Query
// CrowdStrike Falcon LogScale — Cloud Account Creation (T1136.003)
// Covers Azure AD, AWS IAM, and O365 audit events ingested via Falcon Horizon or third-party log connectors
#event_simpleName = "CloudAuditEvent"
| in(field="OperationName", values=["Add user", "Add service principal", "Add application", "Add service principal credentials", "CreateUser", "CreateRole", "CreateServiceLinkedRole", "CreateVirtualMFADevice", "Add user.", "New-MsolUser", "New-AzureADUser", "google.iam.admin.v1.CreateServiceAccount", "CreateServiceAccountKey"])
| SourceResultStatus != "Failed"
| SourceResultStatus != "Failure"
| case {
OperationName = "Add user" OR OperationName = "Add service principal" OR OperationName = "Add application" OR OperationName = "Add service principal credentials" | CloudPlatform := "AzureAD" ;
OperationName = "CreateUser" OR OperationName = "CreateRole" OR OperationName = "CreateServiceLinkedRole" OR OperationName = "CreateVirtualMFADevice" | CloudPlatform := "AWS" ;
OperationName = "Add user." OR OperationName = "New-MsolUser" OR OperationName = "New-AzureADUser" | CloudPlatform := "O365" ;
OperationName = "google.iam.admin.v1.CreateServiceAccount" OR OperationName = "CreateServiceAccountKey" | CloudPlatform := "GCP" ;
* | CloudPlatform := "Unknown"
}
| IsServiceAccount := if(OperationName matches "service principal|application|Role|ServiceLinked|ServiceAccount", then="true", else="false")
| SuspicionScore := 0
| SuspicionScore := SuspicionScore + if(IsServiceAccount = "true", then=1, else=0)
| SuspicionScore := SuspicionScore + if(ActorIPAddress = "" OR ActorIPAddress = null, then=1, else=0)
| SuspicionScore := SuspicionScore + if(ActorUserPrincipalName = "unknown" OR ActorUserPrincipalName = null, then=2, else=0)
| SuspicionScore := SuspicionScore + if(TargetAccountName matches "(?i)(admin|root|svc_|service_|test|tmp|temp)", then=1, else=0)
| table([timestamp, CloudPlatform, OperationName, ActorUserPrincipalName, TargetAccountName, ActorIPAddress, IsServiceAccount, SuspicionScore])
| sort(timestamp, order=desc) Detects cloud account creation events ingested into CrowdStrike Falcon LogScale from Azure AD, AWS CloudTrail, Office 365, and GCP Cloud Audit Logs. Computes a suspicion score based on account type (service vs. user), missing actor IP, unknown initiators, and suspicious naming patterns matching adversary tradecraft.
Data Sources
Required Tables
False Positives & Tuning
- Cloud infrastructure teams running Terraform or Ansible playbooks that provision IAM roles, service principals, or GCP service accounts as part of routine environment builds or updates
- Identity management platforms (e.g., Okta Workflows, Azure AD Lifecycle Workflows) automatically creating cloud accounts when new employee records are created in the HR system of record
- Security red team or penetration testing exercises where authorized testers create cloud accounts as part of an approved attack simulation scoped to the production or staging cloud environment
Other platforms for T1136.003
Testing Methodology
Validate this detection against 4 adversary techniques from Atomic Red Team. Each test below lists the behaviour to exercise and the telemetry you should expect to see. Executable commands and cleanup steps are available with Pro.
- Test 1Create Azure AD User via Azure CLI
Expected signal: Azure AD AuditLogs: OperationName='Add user', Result='success', InitiatedBy.user.userPrincipalName=<your admin UPN>, TargetResources[0].displayName='df00tech-test-user'. The event appears within 1-2 minutes of execution.
- Test 2Create Azure Service Principal via PowerShell (AADInternals Pattern)
Expected signal: Azure AD AuditLogs: two sequential events — OperationName='Add application' followed within seconds by OperationName='Add service principal', then OperationName='Add service principal credentials'. All three events share the same CorrelationId or occur within the same 1-minute window from the same InitiatedBy UPN.
- Test 3Create AWS IAM User with Access Keys
Expected signal: AWS CloudTrail: CreateUser event with requestParameters.userName='df00tech-atomic-test-user' and responseElements.user.arn containing the new user ARN. Followed within seconds by CreateAccessKey event with the same userName. Both events share the sourceIPAddress of the calling machine and the userIdentity.arn of the executing role.
- Test 4Create Azure AD User via AADInternals PowerShell Module
Expected signal: Azure AD AuditLogs: OperationName='Add user', Result='success'. The InitiatedBy field will show the authenticated user's UPN (not an application identity, since AADInternals authenticates as the user). Sysmon Event ID 1 on the Windows host: Process Create for powershell.exe with CommandLine containing 'AADInternals' and 'New-AADIntUser'. PowerShell ScriptBlock Log Event ID 4104 captures the full command including credentials (monitor for this in SIEM).
References (10)
- https://attack.mitre.org/techniques/T1136/003/
- https://docs.microsoft.com/en-us/office365/admin/add-users/about-admin-roles?view=o365-worldwide
- https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_create.html
- https://support.google.com/cloudidentity/answer/7332836?hl=en&ref_topic=7558554
- https://docs.microsoft.com/en-us/azure/active-directory/fundamentals/add-users-azure-active-directory
- https://learn.microsoft.com/en-us/entra/identity-platform/app-objects-and-service-principals?tabs=browser
- https://www.microsoft.com/en-us/security/blog/2021/10/25/nobelium-targeting-delegated-administrative-privileges-to-facilitate-broader-attacks/
- https://www.microsoft.com/en-us/security/blog/2022/03/22/dev-0537-criminal-actor-targeting-organizations-for-data-exfiltration-and-destruction/
- https://aadinternals.com/aadinternals/
- https://github.com/redcanaryco/atomic-red-team/blob/master/atomics/T1136.003/T1136.003.md
Unlock Pro Content
Get the full detection package for T1136.003 including response playbook, investigation guide, and atomic red team tests.