Detection rules › Sigma

CVE-2024-1708 - ScreenConnect Path Traversal Exploitation - Security

Status
test
Severity
critical
Log source
product windows, service security
Author
Matt Anderson, Caleb Stewart, Huntress
Source
github.com/SigmaHQ/sigma

This detects file modifications to ASPX and ASHX files within the root of the App_Extensions directory, which is allowed by a ZipSlip vulnerability in versions prior to 23.9.8. This occurs during exploitation of CVE-2024-1708. This requires an Advanced Auditing policy to log a successful Windows Event ID 4663 events and with a SACL set on the directory.

MITRE ATT&CK coverage

TacticTechniques
Initial AccessNo specific technique
PersistenceNo specific technique

Event coverage

Rule body yaml

title: CVE-2024-1708 - ScreenConnect Path Traversal Exploitation - Security
id: 4c198a60-7d05-4daf-8bf7-4136fb6f5c62
related:
    - id: 44d7af7e-88e6-4490-be11-55f7ff4d9fc1
      type: similar
status: test
description: |
    This detects file modifications to ASPX and ASHX files within the root of the App_Extensions directory, which is allowed by a ZipSlip vulnerability in versions prior to 23.9.8. This occurs during exploitation of CVE-2024-1708.
    This requires an Advanced Auditing policy to log a successful Windows Event ID 4663 events and with a SACL set on the directory.
references:
    - https://www.connectwise.com/company/trust/security-bulletins/connectwise-screenconnect-23.9.8
    - https://www.cve.org/CVERecord?id=CVE-2024-1708
    - https://www.huntress.com/blog/a-catastrophe-for-control-understanding-the-screenconnect-authentication-bypass
author: Matt Anderson, Caleb Stewart, Huntress
date: 2024-02-20
tags:
    - attack.initial-access
    - attack.persistence
    - cve.2024-1708
    - detection.emerging-threats
logsource:
    product: windows
    service: security
    definition: 'Requirements: SACLs must be enabled for the ScreenConnect directory'
detection:
    selection:
        EventID: 4663
        ObjectType: 'File'
        ProcessName|contains: 'ScreenConnect.Service.exe'
        AccessMask: '0x6'
        ObjectName|endswith:
            - 'ScreenConnect\\App_Extensions\\*.ashx'
            - 'ScreenConnect\\App_Extensions\\*.aspx'
    filter_main_legit_extension:
        ObjectName|contains: 'ScreenConnect\App_Extensions\\*\\'
    condition: selection and not 1 of filter_main_*
falsepositives:
    - Unknown
level: critical

Stages and Predicates

Stage 0: condition

selection and not 1 of filter_main_*

Stage 1: selection

selection:
    EventID: 4663
    ObjectType: 'File'
    ProcessName|contains: 'ScreenConnect.Service.exe'
    AccessMask: '0x6'
    ObjectName|endswith:
        - 'ScreenConnect\\App_Extensions\\*.ashx'
        - 'ScreenConnect\\App_Extensions\\*.aspx'

Stage 2: not filter_main_legit_extension

filter_main_legit_extension:
    ObjectName|contains: 'ScreenConnect\App_Extensions\\*\\'

Exclusions

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

FieldKindExcluded values
ObjectNamematchScreenConnect\App_Extensions\\*\\

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
AccessMaskeq
  • 0x6 corpus 3 (sigma 2, kusto 1)
ObjectNameends_with
  • ScreenConnect\\App_Extensions\\*.ashx
  • ScreenConnect\\App_Extensions\\*.aspx
ObjectTypeeq
  • File corpus 10 (sigma 8, splunk 2)
ProcessNamematch
  • ScreenConnect.Service.exe corpus 2 (sigma 2)