System Information Discovery T1082

Tactic: Discovery

An adversary may attempt to get detailed information about the operating system and hardware, including version, patches, hotfixes, service packs, and architecture. Adversaries may use this information to shape follow-on behaviors, including whether or not the adversary fully infects the target and/or attempts specific actions. This behavior is distinct from Local Storage Discovery which is an adversary's discovery of local drive, disks and/or volumes.

Events covered

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

Authoring guide

Patterns shared across the 158 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 (94 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
CommandLine53contains 32, regex_match 12, ends_with 5, match 5, eq 2, in 2, is_not_null 1, wildcard 1(?i)((tracert)|(query)|(net\s+((localgroup)|(group)|(conf..., (?i)(\s+|^)(systeminfo|reg\s+query|hostname|set)(\.exe)?(\s+|$), (?i)\s(os|logicaldisk|share|cpu|memorychip|useraccount|ni..., (?i)((netstat)|(netsh)|(schtasks)|(tasklist)|(driverquery..., (?i)((whoami)|(dir)|(hostname)|(hostname)|(systeminfo)|(i...
process_name50eq 27, in 18, match 6, regex_match 4, starts_with 3, wildcard 1bash, wmic.exe, arp.exe, awk, busybox
event.type32eq 32start, change
EventType30in 15, eq 13, contains 1, wildcard 1exec, exec_event, ProcessRollup2, opened-file, start
Image30ends_with 25, starts_with 3, wildcard 3, eq 1, is_not_null 1, regex_match 1\wmic.exe, /boot/, /cat, /dev/shm/, /grep
host.os.type30eq 28, in 2
EventID26eq 264688, 1, 4104, 4103, 4799
process.args21eq 11, in 8, starts_with 7, wildcard 5, contains 3-c, */bin/*sh*, */latest/meta-data/iam/security-credentials/?*, */metadata/identity/oauth2/token*resource=*, *computeMetadata/v1/instance/service-accounts/*/oauth2/ac...
OriginalFileName19eq 18, in 1wmic.exe, cmd.exe, fsutil.exe, net.exe, net1.exe
DataSource13eq 13ABAP_DUMPS, CLOUD_FOUNDRY_LOGS, DBACOCKPIT, HANA_AUDIT_TRAIL, INTERNAL
event.category12eq 12process, file, network
parent_process_name11in 4, eq 3, regex_match 2, is_not_null 1, match 1, starts_with 1(?i)(powershell|pwsh)\.exe, bash, (?i)(powershell\.exe)|(cmd\.exe), AcroRd32.exe, Acrobat.exe
Type9eq 9
TargetFilename8eq 5, starts_with 2, wildcard 2, in 1/*/.*, /etc/machine-id, /etc/modprobe.conf, /etc/modprobe.d, /etc/modprobe.d/
RecommendationDisplayName7ne 6, eq 1Activity log should be retained for at least one year

Top indicator values (1222 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.typeeq
start
32606
EventTypein
exec
14171
EventTypein
exec_event
12139
EventTypein
start
12134
EventTypein
ProcessRollup2
9117
EventTypein
process_started
874
EventTypein
executed
788
process_nameeq
wmic.exe
1047
process_nameeq
cmd.exe
677
process_nameeq
hostname.exe
57
process_nameeq
nbtstat.exe
58
process_nameeq
net.exe
522
process_nameeq
netsh.exe
518
process_nameeq
netstat.exe
58
process_nameeq
systeminfo.exe
57
EventIDeq
4688
9313
EventIDeq
1
8237
EventIDeq
4104
8268
EventTypeeq
exec
9171
OriginalFileNameeq
wmic.exe
961
event.categoryeq
process
7128
event.categoryeq
file
531
PassedControlslt
70
55
PassedControlsPercentagelt
70
55
process_namein
bash
588
process_namein
cat
523
process_namein
dash
578
process_namein
sh
583
process_namein
zsh
582
Imageends_with
\wmic.exe
460

Exclusions (331 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
process_namestarts_with
python
3
CommandLinematch
(?i)\x5cSplunkUniversalForwarder\x5c(etc|bin)\x5c
2
CurrentDirectoryin
/opt/commvault
2
CurrentDirectoryin
/opt/msp-agent
2
Imageeq
/usr/bin/pacman
2
Imageeq
/usr/lib/dracut/dracut-install
2
Imagestarts_with
/opt/sophos-spl/plugins/av/bin/
2
ParentCommandLinecontains
ansible
2
ParentImageeq
/opt/gitlab/embedded/bin/ruby
2
ParentImagestarts_with
/var/lib/docker/
2
process_nameeq
auditbeat
2
process_nameeq
dockerd
2
process_nameeq
dpkg
2
process_namein
netstat
2
process_namein
pidof
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 34 rules

Elastic 46 rules

Splunk 42 rules

Kusto 33 rules

YARA-L 3 rules