Detect a process opening a browser with injection access rights
Matches a process handle opened against a browser with access rights that permit writing to the target's memory or creating a thread in it — the "locates a running browser process, opens it with write/inject rights" step that precedes a browser pivot. The mask list is MITRE's AccessMaskSet knob made concrete: full access plus the read/write/operation/create-thread combinations an injector requests. Browsers opening one another are filtered out, because a Chromium browser process opens its own renderer children with full rights continuously and would otherwise be the only thing this rule ever returns. The privilege gain, module load and intranet egress that MITRE correlates around this event are separate log sources and a time window, so they are not represented here. UNVERIFIED AS AUTHORED — derived from MITRE ATT&CK DET0507, 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 3 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
Splunk · SPL
Run this as a search.
index=* (((TargetImage="*\\chrome.exe" OR TargetImage="*\\msedge.exe" OR TargetImage="*\\firefox.exe" OR TargetImage="*\\brave.exe" OR TargetImage="*\\opera.exe" OR TargetImage="*\\iexplore.exe") AND (GrantedAccess="0x1FFFFF" OR GrantedAccess="0x1F3FFF" OR GrantedAccess="0x1F1FFF" OR GrantedAccess="0x1F0FFF" OR GrantedAccess="0x147A" OR GrantedAccess="0x143A" OR GrantedAccess="0x1438" OR GrantedAccess="0x0C3A")) AND NOT ((SourceImage="*\\chrome.exe" OR SourceImage="*\\msedge.exe" OR SourceImage="*\\firefox.exe" OR SourceImage="*\\brave.exe" OR SourceImage="*\\opera.exe" OR SourceImage="*\\iexplore.exe")))Elastic · ES|QL
Run this as a search.
FROM logs-*| WHERE (((TO_LOWER(TargetImage) LIKE "*\\\\chrome.exe" OR TO_LOWER(TargetImage) LIKE "*\\\\msedge.exe" OR TO_LOWER(TargetImage) LIKE "*\\\\firefox.exe" OR TO_LOWER(TargetImage) LIKE "*\\\\brave.exe" OR TO_LOWER(TargetImage) LIKE "*\\\\opera.exe" OR TO_LOWER(TargetImage) LIKE "*\\\\iexplore.exe") AND (TO_LOWER(GrantedAccess) == "0x1fffff" OR TO_LOWER(GrantedAccess) == "0x1f3fff" OR TO_LOWER(GrantedAccess) == "0x1f1fff" OR TO_LOWER(GrantedAccess) == "0x1f0fff" OR TO_LOWER(GrantedAccess) == "0x147a" OR TO_LOWER(GrantedAccess) == "0x143a" OR TO_LOWER(GrantedAccess) == "0x1438" OR TO_LOWER(GrantedAccess) == "0x0c3a")) AND NOT ((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 "*\\\\brave.exe" OR TO_LOWER(process.executable) LIKE "*\\\\opera.exe" OR TO_LOWER(process.executable) LIKE "*\\\\iexplore.exe")))
Wazuh · XML rule
Deploy to your manager — this is a rule, not a search.
<group name="sigma,windows,process_access,"> <!-- Rule ids must be unique on your manager; 100000+ is the user range. --> <rule id="100000" level="12"> <!-- Set <if_sid> to the decoder/base rule for windows so this only evaluates relevant events. --> <field name="TargetImage" type="pcre2">(?i)(\\chrome\.exe$|\\msedge\.exe$|\\firefox\.exe$|\\brave\.exe$|\\opera\.exe$|\\iexplore\.exe$)</field> <field name="GrantedAccess" type="pcre2">(?i)(^0x1FFFFF$|^0x1F3FFF$|^0x1F1FFF$|^0x1F0FFF$|^0x147A$|^0x143A$|^0x1438$|^0x0C3A$)</field> <field name="SourceImage" negate="yes" type="pcre2">(?i)(\\chrome\.exe$|\\msedge\.exe$|\\firefox\.exe$|\\brave\.exe$|\\opera\.exe$|\\iexplore\.exe$)</field> <description>Detect a process opening a browser with injection access rights</description> <mitre> <id>T1185</id> </mitre> </rule></group>
Sentinel · KQL
Run this as a search.
Sentinel cannot express this construct. No Sentinel table is modelled for this logsource ({"category":"process_access","product":"windows"}), so there is nothing honest to query. Pick a logsource this translator maps, or write the KQL by hand. The Sigma source is on the first tab, unchanged.
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.