Detect Mark-of-the-Web Bypass in CrowdStrike LogScale
Adversaries abuse container file formats such as ISO disk images, VHD/VHDX virtual hard disks, and compressed archives (ZIP, RAR, 7z, ARJ) to deliver malicious payloads that bypass Mark-of-the-Web (MOTW) protections. When a container file is downloaded from the Internet, Windows tags it with a Zone.Identifier NTFS Alternate Data Stream (ZoneId=3), but files extracted or mounted from containers typically do not inherit this tag because MOTW is an NTFS feature and many container formats do not support NTFS ADS. This allows embedded executables, scripts, and LNK files to bypass Protected View in Microsoft Office, Windows Defender SmartScreen warnings, and other MOTW-dependent security controls. Adversaries also directly manipulate or delete the Zone.Identifier ADS from already-downloaded files (Amadey sets ZoneId=0; attackers use streams.exe or PowerShell Remove-Item -Stream). This technique has been widely adopted by TA505 (ISO/LNK chains), QakBot (ISO packaging), APT29 (ISO/VHDX embedded in HTML), and APT38 (ISO/VHD delivery).
MITRE ATT&CK
- Tactic
- Defense Evasion
- Technique
- T1553 Subvert Trust Controls
- Sub-technique
- T1553.005 Mark-of-the-Web Bypass
- Canonical reference
- https://attack.mitre.org/techniques/T1553/005/
LogScale Detection Query
// T1553.005 — MOTW Bypass Detection in CrowdStrike LogScale (Falcon telemetry)
// Branch 1: Zone.Identifier ADS deletion or write (WrittenRemotely, file stream events)
#event_simpleName = "PeFileWritten" OR #event_simpleName = "SuspiciousRawDiskRead" OR #event_simpleName = "MotwWritten"
| TargetFileName = /(?i):Zone\.Identifier$/
| eval DetectionType = "Zone_Identifier_ADS_Event"
// Branch 2: ADS Manipulation Tools — union via separate query
| union [
#event_simpleName = "ProcessRollup2"
| ImageFileName = /(?i)\\(streams|streams64)\.exe$/
OR (
ImageFileName = /(?i)\\(powershell|pwsh)\.exe$/
AND CommandLine = /(?i)Zone\.Identifier/
AND CommandLine = /(?i)(Remove-Item|-Stream|Clear-Content|Set-Content)/
)
OR (
ImageFileName = /(?i)\\cmd\.exe$/
AND CommandLine = /(?i)Zone\.Identifier/
)
| eval DetectionType = "ADS_Manipulation_Tool"
]
// Branch 3: PowerShell Disk Image Mount
| union [
#event_simpleName = "ProcessRollup2"
| ImageFileName = /(?i)\\(powershell|pwsh)\.exe$/
| CommandLine = /(?i)(Mount-DiskImage|Mount-VHD)/
OR (
CommandLine = /(?i)\.(iso|vhd|vhdx|img)/
AND CommandLine = /(?i)(mount|attach|diskpart)/
)
| eval DetectionType = "DiskImage_Mount_PowerShell"
]
// Branch 4: Execution from mounted non-system volume
| union [
#event_simpleName = "ProcessRollup2"
| ImageFileName = /^[D-Zd-z]:\\.+\.(exe|dll|lnk|js|vbs|hta|bat|cmd|ps1|msi)$/
| ParentBaseFileName = /(?i)^(explorer|cmd)\.exe$/
| ImageFileName != /(?i)(Program Files|Games|Steam|GOG|Epic)/
| eval DetectionType = "Exec_From_Mounted_Volume"
]
| table([timestamp, ComputerName, UserName, ImageFileName, CommandLine, ParentBaseFileName, TargetFileName, DetectionType])
| sort(timestamp, order=desc) Detects T1553.005 MOTW bypass in CrowdStrike Falcon using LogScale CQL. Covers Zone.Identifier file stream events (MotwWritten/PeFileWritten), ADS manipulation via streams.exe and PowerShell, PowerShell disk image mounting, and suspicious execution from non-C: drive letters initiated by explorer.exe or cmd.exe using Falcon ProcessRollup2 telemetry.
Data Sources
Required Tables
False Positives & Tuning
- Falcon sensor itself may generate MotwWritten events during legitimate file scanning or remediation activity
- Virtual machine tools such as VMware Workstation or VirtualBox mounting VHD/ISO files via PowerShell automation
- Software lifecycle management tools that unpack ISO images to secondary volumes as part of deployment pipelines
- Penetration testing or red team operations on authorized engagements — exclude known red team host CIDs
Other platforms for T1553.005
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 1Mount ISO File and Execute Payload Without MOTW
Expected signal: Sysmon Event ID 1: powershell.exe with CommandLine containing 'Mount-DiskImage' and the ISO path. System Event ID 6416 (Kernel-PnP): new virtual volume recognized. Sysmon Event ID 1: cmd.exe executing from a non-C: drive letter spawned by powershell.exe. Sysmon Event ID 11: motw-result.txt file creation in %TEMP%. Critically — no Sysmon Event ID 15 for Zone.Identifier on payload.bat inside the ISO, confirming MOTW bypass.
- Test 2Strip Zone.Identifier ADS via PowerShell Remove-Item -Stream
Expected signal: Sysmon Event ID 1: powershell.exe with CommandLine containing 'Zone.Identifier' and 'Remove-Item'. Sysmon Event ID 15 (FileCreateStreamHash): fires during the setup phase when Zone.Identifier is written to the file. DeviceFileEvents (MDE) ActionType=FileDeleted targeting the Zone.Identifier stream. Windows Security Event ID 4663 (if object access auditing enabled): DELETE access to the file's ADS.
- Test 3Modify Zone.Identifier to ZoneId=0 (Amadey Technique)
Expected signal: Sysmon Event ID 1: powershell.exe with CommandLine containing 'Zone.Identifier' and 'Set-Content'. Sysmon Event ID 15 (FileCreateStreamHash): fires twice — once for ZoneId=3 creation and once for the ZoneId=0 overwrite, producing different hash values for the stream content. DeviceFileEvents ActionType=FileModified for the test file. Key forensic indicator: Sysmon Event ID 15 with a hash value matching the ZoneId=0 template string '[ZoneTransfer]\r\nZoneId=0'.
- Test 4Delete Zone.Identifier Using Sysinternals Streams.exe
Expected signal: Sysmon Event ID 1: powershell.exe with Invoke-WebRequest downloading Streams.zip. Sysmon Event ID 3: network connection to download.sysinternals.com. Sysmon Event ID 11: Streams.zip and extracted files created in %TEMP%. Sysmon Event ID 1: streams64.exe process creation with CommandLine containing '-d' and the target file path. DeviceFileEvents: file modification event as Zone.Identifier ADS is deleted from the test file.
References (10)
- https://attack.mitre.org/techniques/T1553/005/
- https://web.archive.org/web/20201203131725/https://christiaanbeek.medium.com/investigating-the-use-of-vhd-files-by-cybercriminals-3f1f08304316
- https://outflank.nl/blog/2020/03/30/mark-of-the-web-from-a-red-teams-perspective/
- https://www.intezer.com/blog/research/russian-apt-uses-covid-19-lures-to-deliver-zebrocy/
- https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-fscc/6e3f7352-d11c-4d76-8c39-2516a9df36e8
- https://gist.github.com/wdormann/fca29e0dcda8b5c0472e73e10c78c3e7
- https://github.com/redcanaryco/atomic-red-team/blob/master/atomics/T1553.005/T1553.005.md
- https://learn.microsoft.com/en-us/windows/win32/fileio/file-streams
- https://docs.microsoft.com/en-us/sysinternals/downloads/streams
- https://github.com/SwiftOnSecurity/sysmon-config
Unlock Pro Content
Get the full detection package for T1553.005 including response playbook, investigation guide, and atomic red team tests.