Detection rules › Sigma

Suspicious LNK Double Extension File Created

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

Detects the creation of files with an "LNK" as a second extension. This is sometimes used by malware as a method to abuse the fact that Windows hides the "LNK" extension by default.

MITRE ATT&CK coverage

Event coverage

ProviderEventTitle
SysmonEvent ID 11FileCreate

Rule body yaml

title: Suspicious LNK Double Extension File Created
id: 3215aa19-f060-4332-86d5-5602511f3ca8
related:
    - id: b4926b47-a9d7-434c-b3a0-adc3fa0bd13e
      type: derived
status: test
description: |
    Detects the creation of files with an "LNK" as a second extension. This is sometimes used by malware as a method to abuse the fact that Windows hides the "LNK" extension 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
author: Nasreddine Bencherchali (Nextron Systems), frack113
date: 2022-11-07
modified: 2023-10-18
tags:
    - attack.stealth
    - attack.t1036.007
logsource:
    category: file_event
    product: windows
detection:
    selection:
        TargetFilename|endswith: '.lnk'
        TargetFilename|contains:
            - '.doc.'
            - '.docx.'
            - '.jpg.'
            - '.pdf.'
            - '.ppt.'
            - '.pptx.'
            - '.xls.'
            - '.xlsx.'
    filter_main_recent:
        TargetFilename|contains: '\AppData\Roaming\Microsoft\Windows\Recent\'
    filter_optional_office_recent:
        Image|endswith:
            # Note: Some additional office application might need to be added
            - '\excel.exe'
            - '\powerpnt.exe'
            - '\winword.exe'
        TargetFilename|contains: '\AppData\Roaming\Microsoft\Office\Recent\'
    filter_optional_office_excel:
        Image|endswith: '\excel.exe'
        TargetFilename|contains: '\AppData\Roaming\Microsoft\Excel'
    filter_optional_office_powerpoint:
        Image|endswith: '\powerpnt.exe'
        TargetFilename|contains: '\AppData\Roaming\Microsoft\PowerPoint'
    filter_optional_office_word:
        Image|endswith: '\winword.exe'
        TargetFilename|contains: '\AppData\Roaming\Microsoft\Word'
    condition: selection and not 1 of filter_main_* and not 1 of filter_optional_*
falsepositives:
    - Some tuning is required for other general purpose directories of third party apps
level: medium
regression_tests_path: regression_data/rules/windows/file/file_event/file_event_win_susp_lnk_double_extension/info.yml

Stages and Predicates

Stage 0: condition

selection and not 1 of filter_main_* and not 1 of filter_optional_*

Stage 1: selection

selection:
    TargetFilename|endswith: '.lnk'
    TargetFilename|contains:
        - '.doc.'
        - '.docx.'
        - '.jpg.'
        - '.pdf.'
        - '.ppt.'
        - '.pptx.'
        - '.xls.'
        - '.xlsx.'

Stage 2: not filter_main_recent

filter_main_recent:
    TargetFilename|contains: '\AppData\Roaming\Microsoft\Windows\Recent\'

Stage 3: not filter_optional_*

filter_optional_office_recent:
    Image|endswith:
        - '\excel.exe'
        - '\powerpnt.exe'
        - '\winword.exe'
    TargetFilename|contains: '\AppData\Roaming\Microsoft\Office\Recent\'
filter_optional_office_excel:
    Image|endswith: '\excel.exe'
    TargetFilename|contains: '\AppData\Roaming\Microsoft\Excel'
filter_optional_office_powerpoint:
    Image|endswith: '\powerpnt.exe'
    TargetFilename|contains: '\AppData\Roaming\Microsoft\PowerPoint'
filter_optional_office_word:
    Image|endswith: '\winword.exe'
    TargetFilename|contains: '\AppData\Roaming\Microsoft\Word'

Exclusions

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

FieldKindExcluded values
TargetFilenamematch\AppData\Roaming\Microsoft\Windows\Recent\
Imageends_with\excel.exe
Imageends_with\powerpnt.exe
Imageends_with\winword.exe
TargetFilenamematch\AppData\Roaming\Microsoft\Office\Recent\
Imageends_with\excel.exe
TargetFilenamematch\AppData\Roaming\Microsoft\Excel
Imageends_with\powerpnt.exe
TargetFilenamematch\AppData\Roaming\Microsoft\PowerPoint
Imageends_with\winword.exe
TargetFilenamematch\AppData\Roaming\Microsoft\Word

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
  • .lnk corpus 6 (sigma 6)
TargetFilenamematch
  • .doc. corpus 2 (sigma 2)
  • .docx. corpus 2 (sigma 2)
  • .jpg. corpus 2 (sigma 2)
  • .pdf. corpus 2 (sigma 2)
  • .ppt. corpus 2 (sigma 2)
  • .pptx. corpus 2 (sigma 2)
  • .xls. corpus 2 (sigma 2)
  • .xlsx. corpus 2 (sigma 2)