Valid Accounts: Cloud Accounts T1078.004

Tactics: Stealth, Persistence, Privilege Escalation, Initial Access

Valid accounts in cloud environments may allow adversaries to perform actions to achieve Initial Access, Persistence, Privilege Escalation, or Defense Evasion. Cloud accounts are those created and configured by an organization for use by users, remote support, services, or for administration of resources within a cloud service provider or SaaS application. Cloud Accounts can exist solely in the cloud; alternatively, they may be hybrid-joined between on-premises systems and the cloud through syncing or federation with other identity sources such as Windows Active Directory.

Events covered

2 catalog events are tagged with this technique by at least one rule.

Authoring guide

Patterns shared across the 290 rules above: which fields they filter on, what specific values they look for, and what they exclude. The catalog normalizes field names across vendors so Sigma's Image, Elastic's process.name, and Splunk's process_name collapse into one row. Each rule contributes at most once per row.

Fields filtered most (344 distinct)

The fields most rules look at when detecting this technique. The How column shows the operators authors use (eq, wildcard, regex_match, match) and how often each appears. Sample values are concrete examples to start from, not an exhaustive list.

FieldRulesHowSample values
data_stream.dataset85eq 81, in 4azure.signinlogs, aws.cloudtrail, okta.system, o365.audit, azure.activitylogs
EventType55eq 44, in 11, starts_with 3Sign-in activity, UserLoggedIn, AssumeRole, ConsoleLogin, AssumeRoleWithWebIdentity
event.outcome51eq 45, in 6success, Success
OperationName39eq 19, contains 17, in 5update a partner cross-tenant access setting, Add app role assignment to service principal, Add member to role, Delete user, Update user
Provider_Name30eq 29, in 1iam.amazonaws.com, sts.amazonaws.com, signin.amazonaws.com, AzureActiveDirectory, ec2.amazonaws.com
displayName23eq 22, in 2, contains 1, is_not_null 1Role.DisplayName, AppRole.Value, AppAddress, DelegatedPermissionGrant.Scope, KeyDescription
Category21eq 21RoleManagement, ApplicationManagement, UserManagement, KeyManagement, ThreatManagement
event.dataset20eq 20aws.cloudtrail, github.audit, okta.system, google_workspace.device, o365.audit
type19eq 19, in 1User, Policy, Role, ServicePrincipal
aws::eventName18eq 15, in 3ConsoleLogin, CreateAccessKey, GetCredentialsForIdentity, GetFederationToken, GetSigninToken
event.category17eq 17authentication, configuration
sourcetype16eq 16azure:monitor:aad, aws:cloudtrail, gws:reports:login, OktaIM2:log, aws:asl
EventID13eq 13UserLoggedIn, 5, 6, 72, ADD_GROUP_MEMBER
ResultType13eq 12, ne 10, 500121, 50057, 53003, 50074
aws::userIdentity.type12eq 12AssumedRole, IAMUser, Root, FederatedUser

Top indicator values (928 distinct)

Specific (field, operator, value) combinations the rules check for, ranked by how many rules under this technique use each one. The Corpus reach column counts how many rules across the entire catalog (any technique) check the same combination. High numbers point to widely-used indicators that are likely noisy on their own; combine them with another condition for useful signal. Blank means the combination is specific to rules under this technique. Click a value to expand the rules under this technique that use it.

FieldKindValueRules (here)Corpus reach
event.outcomeeq
success
45251
data_stream.dataseteq
aws.cloudtrail
23141
data_stream.dataseteq
azure.signinlogs
2230
data_stream.dataseteq
okta.system
1248
data_stream.dataseteq
o365.audit
645
data_stream.dataseteq
azure.identity_protection
55
typeeq
User
1117
typeeq
Policy
66
event.categoryeq
authentication
1031
event.categoryeq
configuration
711
Categoryeq
RoleManagement
917
Categoryeq
ApplicationManagement
712
Provider_Nameeq
iam.amazonaws.com
925
Provider_Nameeq
sts.amazonaws.com
611
Provider_Nameeq
signin.amazonaws.com
56
security_result.actioneq
ALLOW
9102
Resulteq
success
825
azure_ad::user_typeeq
Member
810
event.dataseteq
aws.cloudtrail
817
event.dataseteq
github.audit
714
Statuseq
Success
710
aws::eventSourceeq
iam.amazonaws.com
728
ResultTypeeq
0
619
aws::errorCodeeq
AccessDenied
619
event.outcomein
Success
637
event.outcomein
success
638
usernamecontains
serviceaccount
624
aws::userIdentity.typeeq
AssumedRole
512
azure_ad::app_ideq
29d9ed98-a469-4536-ade2-f981bc1d605e
57
displayNameeq
Role.DisplayName
56

Exclusions (278 distinct)

Field/operator/value combinations excluded by rules under this technique (top-level not() clauses), sorted by how many rules exclude each. These are the false-positive paths the community has learned to filter out. A new rule that ignores the high-count entries here will likely fire on the same noisy paths. Click a value to expand the rules under this technique that exclude it.

FieldKindValueRules excluding
responseStatus.codege
1
6
responseStatus.codege
400
6
responseStatus.codele
16
6
usernamein
aksService
6
usernamein
masterclient
6
usernamestarts_with
system:
6
verbne
create
5
resultSignaturene
SUCCESS
4
aws::errorCodeeq
AccessDenied
3
azure_ad::app_idin
ab9b8c07-8f02-4f72-87fa-80105867a763
3
operationNamene
Sign-in activity
3
Locationcontains
<countries you do operate out of e,g gb, use or for multiple>
2
aws::sessionCredentialFromConsoleeq
true
2
azure.identityprotection.properties.risk_statein
confirmedSafe
2
azure.identityprotection.properties.risk_statein
dismissed
2

Rules under this technique

Every rule in the catalog tagged with this technique, grouped by vendor. Click a rule title for its full predicates, exclusions, and indicators.

Platform (all)
Domain (all)

Sigma 47 rules

Elastic 119 rules

Splunk 20 rules

Kusto 58 rules

YARA-L 15 rules

Panther 31 rules