Skip to content

Siemphony is in beta and still being built. How a rule earns its badge.

Siemphony’s repertoire

High-risk attachment written to the mail client secure temp folder

Siemphony@siemphonylowT1566.001unverified
Takes the delivery leg of AN0655 rather than the execution leg: an attachment of a high-risk type materialising in the Outlook secure temporary cache, the folder the mail client writes to when a user opens an attachment straight from a message — deliberately not a parent-child process rule, because the Office-spawns-a-script-host pattern already covers T1203 and T1204 and cannot tell an emailed document from a browser download, whereas this path is written only by the mail client. The extension list is shaped by Outlook's Level 1 blocked-attachment list: Outlook never writes a .exe, .js, .lnk, .hta, .reg or (on current channels) .one into this folder at all, so those types sit in `selection_ext_blocked` and are inert unless an administrator has set Level1Remove or an Exchange policy unblocked them — the types that survive Level 1 are precisely the ones attackers moved to, and they are the live surface here. Suffix matching on a delivery artefact is a list-maintenance problem rather than a behavioural one, so any unlisted extension defeats the rule outright; the values are authored to populate MITRE's `AttachmentExtensions` knob and are not supplied by MITRE. A match is evidence of delivery, not execution — Outlook writes the cache copy when the attachment is opened or previewed, so a user who looked and closed produces the same event as one who detonated, and the alert must be pivoted to process creation before it means anything. Requires Sysmon EventID 11 with this path not excluded (stock configurations filter file-create events aggressively), and it covers classic outlook.exe only: the new Outlook client and webmail use a different cache, and an attachment saved through Save As to Downloads never touches this folder. UNVERIFIED AS AUTHORED — derived from MITRE ATT&CK DET0236, not hand-written and not tested by its author. Any lab result is on this rule's own page.Full description

The detection

The 4 SIEM queries below are previews produced by Siemphony’s own translator, not pySigma, and none has been executed against a real backend — review before you deploy.

detection.yml

Sentinel · KQL

Run this as a search.

DeviceFileEvents| where (FolderPath contains "\\Content.Outlook\\" and ((FolderPath endswith ".docm" or FolderPath endswith ".xlsm" or FolderPath endswith ".xlam" or FolderPath endswith ".xll" or FolderPath endswith ".pptm" or FolderPath endswith ".jar" or FolderPath endswith ".iso" or FolderPath endswith ".img" or FolderPath endswith ".vhd" or FolderPath endswith ".vhdx" or FolderPath endswith ".svg" or FolderPath endswith ".htm" or FolderPath endswith ".html") or (FolderPath endswith ".zip" or FolderPath endswith ".7z" or FolderPath endswith ".rar" or FolderPath endswith ".cab") or (FolderPath endswith ".exe" or FolderPath endswith ".scr" or FolderPath endswith ".pif" or FolderPath endswith ".com" or FolderPath endswith ".cmd" or FolderPath endswith ".bat" or FolderPath endswith ".ps1" or FolderPath endswith ".vbs" or FolderPath endswith ".vbe" or FolderPath endswith ".js" or FolderPath endswith ".jse" or FolderPath endswith ".wsf" or FolderPath endswith ".hta" or FolderPath endswith ".lnk" or FolderPath endswith ".chm" or FolderPath endswith ".reg" or FolderPath endswith ".one")))

Splunk · SPL

Run this as a search.

index=* (TargetFilename="*\\Content.Outlook\\*" AND ((TargetFilename="*.docm" OR TargetFilename="*.xlsm" OR TargetFilename="*.xlam" OR TargetFilename="*.xll" OR TargetFilename="*.pptm" OR TargetFilename="*.jar" OR TargetFilename="*.iso" OR TargetFilename="*.img" OR TargetFilename="*.vhd" OR TargetFilename="*.vhdx" OR TargetFilename="*.svg" OR TargetFilename="*.htm" OR TargetFilename="*.html") OR (TargetFilename="*.zip" OR TargetFilename="*.7z" OR TargetFilename="*.rar" OR TargetFilename="*.cab") OR (TargetFilename="*.exe" OR TargetFilename="*.scr" OR TargetFilename="*.pif" OR TargetFilename="*.com" OR TargetFilename="*.cmd" OR TargetFilename="*.bat" OR TargetFilename="*.ps1" OR TargetFilename="*.vbs" OR TargetFilename="*.vbe" OR TargetFilename="*.js" OR TargetFilename="*.jse" OR TargetFilename="*.wsf" OR TargetFilename="*.hta" OR TargetFilename="*.lnk" OR TargetFilename="*.chm" OR TargetFilename="*.reg" OR TargetFilename="*.one")))

