Detection rules › Sigma

Desktop.INI Created by Uncommon Process

Status
test
Severity
medium
Log source
product windows, category file_event
Author
Maxime Thiebaut (@0xThiebaut), Tim Shelton (HAWK.IO)
Source
github.com/SigmaHQ/sigma

Detects unusual processes accessing desktop.ini, which can be leveraged to alter how Explorer displays a folder's content (i.e. renaming files) without changing them on disk.

MITRE ATT&CK coverage

Event coverage

ProviderEventTitle
SysmonEvent ID 11FileCreate

Rule body yaml

title: Desktop.INI Created by Uncommon Process
id: 81315b50-6b60-4d8f-9928-3466e1022515
status: test
description: Detects unusual processes accessing desktop.ini, which can be leveraged to alter how Explorer displays a folder's content (i.e. renaming files) without changing them on disk.
references:
    - https://isc.sans.edu/forums/diary/Desktopini+as+a+postexploitation+tool/25912/
author: Maxime Thiebaut (@0xThiebaut), Tim Shelton (HAWK.IO)
date: 2020-03-19
modified: 2025-12-09
tags:
    - attack.privilege-escalation
    - attack.persistence
    - attack.t1547.009
logsource:
    product: windows
    category: file_event
detection:
    selection:
        TargetFilename|endswith: '\desktop.ini'
    filter_main_generic:
        Image|startswith:
            - 'C:\Windows\'
            - 'C:\Program Files\'
            - 'C:\Program Files (x86)\'
    filter_main_upgrade:
        TargetFilename|startswith: 'C:\$WINDOWS.~BT\NewOS\'
    filter_optional_jetbrains:
        Image|startswith: 'C:\Users\'
        Image|endswith: '\AppData\Local\JetBrains\Toolbox\bin\7z.exe'
        TargetFilename|contains: '\JetBrains\apps\'
    filter_optional_onedrive:
        Image|startswith: 'C:\Users\'
        Image|contains: '\AppData\Local\Microsoft\OneDrive\'
    condition: selection and not 1 of filter_main_* and not 1 of filter_optional_*
falsepositives:
    - Operations performed through Windows SCCM or equivalent
    - Read only access list authority
level: medium

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: '\desktop.ini'

Stage 2: not filter_main_*

filter_main_generic:
    Image|startswith:
        - 'C:\Windows\'
        - 'C:\Program Files\'
        - 'C:\Program Files (x86)\'
filter_main_upgrade:
    TargetFilename|startswith: 'C:\$WINDOWS.~BT\NewOS\'

Stage 3: not filter_optional_*

filter_optional_jetbrains:
    Image|startswith: 'C:\Users\'
    Image|endswith: '\AppData\Local\JetBrains\Toolbox\bin\7z.exe'
    TargetFilename|contains: '\JetBrains\apps\'
filter_optional_onedrive:
    Image|startswith: 'C:\Users\'
    Image|contains: '\AppData\Local\Microsoft\OneDrive\'

Exclusions

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

FieldKindExcluded values
Imagestarts_withC:\Program Files (x86)\
Imagestarts_withC:\Program Files\
Imagestarts_withC:\Windows\
TargetFilenamestarts_withC:\$WINDOWS.~BT\NewOS\
Imageends_with\AppData\Local\JetBrains\Toolbox\bin\7z.exe
Imagestarts_withC:\Users\
TargetFilenamematch\JetBrains\apps\
Imagematch\AppData\Local\Microsoft\OneDrive\
Imagestarts_withC:\Users\

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
  • \desktop.ini