Obfuscated Files or Information: HTML Smuggling T1027.006

Tactic: Stealth

Adversaries may smuggle data and files past content filters by hiding malicious payloads inside of seemingly benign HTML files. HTML documents can store large binary objects known as JavaScript Blobs (immutable data that represents raw bytes) that can later be constructed into file-like objects. Data may also be stored in Data URLs, which enable embedding media type or MIME files inline of HTML documents. HTML5 also introduced a download attribute that may be used to initiate file downloads.

Events covered

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

Authoring guide

Patterns shared across the 1 rule 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 (8 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
EventType1eq 1, in 1creation, rename, start
TargetFilename1wildcard 1?:\users\*\appdata\local\temp\7z*, ?:\users\*\appdata\local\temp\rar$*, ?:\users\*\appdata\local\temp\temp?_*
file.Ext.entropy1ge 15
file.extension1eq 1htm, html
file.size1ge 11000000, 150000
process.args1eq 1, wildcard 1--single-argument, -url, ?:\Users\*\AppData\Local\Temp\7z*.htm*
process.args_count1eq 12
process_name1eq 1, in 1brave.exe, browser.exe, chrome.exe

Top indicator values (32 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
EventTypeeq
start
116
EventTypein
creation
123
EventTypein
rename
118
TargetFilenamewildcard
?:\users\*\appdata\local\temp\7z*
1
TargetFilenamewildcard
?:\users\*\appdata\local\temp\rar$*
1
TargetFilenamewildcard
?:\users\*\appdata\local\temp\temp?_*
1
TargetFilenamewildcard
?:\users\*\content.outlook\*
1
TargetFilenamewildcard
?:\users\*\downloads\*
1
file.Ext.entropyge
5
1
file.extensioneq
htm
1
file.extensioneq
html
12
file.sizege
1000000
1
file.sizege
150000
1
process.argseq
--single-argument
1
process.argseq
-url
12
process.argswildcard
?:\Users\*\AppData\Local\Temp\7z*.htm*
1
process.argswildcard
?:\Users\*\AppData\Local\Temp\Rar$*.htm*
1
process.argswildcard
?:\Users\*\AppData\Local\Temp\Temp?_*.htm*
1
process.argswildcard
?:\Users\*\Content.Outlook\*.htm*
1
process.argswildcard
?:\Users\*\Downloads\*.htm*
1
process.args_counteq
2
19
process_nameeq
iexplore.exe
14
process_namein
brave.exe
110
process_namein
browser.exe
1
process_namein
chrome.exe
112
process_namein
dragon.exe
1
process_namein
firefox.exe
13
process_namein
msedge.exe
111
process_namein
opera.exe
19
process_namein
vivaldi.exe
19

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 1 rule