Detect HTML Smuggling in Splunk
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 that can later be constructed into file-like objects. Data may also be stored in Data URLs, enabling embedding media type or MIME files inline of HTML documents. HTML5 introduced a download attribute that may be used to initiate file downloads. Adversaries deliver payloads that bypass security controls through HTML Smuggling by abusing JavaScript Blobs and/or HTML5 download attributes. APT29 (NOBELIUM) used HTML smuggling to deliver ISO files embedded in HTML attachments (EnvyScout). QakBot was delivered in ZIP files via HTML smuggling. This technique bypasses web content filters because the HTML file itself contains only text/html MIME content.
MITRE ATT&CK
- Tactic
- Defense Evasion
- Technique
- T1027 Obfuscated Files or Information
- Sub-technique
- T1027.006 HTML Smuggling
- Canonical reference
- https://attack.mitre.org/techniques/T1027/006/
SPL Detection Query
index=wineventlog sourcetype="XmlWinEventLog:Microsoft-Windows-Sysmon/Operational" EventCode=11
(TargetFilename="*\\Downloads\\*.iso"
OR TargetFilename="*\\Downloads\\*.img"
OR TargetFilename="*\\Downloads\\*.hta"
OR TargetFilename="*\\Downloads\\*.js"
OR TargetFilename="*\\Downloads\\*.vbs"
OR TargetFilename="*\\Downloads\\*.lnk"
OR TargetFilename="*\\Temp\\*.iso"
OR TargetFilename="*\\Temp\\*.hta")
(Image="*\\msedge.exe" OR Image="*\\chrome.exe" OR Image="*\\firefox.exe"
OR Image="*\\iexplore.exe" OR Image="*\\brave.exe")
| eval IsISO=if(match(TargetFilename, "(\.iso|\.img)$"), 1, 0)
| eval IsScript=if(match(TargetFilename, "(\.hta|\.js|\.vbs|\.bat|\.lnk)$"), 1, 0)
| table _time, host, User, TargetFilename, Image, IsISO, IsScript
| sort - _time Detects ISO, IMG, HTA, JS, VBS, LNK, and BAT files being written to Downloads or Temp directories by browsers using Sysmon Event ID 11. HTML smuggling payloads are assembled and saved to disk by the browser process, making the browser the initiating process for these file creation events. ISO files are a particularly strong indicator as they were widely used in APT29's HTML smuggling campaigns.
Data Sources
Required Sourcetypes
False Positives & Tuning
- Legitimate ISO downloads from software distribution sites via browsers (Microsoft Visual Studio, Linux ISOs)
- Web-based development tools that generate and download JavaScript, batch, or VBScript files
- HTA-based configuration utilities that organizations deliver via their internal web portals
- LNK files generated by web applications for shortcut creation workflows
Other platforms for T1027.006
Testing Methodology
Validate this detection against 4 adversary techniques from Atomic Red Team. Each test below lists the behaviour to exercise and the telemetry you should expect to see. Executable commands and cleanup steps are available with Pro.
- Test 1Create HTML Smuggling Page with JavaScript Blob
Expected signal: Sysmon Event ID 11: smuggle_test.html created in %TEMP%, html_smuggled_payload.txt created in Downloads by msedge.exe. Sysmon Event ID 1: msedge.exe launched with HTML file argument. Browser file creation in Downloads directory.
- Test 2Simulate EnvyScout HTML Smuggling ISO Drop
Expected signal: Sysmon Event ID 11: envyscout_sim.html created in %TEMP%. The HTML file contains Base64-encoded data and Blob/download attribute JavaScript patterns. Opening in a browser would trigger creation of update.iso in Downloads.
- Test 3Download and Execute Payload from HTA File via Browser
Expected signal: Sysmon Event ID 11: smuggled.hta created in %TEMP%. Sysmon Event ID 1: mshta.exe launching the HTA file. The VBScript MessageBox dialog appears, confirming execution.
- Test 4Identify HTML Smuggling Pattern in HTML File
Expected signal: PowerShell process execution. ScriptBlock Log Event ID 4104 with the analysis code. Output identifies specific HTML smuggling constructs present in the file.
References (6)
- https://attack.mitre.org/techniques/T1027/006/
- https://outflank.nl/blog/2018/08/14/html-smuggling-explained/
- https://www.microsoft.com/security/blog/2021/05/27/new-sophisticated-email-based-attack-from-nobelium/
- https://www.menlosecurity.com/blog/new-attack-alert-duri
- https://www.nccgroup.com/us/research-blog/smuggling-hta-files-in-internet-exploreredge/
- https://github.com/redcanaryco/atomic-red-team/blob/master/atomics/T1027.006/T1027.006.md
Unlock Pro Content
Get the full detection package for T1027.006 including response playbook, investigation guide, and atomic red team tests.