Permission Groups Discovery T1069

Tactic: Discovery

Adversaries may attempt to discover group and permission settings. This information can help adversaries determine which user accounts and groups are available, the membership of users in particular groups, and which users and groups have elevated permissions.

Events covered

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

Authoring guide

Patterns shared across the 124 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 (107 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
CommandLine38contains 25, regex_match 8, in 4, match 1, wildcard 1(?i)\s+(localgroup|group(s?)\s+.*doma)|Get-AD(PrincipalGr..., group, group, oudmp , (?i)(objectcategory|trustdmp|member\s(.*)?-list)
process_name35eq 26, ends_with 3, in 3, match 3, wildcard 2powershell.exe, wmic.exe, (?i)ipconfig.exe, (?i)net1?.exe, (?i)nltest.exe
EventID23eq 234104, 4103, 4688, 1, 4799
OriginalFileName18eq 18net1.exe, net.exe, adexp, wmic.exe, adfind.exe
ScriptBlockText17contains 14, in 4, eq 2get-wmiobject, (objectcategory=group), *[adsisearcher]*, *account operators*, *dns admins*
event.type15eq 14, in 1start, process_started
Image14ends_with 12, contains 1, eq 1\adexp.exe, \adexplorer.exe, \adexplorer64.exe, /cat, \net.exe
EventType13in 6, eq 5, contains 1, ne 1exec, exec_event, ProcessRollup2, ListeningConnectionCreated, UpdateAssumeRolePolicy
process.args10eq 6, contains 3, in 3, wildcard 3, starts_with 2, ne 1-list, %appdata%, %homepath%, %localappdata%, (objectcategory=attributeschema)
host.os.type9eq 7, in 2
Type7eq 7
ObjectType5eq 4, contains 1SAM_GROUP, SAM_USER, SAM_ALIAS, {bf967a9c-0de6-11d0-a285-00aa003049e2}
Payload5contains 5-f , -pr , add-exfiltration, add-persistence, add-regbackdoor
SubjectUserName5ends_with 5$
data_stream.dataset5eq 4, in 1kubernetes.audit_logs, aws.cloudtrail, azure.activitylogs, azure.auditlogs, azure.graphactivitylogs

Top indicator values (1455 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
EventIDeq
4104
14268
EventIDeq
4103
5105
EventIDeq
4688
5313
EventIDeq
1
3237
event.typeeq
start
14606
EventTypein
exec
6171
EventTypein
exec_event
6139
EventTypein
ProcessRollup2
5117
EventTypein
executed
488
EventTypein
process_started
474
EventTypein
start
4134
OriginalFileNameeq
net1.exe
644
OriginalFileNameeq
net.exe
428
CommandLinecontains
group
57
SubjectUserNameends_with
$
53
process_nameeq
net1.exe
535
process_nameeq
powershell.exe
5104
process_nameeq
wmic.exe
447
ObjectNamestarts_with
S-1-5-21-
45
ObjectNamestarts_with
S-1-5-32-
33
event.categoryeq
process
4128
event_countgt
0
44
CommandLineregex_match
(?i)\s+(localgroup|group(s?)\s+.*doma)|Get-AD(PrincipalGroupMembership|Group)...
33
EventTypeeq
exec
3171
Imageends_with
\adexp.exe
33
Imageends_with
\adexplorer.exe
34
Imageends_with
\adexplorer64.exe
34
Imageends_with
\adexplorer64a.exe
34
ObjectNameends_with
-500
33
ObjectNameends_with
-512
33

Exclusions (177 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
SubjectUserNameends_with
$
6
user.ideq
S-1-5-18
2
user.idin
S-1-5-18
2
user.idin
S-1-5-19
2
user.idin
S-1-5-20
2
CallerProcessNameeq
-
1
CallerProcessNameeq
C:\Windows\ImmersiveControlPanel\SystemSettings.exe
1
CallerProcessNameeq
C:\Windows\SysWOW64\msiexec.exe
1
CallerProcessNameeq
C:\Windows\System32\CloudExperienceHostBroker.exe
1
CallerProcessNameeq
C:\Windows\System32\CompatTelRunner.exe
1
CallerProcessNameeq
C:\Windows\System32\Netplwiz.exe
1
CallerProcessNameeq
C:\Windows\System32\RecoveryDrive.exe
1
CallerProcessNameeq
C:\Windows\System32\RuntimeBroker.exe
1
CallerProcessNameeq
C:\Windows\System32\SearchIndexer.exe
1
CallerProcessNameeq
C:\Windows\System32\SettingSyncHost.exe
1

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 35 rules

Elastic 26 rules

Splunk 51 rules

Kusto 10 rules

YARA-L 1 rule

Panther 1 rule