Detection rules › Kusto
McAfee ePO - Multiple threats on same host
'Rule fires when multiple threat events were detected on the same host.'
MITRE ATT&CK coverage
| Tactic | Techniques |
|---|---|
| Initial Access | T1189 Drive-by Compromise, T1195 Supply Chain Compromise |
| Persistence | T1543 Create or Modify System Process |
| Privilege Escalation | T1055 Process Injection, T1543 Create or Modify System Process |
| Stealth | T1055 Process Injection, T1070 Indicator Removal, T1562 Impair Defenses |
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
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.
| Field | Kind | Values |
|---|---|---|
ThreatName | is_not_null | |
ThreatName | ne |
|
th_cnt | gt |
|
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.
| Field | Source |
|---|---|
DvcIpAddr | summarize |
th_cnt | summarize |
th_list | summarize |
IPCustomEntity | extend |