System Location Discovery: System Language Discovery T1614.001

Tactic: Discovery

Adversaries may attempt to gather information about the system language of a victim in order to infer the geographical location of that host. This information may be used to shape follow-on behaviors, including whether the adversary infects the target and/or attempts specific actions. This decision may be employed by malware developers and operators to reduce their risk of attracting the attention of specific law enforcement agencies or prosecution/scrutiny from other entities.

Events covered

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

Authoring guide

Patterns shared across the 4 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 (9 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
CommandLine4match 2, contains 1, ends_with 1(?i)chcp\s+?$, chcp, chcp , chcp , control\nls\language
EventID2eq 21, 4688
Image2ends_with 2\chcp.com, \reg.exe
parent_process_name2match 2(?i)(powershell|pwsh|cmd)\.exe
process_name2match 2(?i)chcp\.com
OriginalFileName1eq 1reg.exe
ParentCommandLine1contains 1 -c , -k , -r
ParentImage1ends_with 1\cmd.exe
Type1eq 1

Top indicator values (17 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
CommandLinematch
(?i)chcp\s+?$
22
parent_process_namematch
(?i)(powershell|pwsh|cmd)\.exe
22
process_namematch
(?i)chcp\.com
22
CommandLinecontains
control\nls\language
1
CommandLinecontains
query
18
CommandLineends_with
chcp
1
CommandLineends_with
chcp
1
CommandLineends_with
chcp
1
EventIDeq
1
1237
EventIDeq
4688
1313
Imageends_with
\chcp.com
12
Imageends_with
\reg.exe
158
OriginalFileNameeq
reg.exe
142
ParentCommandLinecontains
-c
1
ParentCommandLinecontains
-k
1
ParentCommandLinecontains
-r
1
ParentImageends_with
\cmd.exe
120

Exclusions (1 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
usermatch
\$$
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 2 rules

Splunk 2 rules