Data Encoding: Standard Encoding T1132.001

Tactic: Command & Control

Adversaries may encode data with a standard data encoding system to make the content of command and control traffic more difficult to detect. Command and control (C2) information can be encoded using a standard data encoding system that adheres to existing protocol specifications. Common data encoding schemes include ASCII, Unicode, hexadecimal, Base64, and MIME. Some data encoding systems may also result in data compression, such as gzip.

Events covered

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

Authoring guide

Patterns shared across the 6 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
CommandLine2contains 2::decompress, frombase64string, gzipstream, h4si, memorystream
Image2contains 1, ends_with 1, is_not_null 1\dnscat2, \iodine.exe
event.type2eq 1, in 1change, creation, start
EventType1in 1ProcessRollup2, exec, exec_event
ScriptBlockText1contains 1frombase64string, h4si, memorystream
file.Ext.header_bytes1starts_with 11F8B, 1F9D, 1FA0
host.os.type1eq 1
process.code_signature.trusted1ne 1true
process_name1in 1base16, base32, base32hex

Top indicator values (55 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
CommandLinecontains
::decompress
1
CommandLinecontains
frombase64string
112
CommandLinecontains
gzipstream
1
CommandLinecontains
h4si
1
CommandLinecontains
memorystream
1
EventTypein
ProcessRollup2
1117
EventTypein
exec
1171
EventTypein
exec_event
1139
EventTypein
executed
188
EventTypein
process_started
174
EventTypein
start
1134
Imagecontains
\dnscat2
1
Imageends_with
\iodine.exe
1
ScriptBlockTextcontains
frombase64string
14
ScriptBlockTextcontains
h4si
1
ScriptBlockTextcontains
memorystream
1
event.typeeq
start
1606
event.typein
change
116
event.typein
creation
115
file.Ext.header_bytesstarts_with
1F8B
12
file.Ext.header_bytesstarts_with
1F9D
1
file.Ext.header_bytesstarts_with
1FA0
1
file.Ext.header_bytesstarts_with
28B52FFD
1
file.Ext.header_bytesstarts_with
2A2A4143452A2A
1
file.Ext.header_bytesstarts_with
2D686C302D
1
file.Ext.header_bytesstarts_with
2D686C352D
1
file.Ext.header_bytesstarts_with
303730373037
1
file.Ext.header_bytesstarts_with
377ABCAF271C
12
file.Ext.header_bytesstarts_with
425A68
1
file.Ext.header_bytesstarts_with
44434D0150413330
1

Exclusions (2 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.argsin
--help
1
process.argsin
--version
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 4 rules

Elastic 2 rules