Detection rules › Kusto

Corelight - C2 DGA Detected Via Repetitive Failures

Status
available
Severity
medium
Time window
5m
Group by
id_orig_h, query
Source
github.com/Azure/Azure-Sentinel

'Detects large amounts of DNS resolution failures.'

MITRE ATT&CK coverage

TacticTechniques
Command & Control

Rule body

id: 8eaa2268-74ee-492c-b869-450eff707fef
name: Corelight - C2 DGA Detected Via Repetitive Failures
description: |
  'Detects large amounts of DNS resolution failures.'
severity: Medium
status: Available
requiredDataConnectors:
  - connectorId: Corelight
    dataTypes:
      - Corelight_v2_dns
      - Corelight_v2_dns_red
      - corelight_dns
      - corelight_dns_red
queryFrequency: 1h
queryPeriod: 1h
triggerOperator: gt
triggerThreshold: 0
tactics:
  - CommandAndControl
relevantTechniques:
  - T1568
query: |
  let threshold = 25;
  union corelight_dns, corelight_dns_red
  // rcodes: SERVFAIL=2, NXDOMAIN=3
  | where rcode in (2, 3)
  | summarize count() by query, id_orig_h, bin(TimeGenerated, 5m)
  | where count_ > threshold
entityMappings:
  - entityType: IP
    fieldMappings:
      - identifier: Address
        columnName: id_orig_h
version: 2.1.1
kind: Scheduled

Stages and Predicates

Parameters

let threshold = 25;

union (2 sources)

Each leg below queries one source; the rule matches if any leg does. Sources: corelight_dns, corelight_dns_red

Leg 1: corelight_dns

Leg 2: corelight_dns_red

Applied to the combined result

| where rcode in (2, 3) | summarize count() by query, id_orig_h, bin(TimeGenerated, 5m) | where count_ > threshold

Indicators

These rows show field, operator, and value matches.

Output fields

These fields are emitted when the rule matches.

FieldSource
id_orig_hsummarize
querysummarize