Detection rules › Sigma

Potential File Extension Spoofing Using Right-to-Left Override

Status
test
Severity
high
Log source
product windows, category file_event
Author
Jonathan Peters (Nextron Systems), Florian Roth (Nextron Systems), Swachchhanda Shrawan Poudel (Nextron Systems)
Source
github.com/SigmaHQ/sigma

Detects suspicious filenames that contain a right-to-left override character and a potentially spoofed file extensions.

MITRE ATT&CK coverage

Event coverage

ProviderEventTitle
SysmonEvent ID 11FileCreate

Rule body yaml

title: Potential File Extension Spoofing Using Right-to-Left Override
id: 979baf41-ca44-4540-9d0c-4fcef3b5a3a4
related:
    - id: ad691d92-15f2-4181-9aa4-723c74f9ddc3
      type: derived
status: test
description: |
    Detects suspicious filenames that contain a right-to-left override character and a potentially spoofed file extensions.
references:
    - https://redcanary.com/blog/right-to-left-override/
    - https://www.malwarebytes.com/blog/news/2014/01/the-rtlo-method
    - https://tria.ge/241015-l98snsyeje/behavioral2
    - https://www.unicode.org/versions/Unicode5.2.0/ch02.pdf
author: Jonathan Peters (Nextron Systems), Florian Roth (Nextron Systems), Swachchhanda Shrawan Poudel (Nextron Systems)
date: 2024-11-17
modified: 2026-03-20
tags:
    - attack.execution
    - attack.stealth
    - attack.t1036.002
logsource:
    category: file_event
    product: windows
detection:
    selection_rtlo_unicode:
        TargetFilename|contains:
            - '\u202e'  # Unicode RTLO character
            - '[U+202E]'
            # Real char U+202E copied/pasted below
            - '‮'
    selection_extensions:
        TargetFilename|contains:
            - '3pm.'  # Reversed `.mp3`
            - '4pm.'  # Reversed `.mp4`
            - 'cod.'  # Reversed `.doc`
            - 'fdp.'  # Reversed `.pdf`
            - 'ftr.'  # Reversed `.rtf`
            - 'gepj.'  # Reversed `.jpeg`
            - 'gnp.'  # Reversed `.png`
            - 'gpj.'  # Reversed `.jpg`
            - 'ism.'  # Reversed `.msi`
            - 'lmth.'  # Reversed `.html`
            - 'nls.' # Reversed `.sln`
            - 'piz.'  # Reversed `.zip`
            - 'slx.'  # Reversed `.xls`
            - 'tdo.'  # Reversed `.odt`
            - 'vsc.'  # Reversed `.csv`
            - 'vwm.'  # Reversed `.wmv`
            - 'xcod.'  # Reversed `.docx`
            - 'xslx.'  # Reversed `.xlsx`
            - 'xtpp.'  # Reversed `.pptx`
    condition: all of selection_*
falsepositives:
    - Filenames that contains scriptures such as arabic or hebrew might make use of this character
level: high
regression_tests_path: regression_data/rules/windows/file/file_event/file_event_win_susp_right_to_left_override_extension_spoofing/info.yml

Stages and Predicates

Stage 0: condition

all of selection_*

Stage 1: selection_rtlo_unicode

selection_rtlo_unicode:
    TargetFilename|contains:
        - '\u202e'
        - '[U+202E]'
        - '‮'

Stage 2: selection_extensions

selection_extensions:
    TargetFilename|contains:
        - '3pm.'
        - '4pm.'
        - 'cod.'
        - 'fdp.'
        - 'ftr.'
        - 'gepj.'
        - 'gnp.'
        - 'gpj.'
        - 'ism.'
        - 'lmth.'
        - 'nls.'
        - 'piz.'
        - 'slx.'
        - 'tdo.'
        - 'vsc.'
        - 'vwm.'
        - 'xcod.'
        - 'xslx.'
        - 'xtpp.'

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
TargetFilenamematch
  • 3pm.
  • 4pm.
  • [U+202E]
  • \u202e
  • cod.
  • fdp.
  • ftr.
  • gepj.
  • gnp.
  • gpj.
  • ism.
  • lmth.
  • nls.
  • piz.
  • slx.
  • tdo.
  • vsc.
  • vwm.
  • xcod.
  • xslx.
  • xtpp.
  • corpus 2 (sigma 1, elastic 1)