Deobfuscate/Decode Files or Information T1140

Tactic: Stealth

Adversaries may use Obfuscated Files or Information to hide artifacts of an intrusion from analysis. They may require separate mechanisms to decode or deobfuscate that information depending on how they intend to use it. Methods for doing that include built-in functionality of malware or by using utilities present on the system.

Events covered

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

Authoring guide

These 101 rules share fields, values, and exclusions.

Fields filtered most (58 distinct)

These fields appear most often in rule filters.

FieldRulesHowSample values
CommandLine40contains 29, wildcard 12, regex_match 6, ends_with 4, length_compare 3, match 3, is_not_null 2, is_null 1, starts_with 1, |sh, (?i)-decode, * --decode*, * -d*
process_basename39eq 25, in 18, starts_with 17, wildcard 5base64, bash, base16, base32, csh
EventType36eq 27, in 7, ne 3exec, ProcessRollup2, exec_event, deletion, modification
event.type36eq 36start
process.args29eq 21, in 13, wildcard 12, contains 9, starts_with 9, ends_with 1, regex_match 1-c, *-*d*, *Base64.decode64*, *b64decode*, -base64
Image13ends_with 10, starts_with 2, regex_match 1/openssl, /wget, \certutil.exe, (system32|syswow64)\\WindowsPowerShell\\v1\.0\\powershell..., /bash
Esql.script_block_pattern_count10ge 101, 2, 20, 5
Esql.script_block_length9gt 9500, 1000
ScriptBlockText8contains 4, in 3, eq 2, match 1*+*, *`*, *{0}*, .CreateDecryptor, .CreateEncryptor
ParentImage7is_not_null 5, starts_with 1, wildcard 1, /dev/shm/*, ., /boot/*, /etc/profile.d/*
EventID6eq 64688, 1
event.category6eq 6process
parent_process_basename6eq 4, in 3, starts_with 1, wildcard 1explorer.exe, *.bin, *.lua, *.pl, cmd.exe
OriginalFileName5eq 5CertUtil.exe, PowerShell.EXE, mshta.exe, pwsh.dll
file.directory5is_null 5

Top indicator values (1161 distinct)

These values appear most often in rule predicates.

FieldKindValueRules (here)Corpus reach
event.typeeq
start
361036
EventTypeeq
exec
25547
process_basenameeq
openssl
1224
process.argseq
-c
1191
process.argseq
-e
1042
process.argseq
base64
77
process.argseq
enc
711
process_basenamein
base64
1120
process_basenamein
bash
11181
process_basenamein
csh
11148
process_basenamein
dash
11150
process_basenamein
fish
11151
process_basenamein
ksh
11149
process_basenamein
sh
11180
process_basenamein
tcsh
11145
process_basenamein
zsh
11180
process_basenamein
base16
912
process_basenamein
base32
914
process_basenamein
base64mime
710
process_basenamein
base64pem
710
process_basenamein
base64plain
710
process_basenamein
base64url
710
process_basenamestarts_with
python*
1055
process_basenamestarts_with
perl*
725
process_basenamestarts_with
ruby*
726
process.argsin
-d
914
process.argsin
-base64
811
process.argsin
-t
79
process.argsin
-u
79
EventTypein
exec
7180

Exclusions (445 distinct)

These values appear most often in top-level exclusions.

FieldKindValueRules excluding
parent_process_basenamestarts_with
python*
4
ParentImagewildcard
/tmp/.mount_*/usr/share/cursor/cursor
3
parent_process_basenameeq
zsh
3
process.Ext.effective_parent.executableeq
/Library/Application...
3
user.ideq
S-1-5-18
3
CommandLineeq
/usr/bin/perl /usr/bin/shasum -a 256
2
CurrentDirectoryeq
/home/deploy
2
CurrentDirectorywildcard
/opt/zeek
2
CurrentDirectorywildcard
/proc/self/fd/*/usr/local/zeek
2
CurrentDirectorywildcard
/usr/local/zeek
2
CurrentDirectorywildcard
/usr/local/zeek_old_install
2
CurrentDirectorywildcard
/var/lib/docker/overlay2/*/opt/zeek
2
CurrentDirectorywildcard
/var/lib/docker/overlay2/*/usr/local/zeek
2
ParentCommandLinecontains
*extendedglob*
2
ParentCommandLinein
/bin/sh /var/lib/dpkg/info/nmap-common.postinst configure
2

Rules under this technique

These vendors publish rules tagged with this technique.

Platform (all)
Domain (all)

Sigma 20 rules

Elastic 61 rules

Splunk 6 rules

Kusto 13 rules

YARA-L 1 rule