ISO
IMG
MARK OF THE WEB
VIRTUAL DRIVE
DetectionBlue TeamSOCOctober 12, 2026•9 min read

Detecting ISO and IMG Container Delivery

A disk image is a box that can strip the warning label from what is inside. Defenders watch the mount, then the drive letter that appears.

Scroll

Attackers ship payloads inside ISO and IMG files because the container has historically broken mark-of-the-web propagation, so files inside could run without the usual download warning. Microsoft has tightened this across updates, but behaviour varies by build and by how the image was obtained, so assume the gap exists until you have tested your own fleet.

Signals at a Glance

SignalWhereATT&CK
ISO or IMG written to Downloads or a mail cache pathSysmon 11, EDRT1566.001
Disk image mount by a user session (double-click or Mount-DiskImage)VHDMP log, PowerShell logsT1204.002
Process image or working directory on a non-system drive letter that appeared moments earlierSysmon 1, EDRT1204.002
Files inside the image without a Zone.Identifier streamEndpoint file inspectionT1553.005
LNK inside the image launching cmd, rundll32 or powershellSysmon 1T1218.011

Mount, Then Execute

The reliable chain is: image lands, image mounts, something runs from the new volume. Correlate on the device and a short window. Execution from a drive letter that is neither the system drive nor a known removable or network mapping is the pivot:

// Defender XDR (KQL) - image dropped, then processes run from a non-system volume
let images = DeviceFileEvents
| where Timestamp > ago(7d)
| where FileName endswith ".iso" or FileName endswith ".img"
| project ImgTime=Timestamp, DeviceId, DeviceName, ImgName=FileName, ImgPath=FolderPath, SHA256,
          Origin=FileOriginUrl, Sender=InitiatingProcessFileName;
images
| join kind=inner (
    DeviceProcessEvents
    | where Timestamp > ago(7d)
    | where FolderPath !startswith "C:" and FolderPath matches regex @"^[D-Z]:"
    | where InitiatingProcessFileName in~ ("explorer.exe","cmd.exe","powershell.exe")
    | project ExecTime=Timestamp, DeviceId, FileName, FolderPath, ProcessCommandLine
) on DeviceId
| where ExecTime between (ImgTime .. ImgTime + 1h)
| project ImgTime, ExecTime, DeviceName, ImgName, Sender, Origin, FileName, FolderPath, ProcessCommandLine
// tune/validate: exclude drives your organisation maps (home, software distribution, USB policy)

Mark-of-the-Web and Prevention

Do not rely on the warning prompt alone. Detect the container, then check whether the contents carry a zone marker, and reduce the attack surface where the business allows:

title: Disk Image Created in User Download Locations
logsource:
  product: windows
  category: file_event
detection:
  selection:
    TargetFilename|contains:
      - '\Downloads\'
      - '\Content.Outlook\'
      - '\AppData\Local\Temp\'
    TargetFilename|endswith:
      - '.iso'
      - '.img'
      - '.vhd'
      - '.vhdx'
  condition: selection
level: low
# Informational on its own: use as a join source for execution and mount events.
# tune/validate: software engineers and lab users handle images routinely.
Vetted sources

Refer to Microsoft’s published guidance on mark-of-the-web and Smart App Control, SigmaHQ virtual-disk and file-event rules, and Elastic detections for execution from newly mounted volumes. Baseline your own environment — image handling by IT and developers will dominate early noise.

Build Detections That Fire

Mjolnir Security helps blue teams turn threat intelligence into high-fidelity detections across endpoint, network, identity and cloud telemetry.

Detection EngineeringManaged Detection & ResponseThreat HuntingIncident ResponsePurple Teaming
  • Detection Engineering We build and tune detections mapped to ATT&CK from your own telemetry.
  • Threat Hunting as a Service Hypothesis-driven hunts for the behaviours on this page.
  • 24/7 Incident Response Containment when a detection fires. Call +1 833 403 5875.
Written by: Mjolnir Threat Research (MTAC)  |  Published: October 12, 2026  |  Last reviewed: October 12, 2026