Process invoked with a path inside the local mail spool
Takes the Linux leg of AN0189 (DET0070) rather than the Windows or Office-app legs, because those two are already the mechanism of a published sibling: T1566.001 keys on the Outlook secure-temp cache path and T1566.003 keys on a messaging-client Image list, and both are Windows-only artefacts that a Linux host never produces; AN0191's Office-spawns-a-script-host pattern is also out of scope here, since the T1566.001 rule in this corpus already notes that pattern belongs to T1203/T1204. What is left, and what no sibling covers, is a process launched with a path under the local mail spool or a user's Maildir on its command line — evidence that something was run straight out of a delivered message rather than through a mail client's own attachment handler. `/var/spool/mail/` is added here alongside MITRE's `/var/mail` and `~/Maildir` examples because it is the RHEL-family spool location and MITRE names only the Debian-family one; that value is authored, not sourced. Mail delivery agents write to this same path on every message received, which would otherwise dominate the result set, so `filter_mda` excludes procmail, dovecot, sendmail and postfix by Image name — MITRE's `MonitoredMailPaths` knob is populated with the two directories, `AttachmentHashBaseline` has no equivalent Sigma construct and is not attempted. auditd does not record execve out of the box; without an explicit `-a always,exit -F arch=b64 -S execve` rule this rule is blind, not quiet. UNVERIFIED AS AUTHORED — derived from MITRE ATT&CK DET0070, not hand-written and not tested by its author. Any lab result is on this rule's own page.Full descriptionShow less
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.
DeviceProcessEvents| where ((ProcessCommandLine contains "/var/mail/" or ProcessCommandLine contains "/var/spool/mail/" or ProcessCommandLine contains "/Maildir/") and not ((FolderPath endswith "/procmail" or FolderPath endswith "/dovecot" or FolderPath endswith "/sendmail" or FolderPath endswith "/postfix")))
Splunk · SPL
Run this as a search.
index=* ((CommandLine="*/var/mail/*" OR CommandLine="*/var/spool/mail/*" OR CommandLine="*/Maildir/*") AND NOT ((Image="*/procmail" OR Image="*/dovecot" OR Image="*/sendmail" OR Image="*/postfix")))Elastic · ES|QL
Run this as a search.
FROM logs-*| WHERE ((TO_LOWER(process.command_line) LIKE "*/var/mail/*" OR TO_LOWER(process.command_line) LIKE "*/var/spool/mail/*" OR TO_LOWER(process.command_line) LIKE "*/maildir/*") AND NOT ((TO_LOWER(process.executable) LIKE "*/procmail" OR TO_LOWER(process.executable) LIKE "*/dovecot" OR TO_LOWER(process.executable) LIKE "*/sendmail" OR TO_LOWER(process.executable) LIKE "*/postfix")))
Wazuh · XML rule
Deploy to your manager — this is a rule, not a search.
<group name="sigma,linux,process_creation,"> <!-- Rule ids must be unique on your manager; 100000+ is the user range. --> <rule id="100000" level="7"> <!-- Set <if_sid> to the decoder/base rule for linux so this only evaluates relevant events. --> <field name="CommandLine" type="pcre2">(?i)(/var/mail/|/var/spool/mail/|/Maildir/)</field> <field name="Image" negate="yes" type="pcre2">(?i)(/procmail$|/dovecot$|/sendmail$|/postfix$)</field> <description>Process invoked with a path inside the local mail spool</description> <mitre> <id>T1566</id> </mitre> </rule></group>
Verdicts · reactions · comments
Community
Verdicts from engineers who actually deployed it, and the conversation around it.
Nobody has run this in a real environment and said what happened.
Verdicts from engineers who deployed it
0 castNo 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.