ATT&CK coverage › Technique

Hide Artifacts: NTFS File Attributes T1564.004

Adversaries may use NTFS file attributes to hide their malicious data in order to evade detection. Every New Technology File System (NTFS) formatted partition contains a Master File Table (MFT) that maintains a record for every file/directory on the partition. Within MFT entries are file attributes, such as Extended Attributes (EA) and Data [known as Alternate Data Streams (ADSs) when more than one Data attribute is present], that can be used to store arbitrary data (and even complete files).

Events covered

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

ProviderEvent IDTitle
Sysmon1Process creation
Sysmon11FileCreate
Sysmon15FileCreateStreamHash
Security-Auditing4688A new process has been created.
Defender-DeviceProcessEvents9001000Process activity (any)
PowerShell4104Creating Scriptblock text (MessageNumber of MessageTotal).

Authoring guide

Patterns shared across the 25 rules above: which fields they filter on, what specific values they look for, and what they exclude. Field names are normalized 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 (18 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
CommandLine12match 10, regex_match 4findstr, .cab, :[^\\], certutil, regedit
Image8ends_with 8, match 2, eq 1findstr.exe, \regedit.exe, \rundll32.exe, \PrintBrm.exe, \powershell.exe
TargetFilename6match 4, regex_match 2.one:Zone, .vbs:Zone, .cmd:Zone, "(?<!\/)\b\w+(\.\w+)?:\w+(\.\w+)?$", ::$index_allocation
ParentImage4ends_with 4, eq 2\WebEx\WebexHost.exe, \thor\thor64.exe, \powershell.exe, \pwsh.exe, C:\Windows\explorer.exe
Contents4match 2, regex_match 2pixeldrain.com, paste.ee, transfer.sh, http[s]?://[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}, "(?:[A-Za-z0-9+/]{128,})(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+...
OriginalFileName3eq 3FINDSTR.EXE, RUNDLL32.EXE
Hashes2match 2IMPHASH=40445337761D80CF465136FAFB1F63E6, IMPHASH=0D1447D4B3259B3C2A1D4CFB7ECE13C3, IMPHASH=233F85F2D4BC9D6521A6CAAE11A1E7F5, IMPHASH=, IMPHASH=00000000000000000000000000000000
ScriptBlockText2match 2-stream, add-content, set-content, >, -FilePath "$env:comspec"
EventID2eq 215
FileName1eq 1certutil.exe
SHA11eq 1CertUtilPESha1, CertUtilFESha1
CleanProcessCommandLine1match 1url, verify, decode
Product1eq 1InstallShield (R)
Description1eq 1InstallShield (R) Setup Engine
Company1eq 1InstallShield Software Corporation

Top indicator values (281 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.

FieldKindValueRules (here)Corpus reach
CommandLinematch.cab35
ParentImageends_with\thor\thor64.exe33
ParentImageends_with\WebEx\WebexHost.exe33
CommandLinematchfindstr23
OriginalFileNameeqFINDSTR.EXE210
Imageends_withfindstr.exe22
CommandLineregex_match:[^\\]22
Contentsmatchpastebin.pl22
Contentsmatchtemp.sh22
TargetFilenamematch.dll:Zone23
Contentsmatchanonfiles.com22
Contentsmatchmediafire.com22
Contentsmatchpages.dev22
Contentsmatchtrycloudflare.com22
Contentsmatchglitch.me22
TargetFilenamematch.one:Zone22
TargetFilenamematch.xll:Zone23
TargetFilenamematch.vbs:Zone23
Contentsmatchhastebin.com22
Contentsmatchsendspace.com22

Common exclusions (2 distinct)

Field/operator/value combinations that rules under this technique routinely exclude (top-level not() clauses). 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.

FieldKindValueRules excluding
Contentsin"[ZoneTransfer]*"1
Contentsin"-"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.

Sigma 21 rules

Splunk 3 rules

Kusto Query Language 1 rule