Skip to content

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

Siemphony’s repertoire

Browser or mail client resolving a high-risk top-level domain

Matches the egress leg of MITRE's AN0178 chain — a user-facing application resolving a name under a top-level domain associated with throwaway registrations — rather than the click itself, which no Windows event records. The process list is MITRE's BrowserParents knob verbatim (chrome.exe, msedge.exe, firefox.exe, winword.exe, outlook.exe, teams.exe); MITRE's SuspiciousTLDs knob names .top, .xyz and .monster and the remaining entries are authored here. The lineage-, download- and follow-on-execution legs of the analytic need a multi-source correlation Sigma cannot express, and a rule on the follow-on leg would be a third copy of the Office-parent-spawns-LOLBin logic already authored for T1203 and T1204, so the DNS leg is what is written. Requires Sysmon 10 or later with DNS query logging enabled and the browsers not excluded — most shipped Sysmon configurations filter EventID 22 heavily, and a filtered config returns nothing while looking healthy. UNVERIFIED AS AUTHORED — derived from MITRE ATT&CK DET0066, not hand-written and not tested by its author. Any lab result is on this rule's own page.Full description

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

title: Browser or mail client resolving a high-risk top-level domainid: 1b9f2624-7125-412c-9ed9-0fdb283bd213status: experimentaldescription: |  Matches the egress leg of MITRE's AN0178 chain — a user-facing application  resolving a name under a top-level domain associated with throwaway  registrations — rather than the click itself, which no Windows event records.  The process list is MITRE's BrowserParents knob verbatim (chrome.exe,  msedge.exe, firefox.exe, winword.exe, outlook.exe, teams.exe); MITRE's  SuspiciousTLDs knob names .top, .xyz and .monster and the remaining entries  are authored here. The lineage-, download- and follow-on-execution legs of the  analytic need a multi-source correlation Sigma cannot express, and a rule on  the follow-on leg would be a third copy of the Office-parent-spawns-LOLBin  logic already authored for T1203 and T1204, so the DNS leg is what is written.  Requires Sysmon 10 or later with DNS query logging enabled and the browsers  not excluded — most shipped Sysmon configurations filter EventID 22 heavily,  and a filtered config returns nothing while looking healthy.  UNVERIFIED AS AUTHORED — derived from MITRE ATT&CK DET0066, not hand-written and not tested by its author. Any lab result is on this rule's own page.references:  - https://attack.mitre.org/techniques/T1204/001  - https://attack.mitre.org/detectionstrategies/DET0066author: Siemphony pipeline (machine-derived from MITRE ATT&CK v19.2)date: 2026-08-16tags:  - attack.execution  - attack.t1204.001logsource:  category: dns_query  product: windowsdetection:  selection_client:    Image|endswith:      - '\chrome.exe'      - '\msedge.exe'      - '\firefox.exe'      - '\winword.exe'      - '\outlook.exe'      - '\teams.exe'  selection_tld:    QueryName|endswith:      - '.top'      - '.xyz'      - '.monster'      - '.click'      - '.zip'      - '.mov'  condition: selection_client and selection_tldfalsepositives:  - "Ordinary browsing. Legitimate businesses register under .xyz and .top, and a single visit to one produces this event exactly as a phishing link does. This is the loudest entry by a wide margin and is why the rule is scoped to the six client processes rather than to every resolver on the host."  - "Advertising, analytics and content-delivery lookups made by pages the user did not choose to visit. A single page load fans out to dozens of third-party names, so one embedded tracker on a matching TLD attributes the query to the browser with no user action behind it. MITRE's AllowedCDNs knob is the intended suppression, populated here by the analyst with the estate's own delivery and tracking domains."  - "Link preview and safe-browsing lookups. Outlook and Teams resolve names on the user's behalf when rendering a message card, so the resolution can appear without anyone having clicked anything."  - "Short-lived vendor and campaign domains on the same TLDs, used by marketing and event sites that staff are told to visit."level: low

Splunk · SPL

Run this as a search.

index=* ((Image="*\\chrome.exe" OR Image="*\\msedge.exe" OR Image="*\\firefox.exe" OR Image="*\\winword.exe" OR Image="*\\outlook.exe" OR Image="*\\teams.exe") AND (QueryName="*.top" OR QueryName="*.xyz" OR QueryName="*.monster" OR QueryName="*.click" OR QueryName="*.zip" OR QueryName="*.mov"))

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 "*\\\\winword.exe" OR TO_LOWER(process.executable) LIKE "*\\\\outlook.exe" OR TO_LOWER(process.executable) LIKE "*\\\\teams.exe") AND (TO_LOWER(dns.question.name) LIKE "*.top" OR TO_LOWER(dns.question.name) LIKE "*.xyz" OR TO_LOWER(dns.question.name) LIKE "*.monster" OR TO_LOWER(dns.question.name) LIKE "*.click" OR TO_LOWER(dns.question.name) LIKE "*.zip" OR TO_LOWER(dns.question.name) LIKE "*.mov"))

Wazuh · XML rule

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

<group name="sigma,windows,dns_query,">  <!-- 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="Image" type="pcre2">(?i)(\\chrome\.exe$|\\msedge\.exe$|\\firefox\.exe$|\\winword\.exe$|\\outlook\.exe$|\\teams\.exe$)</field>    <field name="QueryName" type="pcre2">(?i)(\.top$|\.xyz$|\.monster$|\.click$|\.zip$|\.mov$)</field>    <description>Browser or mail client resolving a high-risk top-level domain</description>    <mitre>      <id>T1204.001</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":"dns_query","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.

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.