Detection rules › Sigma

Use NTFS Short Name in Command Line

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

Detect use of the Windows 8.3 short name. Which could be used as a method to avoid command-line detection

Known false positives

  • Applications could use this notation occasionally which might generate some false positives. In that case Investigate the parent and child process.

MITRE ATT&CK coverage

Telemetry coverage

Rule body

title: Use NTFS Short Name in Command Line
id: dd6b39d9-d9be-4a3b-8fe0-fe3c6a5c1795
related:
    - id: 3ef5605c-9eb9-47b0-9a71-b727e6aa5c3b
      type: similar
status: test
description: Detect use of the Windows 8.3 short name. Which could be used as a method to avoid command-line detection
references:
    - https://www.acunetix.com/blog/articles/windows-short-8-3-filenames-web-security-problem/
    - https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-2000-server/cc959352(v=technet.10)
    - https://twitter.com/jonasLyk/status/1555914501802921984
author: frack113, Nasreddine Bencherchali (Nextron Systems)
date: 2022-08-05
modified: 2022-09-21
tags:
    - attack.stealth
    - attack.t1564.004
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        CommandLine|contains:
            - '~1.exe'
            - '~1.bat'
            - '~1.msi'
            - '~1.vbe'
            - '~1.vbs'
            - '~1.dll'
            - '~1.ps1'
            - '~1.js'
            - '~1.hta'
            - '~2.exe'
            - '~2.bat'
            - '~2.msi'
            - '~2.vbe'
            - '~2.vbs'
            - '~2.dll'
            - '~2.ps1'
            - '~2.js'
            - '~2.hta'
    filter:
        - ParentImage|endswith:
              - '\WebEx\WebexHost.exe'
              - '\thor\thor64.exe'
        - CommandLine|contains: 'C:\xampp\vcredist\VCREDI~1.EXE'
    condition: selection and not filter
falsepositives:
    - Applications could use this notation occasionally which might generate some false positives. In that case Investigate the parent and child process.
level: medium

Stages and Predicates

Stage 0: condition

selection and not filter

Stage 1: selection

selection:
    CommandLine|contains:
        - '~1.exe'
        - '~1.bat'
        - '~1.msi'
        - '~1.vbe'
        - '~1.vbs'
        - '~1.dll'
        - '~1.ps1'
        - '~1.js'
        - '~1.hta'
        - '~2.exe'
        - '~2.bat'
        - '~2.msi'
        - '~2.vbe'
        - '~2.vbs'
        - '~2.dll'
        - '~2.ps1'
        - '~2.js'
        - '~2.hta'

Stage 2: not filter

filter:
    - ParentImage|endswith:
          - '\WebEx\WebexHost.exe'
          - '\thor\thor64.exe'
    - CommandLine|contains: 'C:\xampp\vcredist\VCREDI~1.EXE'

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
CommandLinematchC:\xampp\vcredist\VCREDI~1.EXEexcludes:CommandLine field:"CommandLine" value:"C:\xampp\vcredist\VCREDI~1.EXE"
ParentImageends_with\WebEx\WebexHost.exeexcludes:ParentImage field:"ParentImage" value:"\WebEx\WebexHost.exe"
ParentImageends_with\thor\thor64.exeexcludes:ParentImage field:"ParentImage" value:"\thor\thor64.exe"

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • ~1.bat
  • ~1.dll
  • ~1.exe
  • ~1.hta
  • ~1.js
  • ~1.msi
  • ~1.ps1
  • ~1.vbe
  • ~1.vbs
  • ~2.bat
  • ~2.dll
  • ~2.exe
  • ~2.hta
  • ~2.js
  • ~2.msi
  • ~2.ps1
  • ~2.vbe
  • ~2.vbs
field:"CommandLine" kind:match