Skip to content

Siemphony is in beta and still being built. What ships today, and what does not.

Siemphony’s repertoire

Logon by the built-in Administrator or Guest account

Siemphony@siemphonymediumT1078.001unverified
AN1283 asks for the built-in default accounts — the technique's own text names Administrator and Guest specifically — performing "interactive or remote logons." This rule matches EventID 4624 (a completed logon), restricted to LogonType 2 (interactive), 3 (network — the ADMIN$/C$ and named-pipe path most PsExec-style tooling and remote admin actually takes) or 10 (RemoteInteractive, RDP), or EventID 4648 (a logon attempted with explicitly supplied credentials, the shape a runas, a mapped drive or a scheduled task under an alternate account takes), in both cases where TargetUserName is one of those two names. The LogonType filter applies only to the 4624 branch: 4648 has no LogonType field on the raw event at all — it records that alternate credentials were supplied, not what kind of session they were then used to open — so an earlier draft of this rule ANDed LogonType across both event IDs and silently killed the entire 4648 branch, the same trap this corpus's T1021 rule sidesteps by filtering 4648 on ProcessName instead. Batch and service logons (4, 5) are excluded from the 4624 branch on purpose: a scheduled task or a Windows service legitimately running as a local account is a configuration choice, not the "someone logged into this box as Guest" behaviour the analytic describes. MITRE's own knob concedes the largest hole in this rule before it is even deployed: "Default usernames like 'Administrator' or 'Guest' may be renamed or disabled by the organization. Detection logic should account for name changes" — a literal TargetUserName match cannot account for a rename, because at that point the account's SID is the only thing still tying it to its default-account identity, and 4624/4648 do not carry the well-known SID suffix (-500 for the built-in Administrator, -501 for Guest) in a field this pipeline can bind to; TargetSid is present on the raw event but is rendered as a full SID string with the RID at the end, which needs an endswith rather than an equality match and is not attempted here since no rule in this corpus has established that field. An estate that renames its defaults per Microsoft's own guidance is therefore invisible to this rule entirely, and a quiet result there means the mitigation worked, not that the technique failed to fire. The TimeWindow knob — restricting matches to outside installation or maintenance windows — needs a schedule baseline lib/sigma has no construct for, so every match here carries equal weight regardless of when it happened. The Linux leg, AN1284, is not attempted in this file: lib/sigma renders one logsource per rule, and 4624/4648 is the better-established of the two vocabularies in this corpus. For the record, AN1284's {product: linux, service: auditd} USER_LOGIN source is real but its SSHMethod knob — password versus key-based authentication — is not a field raw auditd's USER_LOGIN record carries; that distinction lives in a separate USER_AUTH record keyed to the PAM module that ran, which this pipeline has not established a vocabulary for. Prerequisite: 4624 and 4648 are both written by the Logon/Logoff audit category, on by default and in both the Microsoft and CIS baselines, but a host whose audit policy was rewritten can still be blind — confirm with auditpol rather than assuming. UNVERIFIED — derived from MITRE ATT&CK DET0465 and never executed against logs.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.

SecurityEvent| where (((EventID == 4624 and (LogonType == 2 or LogonType == 3 or LogonType == 10)) or EventID == 4648) and (TargetUserName =~ "Administrator" or TargetUserName =~ "Guest"))

Splunk · SPL

Run this as a search.

index=* (((EventID="4624" AND (LogonType="2" OR LogonType="3" OR LogonType="10")) OR EventID="4648") AND (TargetUserName="Administrator" OR TargetUserName="Guest"))

Elastic · ES|QL

Run this as a search.

FROM logs-*| WHERE (((event.code == 4624 AND (LogonType == 2 OR LogonType == 3 OR LogonType == 10)) OR event.code == 4648) AND (TO_LOWER(TargetUserName) == "administrator" OR TO_LOWER(TargetUserName) == "guest"))

Wazuh · XML rule

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

<group name="sigma,windows,">  <!-- Rule ids must be unique on your manager; 100000+ is the user range. -->  <!-- 2 rules: the Sigma condition ORs across different fields,       which one rule cannot express. Any one matching is a hit. -->  <rule id="100000" level="7">    <!-- Set <if_sid> to the decoder/base rule for windows so this only evaluates relevant events. -->    <field name="EventID" type="pcre2">(?i)^4624$</field>    <field name="LogonType" type="pcre2">(?i)(^2$|^3$|^10$)</field>    <field name="TargetUserName" type="pcre2">(?i)(^Administrator$|^Guest$)</field>    <description>Logon by the built-in Administrator or Guest account (1/2)</description>    <mitre>      <id>T1078.001</id>    </mitre>  </rule>   <rule id="100001" level="7">    <!-- Set <if_sid> to the decoder/base rule for windows so this only evaluates relevant events. -->    <field name="EventID" type="pcre2">(?i)^4648$</field>    <field name="TargetUserName" type="pcre2">(?i)(^Administrator$|^Guest$)</field>    <description>Logon by the built-in Administrator or Guest account (2/2)</description>    <mitre>      <id>T1078.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.