Obfuscated Files or Information: Compression T1027.015

Tactic: Stealth

Adversaries may use compression to obfuscate their payloads or files. Compressed file formats such as ZIP, gzip, 7z, and RAR can compress and archive multiple files together to make it easier and faster to transfer files. In addition to compressing files, adversaries may also compress shellcode directly - for example, in order to store it in a Windows Registry key (i.e., Fileless Storage).

Events covered

1 catalog event is tagged with this technique by at least one rule.

ProviderEventTitle
SysmonEvent ID 11FileCreate

Authoring guide

Patterns shared across the 3 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 (10 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
EventType1in 1ProcessRollup2, exec, exec_event
Image1is_not_null 1
ScriptBlockText1eq 1, in 1frombase64string, io.compression.deflatestream, io.compression.gzipstream
event.category1eq 1process
event.type1in 1change, creation
file.Ext.header_bytes1starts_with 11F8B, 1F9D, 1FA0
host.os.type1eq 1
powershell.file.script_block_entropy_bits1ge 14.5
process.args1eq 1-c, funzip, tail
process.code_signature.trusted1ne 1true

Top indicator values (48 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
EventTypein
ProcessRollup2
1117
EventTypein
exec
1171
EventTypein
exec_event
1139
EventTypein
start
1134
ScriptBlockTexteq
frombase64string
1
ScriptBlockTextin
io.compression.deflatestream
12
ScriptBlockTextin
io.compression.gzipstream
12
ScriptBlockTextin
system.io.compression.deflatestream
1
ScriptBlockTextin
system.io.compression.gzipstream
1
event.categoryeq
process
1128
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
file.Ext.header_bytesstarts_with
49536328
1
file.Ext.header_bytesstarts_with
4C5A4950
1
file.Ext.header_bytesstarts_with
4F4152
1
file.Ext.header_bytesstarts_with
50413330
1
file.Ext.header_bytesstarts_with
504B0
1
file.Ext.header_bytesstarts_with
524E4301
1
file.Ext.header_bytesstarts_with
524E4302
1

Exclusions (8 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
ParentCommandLinecontains
nessus_su
1
ParentImageeq
/sbin/dracut
1
ParentImageeq
/usr/bin/dracut
1
ParentImageeq
/usr/bin/xargs
1
parent_process_namein
sh
1
parent_process_namein
sudo
1
process.argseq
/var/log/messages
1
user.ideq
S-1-5-18
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)

Elastic 3 rules