Detection rules › Sigma

Suspicious Double Extension Files

Status
test
Severity
high
Log source
product windows, category file_event
Author
Nasreddine Bencherchali (Nextron Systems), frack113
Source
github.com/SigmaHQ/sigma

Detects dropped files with double extensions, which is often used by malware as a method to abuse the fact that Windows hide default extensions by default.

MITRE ATT&CK coverage

Event coverage

ProviderEventTitle
SysmonEvent ID 11FileCreate

Rule body yaml

title: Suspicious Double Extension Files
id: b4926b47-a9d7-434c-b3a0-adc3fa0bd13e
related:
    - id: 1cdd9a09-06c9-4769-99ff-626e2b3991b8
      type: derived
    - id: 3215aa19-f060-4332-86d5-5602511f3ca8
      type: similar
status: test
description: Detects dropped files with double extensions, which is often used by malware as a method to abuse the fact that Windows hide default extensions by default.
references:
    - https://www.crowdstrike.com/blog/meet-crowdstrikes-adversary-of-the-month-for-june-mustang-panda/
    - https://www.anomali.com/blog/china-based-apt-mustang-panda-targets-minority-groups-public-and-private-sector-organizations
    - https://www.cybereason.com/blog/research/a-bazar-of-tricks-following-team9s-development-cycles
    - https://twitter.com/malwrhunterteam/status/1235135745611960321
    - https://twitter.com/luc4m/status/1073181154126254080
    - https://cloud.google.com/blog/topics/threat-intelligence/cybercriminals-weaponize-fake-ai-websites
    - https://vipre.com/blog/svg-phishing-attacks-the-new-trick-in-the-cybercriminals-playbook/
author: Nasreddine Bencherchali (Nextron Systems), frack113
date: 2022-06-19
modified: 2026-03-31
tags:
    - attack.stealth
    - attack.t1036.007
logsource:
    category: file_event
    product: windows
detection:
    selection_gen:
        TargetFilename|endswith:
            - '.exe'
            - '.iso'
            - '.rar'
            - '.svg'
            - '.zip'
            # - '.lnk'  # legitimate links can happen just anywhere
        TargetFilename|contains:
            - '.doc.'
            - '.docx.'
            - '.gif.'
            - '.jpeg.'
            - '.jpg.'
            - '.mp3.'
            - '.mp4.'
            - '.pdf.'
            - '.png.'
            - '.ppt.'
            - '.pptx.'
            - '.rtf.'
            - '.svg.'
            - '.txt.'
            - '.xls.'
            - '.xlsx.'
    selection_exe:
        TargetFilename|endswith:
            - '.rar.exe'
            - '.zip.exe'
    # Note: If you wanna keep using the ".lnk" extension. You might uncomment this filter and add additional locations
    # filter_main_lnk:
    #     TargetFilename|contains:
    #         - '\AppData\Roaming\Microsoft\Office\Recent\'
    #         - '\AppData\Roaming\Microsoft\Windows\Recent\'
    filter_icons_linux:
        TargetFilename|startswith: '/usr/share/icons/'
    condition: 1 of selection_* and not 1 of filter_*
falsepositives:
    - Unlikely
level: high

Stages and Predicates

Stage 0: condition

1 of selection_* and not 1 of filter_*

Stage 1: selection_gen

selection_gen:
    TargetFilename|endswith:
        - '.exe'
        - '.iso'
        - '.rar'
        - '.svg'
        - '.zip'
    TargetFilename|contains:
        - '.doc.'
        - '.docx.'
        - '.gif.'
        - '.jpeg.'
        - '.jpg.'
        - '.mp3.'
        - '.mp4.'
        - '.pdf.'
        - '.png.'
        - '.ppt.'
        - '.pptx.'
        - '.rtf.'
        - '.svg.'
        - '.txt.'
        - '.xls.'
        - '.xlsx.'

Stage 2: selection_exe

selection_exe:
    TargetFilename|endswith:
        - '.rar.exe'
        - '.zip.exe'

Stage 3: not filter_icons_linux

filter_icons_linux:
    TargetFilename|startswith: '/usr/share/icons/'

Exclusions

Top-level NOT(...) conjuncts: predicates this rule actively suppresses.

FieldKindExcluded values
TargetFilenamestarts_with/usr/share/icons/

Indicators

Each row is a field, operator, and value that the rule matches. The corpus column counts how many other rules in the catalog look for the same combination: high numbers point to widely-used, community-vetted indicators. Blank or 1 shows that the indicator is specific to this rule.

FieldKindValues
TargetFilenameends_with
  • .exe corpus 21 (sigma 20, splunk 1)
  • .iso corpus 5 (sigma 5)
  • .rar corpus 5 (sigma 5)
  • .rar.exe
  • .svg corpus 2 (sigma 2)
  • .zip corpus 7 (sigma 6, splunk 1)
  • .zip.exe
TargetFilenamematch
  • .doc. corpus 2 (sigma 2)
  • .docx. corpus 2 (sigma 2)
  • .gif.
  • .jpeg.
  • .jpg. corpus 2 (sigma 2)
  • .mp3.
  • .mp4.
  • .pdf. corpus 2 (sigma 2)
  • .png.
  • .ppt. corpus 2 (sigma 2)
  • .pptx. corpus 2 (sigma 2)
  • .rtf.
  • .svg.
  • .txt.
  • .xls. corpus 2 (sigma 2)
  • .xlsx. corpus 2 (sigma 2)