Obfuscated Files or Information T1027

Tactic: Stealth

Adversaries may attempt to make an executable or file difficult to discover or analyze by encrypting, encoding, or otherwise obfuscating its contents on the system or in transit. This is common behavior that can be used across different platforms and the network to evade defenses.

Events covered

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

ProviderEventTitle
SysmonEvent ID 1Process creation
SysmonEvent ID 5Process terminated
SysmonEvent ID 7Image loaded
SysmonEvent ID 11FileCreate
SysmonEvent ID 13RegistryEvent (Value Set)
Security-AuditingEvent ID 4656A handle to an object was requested.
Security-AuditingEvent ID 4658The handle to an object was closed.
Security-AuditingEvent ID 4663An attempt was made to access an object.
Security-AuditingEvent ID 4688A new process has been created.
Security-AuditingEvent ID 4689A process has exited.
Security-AuditingEvent ID 4697A service was installed in the system.
Security-AuditingEvent ID 4698A scheduled task was created.
Security-AuditingEvent ID 4799A security-enabled local group membership was enumerated.
Security-AuditingEvent ID 5038Code integrity determined that the image hash of a file is not valid.
Security-AuditingEvent ID 5379Credential Manager credentials were read.
Security-AuditingEvent ID 6281Code Integrity determined that the page hashes of an image file are not valid.
Defender-DeviceEventsExploitGuardNonMicrosoftSignedBlockedExploit Guard non-Microsoft signed image (blocked)
Defender-DeviceFileEventsanyFile activity
Defender-DeviceProcessEventsanyProcess activity
ESFexecProcess Execution
ESFwriteFile Write
Linux-AuditdEvent ID 1309EXECVE
PowerShellEvent ID 4103Payload Context: ContextInfo User Data: UserData.
PowerShellEvent ID 4104Creating Scriptblock text (MessageNumber of MessageTotal).
PowerShellEvent ID 800Event ID 800
Service-Control-ManagerEvent ID 7045A service was installed in the system.
Sysmon-for-LinuxEvent ID 1Process Create
Sysmon-for-LinuxEvent ID 11File created

Authoring guide

These 282 rules share fields, values, and exclusions.

Fields filtered most (113 distinct)

These fields appear most often in rule filters.

FieldRulesHowSample values
CommandLine115contains 75, regex_match 33, wildcard 15, match 9, in 3, length_compare 3, is_not_null 2, ends_with 1, eq 1, is_null 1, (?i)(copy|more|Get-Content|type|cat|gc)\s+.*?((\/b\s+\S+\..., (?i)CreateDecryptor, -encode, -c
process_basename62eq 38, in 27, starts_with 19, wildcard 8base64, bash, base16, base32, csh
EventType56eq 42, in 10, ne 8exec, start, deletion, ProcessRollup2, exec_event
Image51ends_with 36, contains 5, starts_with 5, eq 4, is_not_null 3, is_null 2, regex_match 2, wildcard 1\powershell.exe, \pwsh.exe, \certutil.exe, , \cmd.exe
event.type47eq 46, in 1start, change, creation
EventID39eq 394688, 4104, 1, 4103, 11
process.args37eq 28, wildcard 15, in 10, starts_with 8, contains 6, ends_with 1, regex_match 1-c, *-*d*, *Base64.decode64*, *b64decode*, -base64
OriginalFileName34eq 31, in 2, contains 1, wildcard 1PowerShell.EXE, pwsh.dll, CertUtil.exe, CONHOST.EXE, CertReq.exe
ScriptBlockText28contains 16, regex_match 8, eq 5, in 4, ends_with 1, match 1&&, FromBase64String, -Value (-join(, "(\{\d\}){2,}"\s*-f, ${env:path}
TargetFilename14starts_with 5, ends_with 4, contains 3, wildcard 2, regex_match 1?:\ProgramData\*, ?:\Users\*, ?:\Windows\Tasks\*, *.exe, *\windows\registration\*
ParentImage13ends_with 4, is_not_null 4, starts_with 4, eq 3, contains 1, wildcard 1, /dev/shm/*, C:\Program Files (x86)\, C:\Program Files\, C:\ProgramData\chocolatey\choco.exe
process.args_count13eq 4, le 4, ge 3, gt 22, 1, 3, 4
ImagePath12contains 11, match 2, regex_match 1&&, /c, -f, "set, $
Payload12regex_match 7, contains 5, ends_with 1&&, (?i)&&set.*(\{\d\}){2,}\\"\s+?-f.*&&.*cmd.*/c, (?i)(set).*&&\s?set.*(environment|invoke|\$?\{?input).*&&.*", (?i)echo.*clip.*&&.*(Clipboard|i`?n`?v`?o`?k`?e`?), (window.close)
ServiceFileName12contains 11, match 1, regex_match 1&&, -f, /c, /c , /r

Top indicator values (2316 distinct)

These values appear most often in rule predicates.

FieldKindValueRules (here)Corpus reach
event.typeeq
start
451036
EventTypeeq
exec
27547
EventTypeeq
start
8388
Imageends_with
\powershell.exe
13181
Imageends_with
\pwsh.exe
12166
OriginalFileNameeq
PowerShell.EXE
13134
OriginalFileNameeq
pwsh.dll
13115
process.argseq
-c
1291
process.argseq
-e
942
process_basenamein
base64
1220
process_basenamein
bash
11181
process_basenamein
sh
11180
process_basenamein
zsh
11180
process_basenamein
csh
10148
process_basenamein
dash
10150
process_basenamein
fish
10151
process_basenamein
ksh
10149
process_basenamein
tcsh
10145
process_basenamein
base16
912
process_basenamein
base32
914
EventIDeq
4104
11269
EventIDeq
4688
10284
EventIDeq
1
9226
process_basenameeq
openssl
1124
process_basenamestarts_with
python*
1155
Provider_Nameeq
Service Control Manager
1050
CommandLinecontains
*b64decode*
99
CommandLinecontains
*base64*
918
EventTypein
exec
9180
EventTypein
start
8157

Exclusions (837 distinct)

These values appear most often in top-level exclusions.

FieldKindValueRules excluding
user.ideq
S-1-5-18
8
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
process.code_signature.trustedeq
true
3
process_basenameeq
Cmd.Exe
3
CommandLineeq
/usr/bin/perl /usr/bin/shasum -a 256
2
CurrentDirectoryeq
/home/deploy
2
CurrentDirectorystarts_with
/mnt/vstk/queue/*
2
CurrentDirectorystarts_with
/storage/*
2
CurrentDirectorystarts_with
/u/sysdat/*
2
CurrentDirectorywildcard
/opt/zeek
2
CurrentDirectorywildcard
/opt/zeek
2
CurrentDirectorywildcard
/proc/self/fd/*/usr/local/zeek
2

Rules under this technique

These vendors publish rules tagged with this technique.

Platform (all)
Domain (all)

Sigma 129 rules

Elastic 86 rules

Splunk 52 rules

Kusto 12 rules

YARA-L 2 rules

Panther 1 rule