Browser writing executable content outside its download folder
Matches the unexpected file drop leg of MITRE's AN0498 — a browser process itself creating an executable, script or shortcut file somewhere other than the user's download directory and the browser's own program and profile directories. That framing is deliberate: a rule on the browser spawning a child process would be indistinguishable from the client-exploitation rule already authored for T1203, and a write into the download folder is the user-initiated download that belongs to T1204. What remains is content the page placed on disk without a save dialog. The analytic's other legs — the suspicious fetch, the correlation window, the entropy of the payload — are a multi-source join with numeric thresholds that Sigma has no construct for. Requires Sysmon file creation logging with a configuration that does not exclude these extensions or the browsers; the widely used community configs narrow EventID 11 sharply, and a narrowed config makes this rule silent rather than clean. UNVERIFIED AS AUTHORED — derived from MITRE ATT&CK DET0176, 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.
DeviceFileEvents| where (((InitiatingProcessFolderPath endswith "\\chrome.exe" or InitiatingProcessFolderPath endswith "\\msedge.exe" or InitiatingProcessFolderPath endswith "\\firefox.exe" or InitiatingProcessFolderPath endswith "\\iexplore.exe" or InitiatingProcessFolderPath endswith "\\brave.exe" or InitiatingProcessFolderPath endswith "\\opera.exe") and (FolderPath endswith ".exe" or FolderPath endswith ".dll" or FolderPath endswith ".scr" or FolderPath endswith ".hta" or FolderPath endswith ".js" or FolderPath endswith ".jse" or FolderPath endswith ".vbs" or FolderPath endswith ".vbe" or FolderPath endswith ".wsf" or FolderPath endswith ".ps1" or FolderPath endswith ".lnk" or FolderPath endswith ".jar")) and not ((FolderPath contains "\\Downloads\\" or FolderPath contains "\\Google\\Chrome\\Application\\" or FolderPath contains "\\Google\\Chrome\\User Data\\" or FolderPath contains "\\Google\\Update\\" or FolderPath contains "\\Microsoft\\Edge\\Application\\" or FolderPath contains "\\Microsoft\\Edge\\User Data\\" or FolderPath contains "\\Microsoft\\EdgeUpdate\\" or FolderPath contains "\\Mozilla Firefox\\" or FolderPath contains "\\Mozilla\\Firefox\\Profiles\\")))
Splunk · SPL
Run this as a search.
index=* (((Image="*\\chrome.exe" OR Image="*\\msedge.exe" OR Image="*\\firefox.exe" OR Image="*\\iexplore.exe" OR Image="*\\brave.exe" OR Image="*\\opera.exe") AND (TargetFilename="*.exe" OR TargetFilename="*.dll" OR TargetFilename="*.scr" OR TargetFilename="*.hta" OR TargetFilename="*.js" OR TargetFilename="*.jse" OR TargetFilename="*.vbs" OR TargetFilename="*.vbe" OR TargetFilename="*.wsf" OR TargetFilename="*.ps1" OR TargetFilename="*.lnk" OR TargetFilename="*.jar")) AND NOT ((TargetFilename="*\\Downloads\\*" OR TargetFilename="*\\Google\\Chrome\\Application\\*" OR TargetFilename="*\\Google\\Chrome\\User Data\\*" OR TargetFilename="*\\Google\\Update\\*" OR TargetFilename="*\\Microsoft\\Edge\\Application\\*" OR TargetFilename="*\\Microsoft\\Edge\\User Data\\*" OR TargetFilename="*\\Microsoft\\EdgeUpdate\\*" OR TargetFilename="*\\Mozilla Firefox\\*" OR TargetFilename="*\\Mozilla\\Firefox\\Profiles\\*")))Elastic · ES|QL
Run this as a search.
FROM logs-*| WHERE (((TO_LOWER(process.executable) LIKE "*\\\\chrome.exe" OR TO_LOWER(process.executable) LIKE "*\\\\msedge.exe" OR TO_LOWER(process.executable) LIKE "*\\\\firefox.exe" OR TO_LOWER(process.executable) LIKE "*\\\\iexplore.exe" OR TO_LOWER(process.executable) LIKE "*\\\\brave.exe" OR TO_LOWER(process.executable) LIKE "*\\\\opera.exe") AND (TO_LOWER(file.path) LIKE "*.exe" OR TO_LOWER(file.path) LIKE "*.dll" OR TO_LOWER(file.path) LIKE "*.scr" OR TO_LOWER(file.path) LIKE "*.hta" OR TO_LOWER(file.path) LIKE "*.js" OR TO_LOWER(file.path) LIKE "*.jse" OR TO_LOWER(file.path) LIKE "*.vbs" OR TO_LOWER(file.path) LIKE "*.vbe" OR TO_LOWER(file.path) LIKE "*.wsf" OR TO_LOWER(file.path) LIKE "*.ps1" OR TO_LOWER(file.path) LIKE "*.lnk" OR TO_LOWER(file.path) LIKE "*.jar")) AND NOT ((TO_LOWER(file.path) LIKE "*\\\\downloads\\\\*" OR TO_LOWER(file.path) LIKE "*\\\\google\\\\chrome\\\\application\\\\*" OR TO_LOWER(file.path) LIKE "*\\\\google\\\\chrome\\\\user data\\\\*" OR TO_LOWER(file.path) LIKE "*\\\\google\\\\update\\\\*" OR TO_LOWER(file.path) LIKE "*\\\\microsoft\\\\edge\\\\application\\\\*" OR TO_LOWER(file.path) LIKE "*\\\\microsoft\\\\edge\\\\user data\\\\*" OR TO_LOWER(file.path) LIKE "*\\\\microsoft\\\\edgeupdate\\\\*" OR TO_LOWER(file.path) LIKE "*\\\\mozilla firefox\\\\*" OR TO_LOWER(file.path) LIKE "*\\\\mozilla\\\\firefox\\\\profiles\\\\*")))
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="7"> <!-- Set <if_sid> to the decoder/base rule for windows so this only evaluates relevant events. --> <field name="Image" type="pcre2">(?i)(\\chrome\.exe$|\\msedge\.exe$|\\firefox\.exe$|\\iexplore\.exe$|\\brave\.exe$|\\opera\.exe$)</field> <field name="TargetFilename" type="pcre2">(?i)(\.exe$|\.dll$|\.scr$|\.hta$|\.js$|\.jse$|\.vbs$|\.vbe$|\.wsf$|\.ps1$|\.lnk$|\.jar$)</field> <field name="TargetFilename" negate="yes" type="pcre2">(?i)(\\Downloads\\|\\Google\\Chrome\\Application\\|\\Google\\Chrome\\User Data\\|\\Google\\Update\\|\\Microsoft\\Edge\\Application\\|\\Microsoft\\Edge\\User Data\\|\\Microsoft\\EdgeUpdate\\|\\Mozilla Firefox\\|\\Mozilla\\Firefox\\Profiles\\)</field> <description>Browser writing executable content outside its download folder</description> <mitre> <id>T1189</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.