Skip to content

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

Siemphony’s repertoire

Shortcut or search-connector file dropped in a user-facing folder

AN0065 is a four-step chain — a lure is staged, a user or the shell renders it, the host authenticates outbound over SMB or WebDAV, and the attempts repeat — and only the first step has a log source in this brief, so this rule takes the staging leg and nothing else. It matches file types Explorer parses on sight rather than on open, which is what makes them useful as forced-authentication lures: a UNC reference inside the file is resolved while the folder is merely being listed, and the credential leak happens before the user has clicked anything. That also bounds what a match means. The outbound NTLM leg, and the untrusted-destination test that would make it interesting, need network telemetry the brief does not list, so a hit here is a file worth reading, not evidence that a hash left the host. The extension set is MITRE's LureExtensions knob and the path set its UserLocations knob, both populated here with authored values: .scf is the historical form of this lure and .url, .library-ms and .searchConnector-ms the ones seen more recently. Written in the Sysmon EventID 11 vocabulary, so the field is TargetFilename; the brief also maps Security EventID 4663 onto this same file_event category, but 4663 carries ObjectName and ProcessName instead, so pointing this rule at a SACL-audited 4663 feed needs a field mapping first and enabling Audit File System on its own will not make it match. EventID 11 must also not be filtered for these paths, which stock Sysmon configurations frequently do. UNVERIFIED AS AUTHORED — derived from MITRE ATT&CK DET0022, not hand-written and not tested by its author. Any lab result is on this rule's own page.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

title: Shortcut or search-connector file dropped in a user-facing folderid: 4f248e09-b311-4f6b-a239-24a79116b0b3status: experimentaldescription: |  AN0065 is a four-step chain — a lure is staged, a user or the shell renders it,  the host authenticates outbound over SMB or WebDAV, and the attempts repeat —  and only the first step has a log source in this brief, so this rule takes the  staging leg and nothing else. It matches file types Explorer parses on sight  rather than on open, which is what makes them useful as forced-authentication  lures: a UNC reference inside the file is resolved while the folder is merely  being listed, and the credential leak happens before the user has clicked  anything. That also bounds what a match means. The outbound NTLM leg, and the  untrusted-destination test that would make it interesting, need network  telemetry the brief does not list, so a hit here is a file worth reading, not  evidence that a hash left the host. The extension set is MITRE's LureExtensions  knob and the path set its UserLocations knob, both populated here with authored  values: .scf is the historical form of this lure and .url, .library-ms and  .searchConnector-ms the ones seen more recently. Written in the Sysmon  EventID 11 vocabulary, so the field is TargetFilename; the brief also maps  Security EventID 4663 onto this same file_event category, but 4663 carries  ObjectName and ProcessName instead, so pointing this rule at a SACL-audited  4663 feed needs a field mapping first and enabling Audit File System on its  own will not make it match. EventID 11 must also not be filtered for these  paths, which stock Sysmon configurations frequently do.  UNVERIFIED AS AUTHORED — derived from MITRE ATT&CK DET0022, 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/T1187  - https://attack.mitre.org/detectionstrategies/DET0022author: Siemphony pipeline (machine-derived from MITRE ATT&CK v19.2)date: 2026-08-16tags:  - attack.credential-access  - attack.t1187logsource:  category: file_event  product: windowsdetection:  selection_lure:    TargetFilename|endswith:      - '.scf'      - '.url'      - '.library-ms'      - '.searchConnector-ms'  selection_location:    TargetFilename|contains:      - '\Desktop\'      - '\Downloads\'      - '\Users\Public\'      - '\Start Menu\'      - '\Templates\'      - '\AppData\Local\Temp\'  condition: selection_lure and selection_locationfalsepositives:  - "Users dragging a hyperlink onto the Desktop or saving a link from a browser, which writes a .url file into exactly these folders under the user's own account and is the highest-volume benign match of the four extensions by a wide margin."  - "Application installers and update packages dropping a support or product .url shortcut into the Start Menu program folder or onto the Desktop, which recurs across every host in a software deployment wave."  - "Federated search and library rollouts, where a sanctioned intranet, SharePoint or file-server connector registers a .searchConnector-ms or .library-ms file under each user's profile — one legitimate change produces one match per user."  - "Archive handling, since extracting or previewing a downloaded .zip through Explorer materialises its members under AppData\\Local\\Temp and a shortcut inside an ordinary archive lands there with no user intent behind it."level: low

Sentinel · KQL

Run this as a search.

DeviceFileEvents| where ((FolderPath endswith ".scf" or FolderPath endswith ".url" or FolderPath endswith ".library-ms" or FolderPath endswith ".searchConnector-ms") and (FolderPath contains "\\Desktop\\" or FolderPath contains "\\Downloads\\" or FolderPath contains "\\Users\\Public\\" or FolderPath contains "\\Start Menu\\" or FolderPath contains "\\Templates\\" or FolderPath contains "\\AppData\\Local\\Temp\\"))

Splunk · SPL

Run this as a search.

index=* ((TargetFilename="*.scf" OR TargetFilename="*.url" OR TargetFilename="*.library-ms" OR TargetFilename="*.searchConnector-ms") AND (TargetFilename="*\\Desktop\\*" OR TargetFilename="*\\Downloads\\*" OR TargetFilename="*\\Users\\Public\\*" OR TargetFilename="*\\Start Menu\\*" OR TargetFilename="*\\Templates\\*" OR TargetFilename="*\\AppData\\Local\\Temp\\*"))

Elastic · ES|QL

Run this as a search.

FROM logs-*| WHERE ((TO_LOWER(file.path) LIKE "*.scf" OR TO_LOWER(file.path) LIKE "*.url" OR TO_LOWER(file.path) LIKE "*.library-ms" OR TO_LOWER(file.path) LIKE "*.searchconnector-ms") AND (TO_LOWER(file.path) LIKE "*\\\\desktop\\\\*" OR TO_LOWER(file.path) LIKE "*\\\\downloads\\\\*" OR TO_LOWER(file.path) LIKE "*\\\\users\\\\public\\\\*" OR TO_LOWER(file.path) LIKE "*\\\\start menu\\\\*" OR TO_LOWER(file.path) LIKE "*\\\\templates\\\\*" OR TO_LOWER(file.path) LIKE "*\\\\appdata\\\\local\\\\temp\\\\*"))

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="5">    <!-- Set <if_sid> to the decoder/base rule for windows so this only evaluates relevant events. -->    <field name="TargetFilename" type="pcre2">(?i)(\.scf$|\.url$|\.library-ms$|\.searchConnector-ms$)</field>    <field name="TargetFilename" type="pcre2">(?i)(\\Desktop\\|\\Downloads\\|\\Users\\Public\\|\\Start Menu\\|\\Templates\\|\\AppData\\Local\\Temp\\)</field>    <description>Shortcut or search-connector file dropped in a user-facing folder</description>    <mitre>      <id>T1187</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.