Obfuscated Files or Information: Encrypted/Encoded File T1027.013

Tactic: Stealth

Adversaries may encrypt or encode files to obfuscate strings, bytes, and other specific patterns to impede detection. Encrypting and/or encoding file content aims to conceal malicious artifacts within a file used in an intrusion. Many other techniques, such as Software Packing, Steganography, and Embedded Payloads, share this same broad objective. Encrypting and/or encoding files could lead to a lapse in detection of static signatures, only for this malicious content to be revealed (i.e., Deobfuscate/Decode Files or Information) at the time of execution/use.

Events covered

7 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 (11 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
EventType2in 1, ne 1ProcessRollup2, deletion, exec, exec_event
ScriptBlockText2eq 2, in 1.createdecryptor, .createencryptor, ciphermode, tvqqaamaaaaeaaaa
event.category2eq 2process
event.type2eq 2start
process_name2starts_with 2openssl, python
Details1starts_with 1TVqQAAMAAAAEAAAA
EventID1eq 111
TargetFilename1contains 1__tmp_rar_sfx_access_check
file.name1wildcard 1rot_??.cpython-*.pyc*
host.os.type1in 1
process.args1eq 1-in, -out, enc

Top indicator values (31 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.categoryeq
process
2128
event.typeeq
start
2606
Detailsstarts_with
TVqQAAMAAAAEAAAA
1
EventIDeq
11
123
EventTypein
ProcessRollup2
1117
EventTypein
exec
1171
EventTypein
exec_event
1139
EventTypein
executed
188
EventTypein
start
1134
EventTypene
deletion
111
ScriptBlockTexteq
ciphermode
1
ScriptBlockTexteq
paddingmode
1
ScriptBlockTexteq
tvqqaamaaaaeaaaa
1
ScriptBlockTextin
.createdecryptor
1
ScriptBlockTextin
.createencryptor
1
ScriptBlockTextin
cryptography.aesmanaged
1
ScriptBlockTextin
cryptography.rijndaelmanaged
1
ScriptBlockTextin
cryptography.sha1managed
1
ScriptBlockTextin
cryptography.sha256managed
1
ScriptBlockTextin
cryptography.sha384managed
1
ScriptBlockTextin
cryptography.sha512managed
1
ScriptBlockTextin
cryptography.symmetricalgorithm
1
ScriptBlockTextin
passwordderivebytes
1
ScriptBlockTextin
rfc2898derivebytes
1
TargetFilenamecontains
__tmp_rar_sfx_access_check
1
file.namewildcard
rot_??.cpython-*.pyc*
1
process.argseq
-in
1
process.argseq
-out
1
process.argseq
enc
12
process_namestarts_with
openssl
1

Exclusions (12 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
user.ideq
S-1-5-18
2
ScriptBlockTextin
function decrypt-variables
1
ScriptBlockTextin
github.com/octopusdeploy
1
file.nameeq
Bootstrap.Octopus.FunctionAppenderContext.ps1
1
process.argswildcard
*.lmstudio*
1
process.argswildcard
*compileall.py
1
process.argswildcard
*conda-script.py
1
process.argswildcard
*gcloud.py
1
process.parent.argswildcard
*.lmstudio*
1
process.parent.argswildcard
*compileall.py
1
process.parent.argswildcard
*conda-script.py
1
process.parent.argswildcard
*gcloud.py
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 5 rules

Splunk 1 rule