Detection rules › Sigma

Enabling COR Profiler Environment Variables

Status
test
Severity
medium
Log source
category registry_set, product windows
Author
Jose Rodriguez (@Cyb3rPandaH), OTR (Open Threat Research), Jimmy Bayne (@bohops)
Source
github.com/SigmaHQ/sigma

Detects .NET Framework CLR and .NET Core CLR "cor_enable_profiling" and "cor_profiler" variables being set and configured.

MITRE ATT&CK coverage

Telemetry coverage

Rule body

title: Enabling COR Profiler Environment Variables
id: ad89044a-8f49-4673-9a55-cbd88a1b374f
status: test
description: Detects .NET Framework CLR and .NET Core CLR "cor_enable_profiling" and "cor_profiler" variables being set and configured.
references:
    - https://twitter.com/jamieantisocial/status/1304520651248668673
    - https://www.slideshare.net/JamieWilliams130/started-from-the-bottom-exploiting-data-sources-to-uncover-attck-behaviors
    - https://www.sans.org/cyber-security-summit/archives
    - https://learn.microsoft.com/en-us/dotnet/core/runtime-config/debugging-profiling
author: Jose Rodriguez (@Cyb3rPandaH), OTR (Open Threat Research), Jimmy Bayne (@bohops)
date: 2020-09-10
modified: 2023-11-24
tags:
    - attack.persistence
    - attack.privilege-escalation
    - attack.execution
    - attack.stealth
    - attack.t1574.012
logsource:
    category: registry_set
    product: windows
detection:
    selection_1:
        TargetObject|endswith:
            - '\COR_ENABLE_PROFILING'
            - '\COR_PROFILER'
            - '\CORECLR_ENABLE_PROFILING'
    selection_2:
        TargetObject|contains: '\CORECLR_PROFILER_PATH'
    condition: 1 of selection_*
level: medium

Stages and Predicates

Stage 0: condition

1 of selection_*

Stage 1: selection_1

selection_1:
    TargetObject|endswith:
        - '\COR_ENABLE_PROFILING'
        - '\COR_PROFILER'
        - '\CORECLR_ENABLE_PROFILING'

Stage 2: selection_2

selection_2:
    TargetObject|contains: '\CORECLR_PROFILER_PATH'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
TargetObjectends_with
  • \CORECLR_ENABLE_PROFILING
  • \COR_ENABLE_PROFILING
  • \COR_PROFILER
field:"TargetObject" kind:ends_with
TargetObjectmatch
  • \CORECLR_PROFILER_PATH
field:"TargetObject" kind:match value:"\CORECLR_PROFILER_PATH"