Detection rules › Sigma

Potential Crypto Mining Activity

Status
stable
Severity
high
Log source
product windows, category process_creation
Author
Florian Roth (Nextron Systems)
Source
github.com/SigmaHQ/sigma

Detects command line parameters or strings often used by crypto miners

MITRE ATT&CK coverage

TacticTechniques
ImpactT1496 Resource Hijacking

Event coverage

Rule body yaml

title: Potential Crypto Mining Activity
id: 66c3b204-9f88-4d0a-a7f7-8a57d521ca55
status: stable
description: Detects command line parameters or strings often used by crypto miners
references:
    - https://www.poolwatch.io/coin/monero
author: Florian Roth (Nextron Systems)
date: 2021-10-26
modified: 2023-02-13
tags:
    - attack.impact
    - attack.t1496
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        CommandLine|contains:
            - ' --cpu-priority='
            - '--donate-level=0'
            - ' -o pool.'
            - ' --nicehash'
            - ' --algo=rx/0 '
            - 'stratum+tcp://'
            - 'stratum+udp://'
            # base64 encoded: --donate-level=
            - 'LS1kb25hdGUtbGV2ZWw9'
            - '0tZG9uYXRlLWxldmVsP'
            - 'tLWRvbmF0ZS1sZXZlbD'
            # base64 encoded: stratum+tcp:// and stratum+udp://
            - 'c3RyYXR1bSt0Y3A6Ly'
            - 'N0cmF0dW0rdGNwOi8v'
            - 'zdHJhdHVtK3RjcDovL'
            - 'c3RyYXR1bSt1ZHA6Ly'
            - 'N0cmF0dW0rdWRwOi8v'
            - 'zdHJhdHVtK3VkcDovL'
    filter:
        CommandLine|contains:
            - ' pool.c '
            - ' pool.o '
            - 'gcc -'
    condition: selection and not filter
falsepositives:
    - Legitimate use of crypto miners
    - Some build frameworks
level: high

Stages and Predicates

Stage 0: condition

selection and not filter

Stage 1: selection

selection:
    CommandLine|contains:
        - ' --cpu-priority='
        - '--donate-level=0'
        - ' -o pool.'
        - ' --nicehash'
        - ' --algo=rx/0 '
        - 'stratum+tcp://'
        - 'stratum+udp://'
        - 'LS1kb25hdGUtbGV2ZWw9'
        - '0tZG9uYXRlLWxldmVsP'
        - 'tLWRvbmF0ZS1sZXZlbD'
        - 'c3RyYXR1bSt0Y3A6Ly'
        - 'N0cmF0dW0rdGNwOi8v'
        - 'zdHJhdHVtK3RjcDovL'
        - 'c3RyYXR1bSt1ZHA6Ly'
        - 'N0cmF0dW0rdWRwOi8v'
        - 'zdHJhdHVtK3VkcDovL'

Stage 2: not filter

filter:
    CommandLine|contains:
        - ' pool.c '
        - ' pool.o '
        - 'gcc -'

Exclusions

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

FieldKindExcluded values
CommandLinematch pool.c
CommandLinematch pool.o
CommandLinematchgcc -

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
  • --algo=rx/0 corpus 2 (sigma 2)
  • --cpu-priority= corpus 2 (sigma 2)
  • --nicehash corpus 2 (sigma 2)
  • -o pool. corpus 2 (sigma 2)
  • --donate-level=0 corpus 2 (sigma 2)
  • 0tZG9uYXRlLWxldmVsP corpus 2 (sigma 2)
  • LS1kb25hdGUtbGV2ZWw9 corpus 2 (sigma 2)
  • N0cmF0dW0rdGNwOi8v corpus 2 (sigma 2)
  • N0cmF0dW0rdWRwOi8v corpus 2 (sigma 2)
  • c3RyYXR1bSt0Y3A6Ly corpus 2 (sigma 2)
  • c3RyYXR1bSt1ZHA6Ly corpus 2 (sigma 2)
  • stratum+tcp:// corpus 2 (sigma 2)
  • stratum+udp:// corpus 2 (sigma 2)
  • tLWRvbmF0ZS1sZXZlbD corpus 2 (sigma 2)
  • zdHJhdHVtK3RjcDovL corpus 2 (sigma 2)
  • zdHJhdHVtK3VkcDovL corpus 2 (sigma 2)