Elastic · ES|QL

Run this as a search.

FROM logs-*| WHERE (TO_LOWER(file.path) LIKE "*\\\\content.outlook\\\\*" AND ((TO_LOWER(file.path) LIKE "*.docm" OR TO_LOWER(file.path) LIKE "*.xlsm" OR TO_LOWER(file.path) LIKE "*.xlam" OR TO_LOWER(file.path) LIKE "*.xll" OR TO_LOWER(file.path) LIKE "*.pptm" OR TO_LOWER(file.path) LIKE "*.jar" OR TO_LOWER(file.path) LIKE "*.iso" OR TO_LOWER(file.path) LIKE "*.img" OR TO_LOWER(file.path) LIKE "*.vhd" OR TO_LOWER(file.path) LIKE "*.vhdx" OR TO_LOWER(file.path) LIKE "*.svg" OR TO_LOWER(file.path) LIKE "*.htm" OR TO_LOWER(file.path) LIKE "*.html") OR (TO_LOWER(file.path) LIKE "*.zip" OR TO_LOWER(file.path) LIKE "*.7z" OR TO_LOWER(file.path) LIKE "*.rar" OR TO_LOWER(file.path) LIKE "*.cab") OR (TO_LOWER(file.path) LIKE "*.exe" OR TO_LOWER(file.path) LIKE "*.scr" OR TO_LOWER(file.path) LIKE "*.pif" OR TO_LOWER(file.path) LIKE "*.com" OR TO_LOWER(file.path) LIKE "*.cmd" OR TO_LOWER(file.path) LIKE "*.bat" OR TO_LOWER(file.path) LIKE "*.ps1" OR TO_LOWER(file.path) LIKE "*.vbs" OR TO_LOWER(file.path) LIKE "*.vbe" OR TO_LOWER(file.path) LIKE "*.js" OR TO_LOWER(file.path) LIKE "*.jse" OR TO_LOWER(file.path) LIKE "*.wsf" OR TO_LOWER(file.path) LIKE "*.hta" OR TO_LOWER(file.path) LIKE "*.lnk" OR TO_LOWER(file.path) LIKE "*.chm" OR TO_LOWER(file.path) LIKE "*.reg" OR TO_LOWER(file.path) LIKE "*.one")))

Wazuh · XML rule

Deploy to your manager — this is a rule, not a search.

<group name="sigma,windows,file_event,">  <!-- Rule ids must be unique on your manager; 100000+ is the user range. -->  <rule id="100000" level="5">    <!-- Set <if_sid> to the decoder/base rule for windows so this only evaluates relevant events. -->    <field name="TargetFilename" type="pcre2">(?i)\\Content\.Outlook\\</field>    <field name="TargetFilename" type="pcre2">(?i)((\.docm$|\.xlsm$|\.xlam$|\.xll$|\.pptm$|\.jar$|\.iso$|\.img$|\.vhd$|\.vhdx$|\.svg$|\.htm$|\.html$)|(\.zip$|\.7z$|\.rar$|\.cab$)|(\.exe$|\.scr$|\.pif$|\.com$|\.cmd$|\.bat$|\.ps1$|\.vbs$|\.vbe$|\.js$|\.jse$|\.wsf$|\.hta$|\.lnk$|\.chm$|\.reg$|\.one$))</field>    <description>High-risk attachment written to the mail client secure temp folder</description>    <mitre>      <id>T1566.001</id>    </mitre>  </rule></group>

Verdicts · reactions · comments

Community

Verdicts from engineers who actually deployed it, and the conversation around it.

Log in to react
Not yet reported on

Nobody has run this in a real environment and said what happened.

Verdicts from engineers who deployed it

0 cast

No verdicts reported yet. The first one is worth more than the tenth — say what you ran it against.

Log in to report a verdict.

Log in to join the discussion.

No comments yet. Someone who deploys this will have something to say about it.