Detection rules › Kusto

McAfee ePO - Multiple threats on same host

Status
available
Severity
medium
Time window
1h
Group by
DvcIpAddr
Source
github.com/Azure/Azure-Sentinel

'Rule fires when multiple threat events were detected on the same host.'

MITRE ATT&CK coverage

Rule body kusto

id: f53e5168-afdb-4fad-b29a-bb9cb71ec460
name: McAfee ePO - Multiple threats on same host
description: |
  'Rule fires when multiple threat events were detected on the same host.'
severity: Medium
requiredDataConnectors:
  - connectorId: SyslogAma
    datatypes:
      - Syslog
queryFrequency: 1h
queryPeriod: 1h
triggerOperator: gt
triggerThreshold: 0
status: Available
tactics:
  - InitialAccess
  - Persistence
  - DefenseEvasion
  - PrivilegeEscalation
relevantTechniques:
  - T1562
  - T1070
  - T1189
  - T1195
  - T1543
  - T1055
query: |
  McAfeeEPOEvent
  | where isnotempty(ThreatName)
  | where ThreatName != '_'
  | summarize th_cnt = dcount(ThreatName), th_list = makeset(ThreatName) by DvcIpAddr
  | where th_cnt > 1
  | extend IPCustomEntity = DvcIpAddr
entityMappings:
  - entityType: IP
    fieldMappings:
      - identifier: Address
        columnName: IPCustomEntity
version: 1.0.2
kind: Scheduled

Stages and Predicates

Stage 1: source

McAfeeEPOEvent

Stage 2: where

| where isnotempty(ThreatName)

Stage 3: where

| where ThreatName != '_'

Stage 4: summarize

| summarize th_cnt = dcount(ThreatName), th_list = makeset(ThreatName) by DvcIpAddr
Threshold
gt 1

Stage 5: where

| where th_cnt > 1

Stage 6: extend

| extend IPCustomEntity = DvcIpAddr

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
ThreatNameis_not_null
  • (no value, null check)
ThreatNamene
  • _ transforms: cased
th_cntgt
  • 1 transforms: cased

Output fields

Fields the rule emits when it matches. Chronicle authors list these in the outcome block; they appear on the detection and $risk_score drives alerting. Sentinel / Defender XDR rules build them up through project / summarize / extend stages. Sentinel maps these into alert fields via entityMappings and customDetails; Defender XDR custom detections surface them as alert fields directly.

FieldSource
DvcIpAddrsummarize
th_cntsummarize
th_listsummarize
IPCustomEntityextend