Detection rules › Sigma

Cobalt Strike DNS Beaconing

Status
test
Severity
critical
Log source
category dns
Author
Florian Roth (Nextron Systems)
Source
github.com/SigmaHQ/sigma

Detects suspicious DNS queries known from Cobalt Strike beacons

MITRE ATT&CK coverage

TacticTechniques
Command & ControlT1071.004 Application Layer Protocol: DNS

Rule body yaml

title: Cobalt Strike DNS Beaconing
id: 2975af79-28c4-4d2f-a951-9095f229df29
status: test
description: Detects suspicious DNS queries known from Cobalt Strike beacons
references:
    - https://www.icebrg.io/blog/footprints-of-fin7-tracking-actor-patterns
    - https://www.sekoia.io/en/hunting-and-detecting-cobalt-strike/
author: Florian Roth (Nextron Systems)
date: 2018-05-10
modified: 2022-10-09
tags:
    - attack.command-and-control
    - attack.t1071.004
logsource:
    category: dns
detection:
    selection1:
        query|startswith:
            - 'aaa.stage.'
            - 'post.1'
    selection2:
        query|contains: '.stage.123456.'
    condition: 1 of selection*
falsepositives:
    - Unknown
level: critical

Stages and Predicates

Stage 0: condition

1 of selection*

Stage 1: selection1

selection1:
    query|startswith:
        - 'aaa.stage.'
        - 'post.1'

Stage 2: selection2

selection2:
    query|contains: '.stage.123456.'

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
querymatch
  • .stage.123456.
querystarts_with
  • aaa.stage.
  • post.1