← Back to SOC feed Coverage →

Windows Binaries Write Suspicious Extensions

sigma HIGH SigmaHQ
T1036
imFileEvent
This rule was pulled from an open-source repository and enriched with AI. Validate in a test environment before deploying to production.
View original rule at SigmaHQ →
Retrieved: 2026-03-25T03:05:59Z · Confidence: medium

Hunt Hypothesis

Adversaries may use Windows binaries to write files with suspicious extensions to exfiltrate data or deploy malicious payloads. SOC teams should proactively hunt for this behavior in Azure Sentinel to identify potential command and control or persistence mechanisms early.

Detection Rule

Sigma (Original)

title: Windows Binaries Write Suspicious Extensions
id: b8fd0e93-ff58-4cbd-8f48-1c114e342e62
related:
    - id: 1277f594-a7d1-4f28-a2d3-73af5cbeab43
      type: derived
status: test
description: Detects Windows executables that write files with suspicious extensions
references:
    - Internal Research
author: Nasreddine Bencherchali (Nextron Systems)
date: 2022-08-12
modified: 2025-10-07
tags:
    - attack.defense-evasion
    - attack.t1036
logsource:
    category: file_event
    product: windows
detection:
    selection_generic:
        Image|endswith:
            - '\csrss.exe'
            - '\lsass.exe'
            - '\RuntimeBroker.exe'
            - '\sihost.exe'
            - '\smss.exe'
            - '\wininit.exe'
            - '\winlogon.exe'
        TargetFilename|endswith:
            - '.bat'
            - '.dll'
            - '.exe'
            - '.hta'
            - '.iso'
            - '.ps1'
            - '.txt'
            - '.vbe'
            - '.vbs'
    selection_special:
        Image|endswith:
            - '\dllhost.exe'
            - '\rundll32.exe'
            - '\svchost.exe'
        TargetFilename|endswith:
            - '.bat'
            - '.hta'
            - '.iso'
            - '.ps1'
            - '.vbe'
            - '.vbs'
    filter_main_AppLockerPolicyTest:
        Image: 'C:\Windows\System32\dllhost.exe'
        TargetFilename|contains|all:
            - ':\Users\'
            - '\AppData\Local\Temp\__PSScriptPolicyTest_'
        TargetFilename|endswith: '.ps1'
    filter_main_script_gpo_machine:
        Image: 'C:\Windows\system32\svchost.exe'
        TargetFilename|contains|all:
            - 'C:\Windows\System32\GroupPolicy\DataStore\'
            - '\sysvol\'
            - '\Policies\'
            - '\Machine\Scripts\Startup\'
        TargetFilename|endswith:
            - '.ps1'
            - '.bat'
    filter_main_clipchamp:
        Image: 'C:\Windows\system32\svchost.exe'
        TargetFilename|contains|all:
            - 'C:\Program Files\WindowsApps\Clipchamp'
            - '.ps1'
    filter_main_powershell_preview:
        Image:
            - 'C:\Windows\system32\svchost.exe'
            - 'C:\Windows\SysWOW64\svchost.exe'
        TargetFilename|startswith:
            - 'C:\Program Files\WindowsApps\Microsoft.PowerShellPreview'
            - 'C:\Program Files (x86)\WindowsApps\Microsoft.PowerShellPreview'
        TargetFilename|endswith: '.ps1'
    condition: 1 of selection_* and not 1 of filter_main_*
falsepositives:
    - Unknown
level: high

KQL (Azure Sentinel)

imFileEvent
| where (((TargetFilePath endswith "\\csrss.exe" or TargetFilePath endswith "\\lsass.exe" or TargetFilePath endswith "\\RuntimeBroker.exe" or TargetFilePath endswith "\\sihost.exe" or TargetFilePath endswith "\\smss.exe" or TargetFilePath endswith "\\wininit.exe" or TargetFilePath endswith "\\winlogon.exe") and (TargetFileName endswith ".bat" or TargetFileName endswith ".dll" or TargetFileName endswith ".exe" or TargetFileName endswith ".hta" or TargetFileName endswith ".iso" or TargetFileName endswith ".ps1" or TargetFileName endswith ".txt" or TargetFileName endswith ".vbe" or TargetFileName endswith ".vbs")) or ((TargetFilePath endswith "\\dllhost.exe" or TargetFilePath endswith "\\rundll32.exe" or TargetFilePath endswith "\\svchost.exe") and (TargetFileName endswith ".bat" or TargetFileName endswith ".hta" or TargetFileName endswith ".iso" or TargetFileName endswith ".ps1" or TargetFileName endswith ".vbe" or TargetFileName endswith ".vbs"))) and (not(((TargetFilePath =~ "C:\\Windows\\System32\\dllhost.exe" and (TargetFileName contains ":\\Users\\" and TargetFileName contains "\\AppData\\Local\\Temp\\__PSScriptPolicyTest_") and TargetFileName endswith ".ps1") or (TargetFilePath =~ "C:\\Windows\\system32\\svchost.exe" and (TargetFileName contains "C:\\Windows\\System32\\GroupPolicy\\DataStore\\" and TargetFileName contains "\\sysvol\\" and TargetFileName contains "\\Policies\\" and TargetFileName contains "\\Machine\\Scripts\\Startup\\") and (TargetFileName endswith ".ps1" or TargetFileName endswith ".bat")) or (TargetFilePath =~ "C:\\Windows\\system32\\svchost.exe" and (TargetFileName contains "C:\\Program Files\\WindowsApps\\Clipchamp" and TargetFileName contains ".ps1")) or ((TargetFilePath in~ ("C:\\Windows\\system32\\svchost.exe", "C:\\Windows\\SysWOW64\\svchost.exe")) and (TargetFileName startswith "C:\\Program Files\\WindowsApps\\Microsoft.PowerShellPreview" or TargetFileName startswith "C:\\Program Files (x86)\\WindowsApps\\Microsoft.PowerShellPreview") and TargetFileName endswith ".ps1"))))

False Positive Guidance

MITRE ATT&CK Context

Original source: https://github.com/SigmaHQ/sigma/blob/master/rules/windows/file/file_event/file_event_win_shell_write_susp_files_extensions.yml