Detection rules › Sigma

Potential Exploitation of CrushFTP RCE Vulnerability (CVE-2025-54309)

Status
experimental
Severity
high
Log source
product windows, category process_creation
Author
Nisarg Suthar
Source
github.com/SigmaHQ/sigma

Detects suspicious child processes created by CrushFTP. It could be an indication of exploitation of a RCE vulnerability such as CVE-2025-54309.

MITRE ATT&CK coverage

Event coverage

Rule body yaml

title: Potential Exploitation of CrushFTP RCE Vulnerability (CVE-2025-54309)
id: 0fdc7c7f-c690-4217-9ae3-31f5156eed72
status: experimental
description: Detects suspicious child processes created by CrushFTP. It could be an indication of exploitation of a RCE vulnerability such as CVE-2025-54309.
references:
    - https://reliaquest.com/blog/threat-spotlight-cve-2025-54309-crushftp-exploit/
    - https://pwn.guide/free/web/crushftp
    - https://firecompass.com/crushftp-vulnerability-cve-2025-54309-securing-file-transfer-services/
author: Nisarg Suthar
date: 2025-08-01
tags:
    - attack.privilege-escalation
    - attack.initial-access
    - attack.execution
    - attack.t1059.001
    - attack.t1059.003
    - attack.t1068
    - attack.t1190
    - cve.2025-54309
    - detection.emerging-threats
logsource:
    category: process_creation
    product: windows
detection:
    selection_parent:
        ParentImage|endswith: '\crushftp.exe'
    selection_child_powershell:
        Image|endswith:
            - '\powershell.exe'
            - '\powershell_ise.exe'
            - '\pwsh.exe'
        CommandLine|contains|all:
            - 'IEX'
            - 'enc'
            - 'Hidden'
            - 'bypass'
    selection_child_cmd:
        Image|endswith: '\cmd.exe'
        CommandLine|contains:
            - '/c powershell'
            - 'whoami'
            - 'net.exe'
            - 'net1.exe'
    selection_child_others:
        Image|endswith:
            - '\bitsadmin.exe'
            - '\certutil.exe'
            - '\mshta.exe'
            - '\cscript.exe'
            - '\wscript.exe'
    condition: selection_parent and 1 of selection_child_*
falsepositives:
    - Legitimate administrative command execution
level: high

Stages and Predicates

Stage 0: condition

selection_parent and 1 of selection_child_*

Stage 1: selection_parent

selection_parent:
    ParentImage|endswith: '\crushftp.exe'

Stage 2: selection_child_powershell

selection_child_powershell:
    Image|endswith:
        - '\powershell.exe'
        - '\powershell_ise.exe'
        - '\pwsh.exe'
    CommandLine|contains|all:
        - 'IEX'
        - 'enc'
        - 'Hidden'
        - 'bypass'

Stage 3: selection_child_cmd

selection_child_cmd:
    Image|endswith: '\cmd.exe'
    CommandLine|contains:
        - '/c powershell'
        - 'whoami'
        - 'net.exe'
        - 'net1.exe'

Stage 4: selection_child_others

selection_child_others:
    Image|endswith:
        - '\bitsadmin.exe'
        - '\certutil.exe'
        - '\mshta.exe'
        - '\cscript.exe'
        - '\wscript.exe'

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
CommandLinematch
  • /c powershell corpus 3 (sigma 3)
  • Hidden corpus 4 (sigma 4)
  • IEX corpus 6 (sigma 5, splunk 1)
  • bypass corpus 6 (sigma 6)
  • enc corpus 3 (sigma 3)
  • net.exe corpus 3 (sigma 2, splunk 1)
  • net1.exe corpus 2 (sigma 2)
  • whoami corpus 13 (sigma 9, splunk 2, elastic 1, kusto 1)
Imageends_with
  • \bitsadmin.exe corpus 29 (sigma 29)
  • \certutil.exe corpus 43 (sigma 43)
  • \cmd.exe corpus 130 (sigma 130)
  • \cscript.exe corpus 73 (sigma 73)
  • \mshta.exe corpus 67 (sigma 67)
  • \powershell.exe corpus 182 (sigma 182)
  • \powershell_ise.exe corpus 41 (sigma 41)
  • \pwsh.exe corpus 168 (sigma 168)
  • \wscript.exe corpus 75 (sigma 75)
ParentImageends_with
  • \crushftp.exe