Detection rules › Kusto

Critical Threat Detected

This is a third-party alert feed, not a detection over modeled telemetry. The vendor product raised the finding; this rule forwards it into the SIEM. It is searchable for reference but is excluded from the detection-rule browse and the ATT&CK coverage matrix.

Status
available
Severity
medium
Time window
1h
Group by
Device_Name, External_IP, Internal_IP, Threat_Name, Threat_Score, eventTime
Source
github.com/Azure/Azure-Sentinel

'This creates an incident in the event a critical threat was identified on a Carbon Black managed endpoint.'

MITRE ATT&CK coverage

TacticTechniques
Lateral Movement

Rule body

id: 2ca4e7fc-c61a-49e5-9736-5da8035c47e0
name: Critical Threat Detected
description: |
  'This creates an incident in the event a critical threat was identified on a Carbon Black managed endpoint.'
severity: Medium
status: Available
requiredDataConnectors:
  - connectorId: VMwareCarbonBlack
    dataTypes:
      - CarbonBlackNotifications_CL
queryFrequency: 1h
queryPeriod: 1h
triggerOperator: gt
triggerThreshold: 0
tactics:
  - LateralMovement
relevantTechniques:
  - T1210
query: |
  let threshold = 8;
  CarbonBlackNotifications_CL
  | where threatHunterInfo_score_d >= threshold
  | extend eventTime = datetime(1970-01-01) + tolong(threatHunterInfo_time_d/1000) * 1sec
  | summarize StartTime = min(TimeGenerated), EndTime = max(TimeGenerated), count() by eventTime, Threat_Name = threatHunterInfo_reportName_s, Device_Name = deviceInfo_deviceName_s,  Internal_IP = deviceInfo_internalIpAddress_s, External_IP = deviceInfo_externalIpAddress_s, Threat_Score = threatHunterInfo_score_d
  | project-away count_
entityMappings:
  - entityType: Host
    fieldMappings:
      - identifier: FullName
        columnName: Device_Name
  - entityType: IP
    fieldMappings:
      - identifier: Address
        columnName: Internal_IP
version: 1.0.2
kind: Scheduled

Stages and Predicates

Stage 0: let

let threshold = 8;

Stage 1: source

CarbonBlackNotifications_CL

Stage 2: where

| where threatHunterInfo_score_d >= threshold

Stage 3: extend

| extend eventTime = datetime(1970-01-01) + tolong(threatHunterInfo_time_d/1000) * 1sec

Stage 4: summarize

| summarize StartTime = min(TimeGenerated), EndTime = max(TimeGenerated), count() by eventTime, Threat_Name = threatHunterInfo_reportName_s, Device_Name = deviceInfo_deviceName_s,  Internal_IP = deviceInfo_internalIpAddress_s, External_IP = deviceInfo_externalIpAddress_s, Threat_Score = threatHunterInfo_score_d

Stage 5: project-away

| project-away count_

Indicators

These rows show field, operator, and value matches.

Output fields

These fields are emitted when the rule matches.

FieldSource
Device_Namesummarize
EndTimesummarize
External_IPsummarize
Internal_IPsummarize
StartTimesummarize
Threat_Namesummarize
Threat_Scoresummarize
eventTimesummarize