Detection rules › Kusto
Lookout - High Severity Mobile Threats Detected (v2)
'Detects high severity mobile threats from Lookout Mobile Risk API v2 with enhanced threat intelligence and device context. This rule leverages the comprehensive v2 field set to provide detailed threat classification, risk assessment, and device compliance status for improved security monitoring.'
MITRE ATT&CK coverage
| Tactic | Techniques |
|---|---|
| Defense Evasion | T1629 Impair Defenses, T1630 Indicator Removal on Host |
| Discovery | T1418 Software Discovery, T1424 Process Discovery |
Rule body kusto
id: 8b4a5c7e-2f91-4d8a-9e3b-1c6f8a2d4e9f
name: Lookout - High Severity Mobile Threats Detected (v2)
description: |
'Detects high severity mobile threats from Lookout Mobile Risk API v2 with enhanced threat intelligence and device context. This rule leverages the comprehensive v2 field set to provide detailed threat classification, risk assessment, and device compliance status for improved security monitoring.'
severity: High
status: Available
requiredDataConnectors:
- connectorId: LookoutAPI
dataTypes:
- LookoutEvents
queryFrequency: 5m
queryPeriod: 15m
triggerOperator: gt
triggerThreshold: 0
tactics:
- Discovery
- DefenseEvasion
- Persistence
- PrivilegeEscalation
relevantTechniques:
- T1424
- T1418
- T1629
- T1630
query: |
LookoutEvents
| where EventType == "THREAT"
| where ThreatSeverity in ("CRITICAL", "HIGH")
| where ThreatStatus in ("OPEN", "ACTIVE")
| where ThreatAction == "DETECTED"
| extend
ThreatRiskScore = case(
ThreatSeverity == "CRITICAL", 10,
ThreatSeverity == "HIGH", 8,
ThreatSeverity == "MEDIUM", 5,
ThreatSeverity == "LOW", 2,
1
),
DeviceRiskLevel = case(
DeviceSecurityStatus == "THREATS_HIGH", "High",
DeviceSecurityStatus == "THREATS_MEDIUM", "Medium",
DeviceSecurityStatus == "THREATS_LOW", "Low",
"Unknown"
),
ThreatCategory = case(
ThreatClassifications has "MALWARE", "Malware",
ThreatClassifications has "PHISHING", "Phishing",
ThreatClassifications has "SPYWARE", "Spyware",
ThreatClassifications has "TROJAN", "Trojan",
ThreatClassifications has "ADWARE", "Adware",
"Other"
)
| extend ComplianceImpact = case(
DeviceComplianceStatus == "Non-Compliant" and ThreatRiskScore >= 8, "Critical",
DeviceComplianceStatus == "Non-Compliant" and ThreatRiskScore >= 5, "High",
DeviceComplianceStatus == "Partial" and ThreatRiskScore >= 8, "High",
DeviceComplianceStatus == "Partial" and ThreatRiskScore >= 5, "Medium",
"Low"
)
| project
TimeGenerated,
EventId,
ThreatId,
ThreatType,
ThreatSeverity,
ThreatRiskScore,
ThreatCategory,
ThreatClassifications,
ThreatStatus,
ThreatDescription,
ThreatApplicationName,
ThreatPackageName,
ThreatPackageSha,
DeviceGuid,
DevicePlatform,
DeviceOSVersion,
DeviceManufacturer,
DeviceModel,
DeviceEmailAddress,
DeviceSecurityStatus,
DeviceRiskLevel,
DeviceComplianceStatus,
ComplianceImpact,
ClientLookoutSDKVersion,
MDMConnectorId,
MDMExternalId,
TargetEmailAddress,
TargetPlatform,
ActorType,
ActorGuid
entityMappings:
- entityType: Account
fieldMappings:
- identifier: FullName
columnName: DeviceEmailAddress
- identifier: Name
columnName: TargetEmailAddress
- entityType: Host
fieldMappings:
- identifier: HostName
columnName: DeviceGuid
- identifier: OSFamily
columnName: DevicePlatform
- identifier: OSVersion
columnName: DeviceOSVersion
- entityType: FileHash
fieldMappings:
- identifier: Algorithm
columnName: ThreatApplicationName
- identifier: Value
columnName: ThreatPackageSha
customDetails:
ThreatType: ThreatType
ThreatSeverity: ThreatSeverity
ThreatRiskScore: ThreatRiskScore
ThreatCategory: ThreatCategory
ThreatClasses: ThreatClassifications
ThreatStatus: ThreatStatus
DevicePlatform: DevicePlatform
DeviceSecStatus: DeviceSecurityStatus
DeviceRiskLevel: DeviceRiskLevel
ComplianceImpact: ComplianceImpact
MDMConnectorId: MDMConnectorId
alertDetailsOverride:
alertDisplayNameFormat: "High Severity Mobile Threat: {{ThreatType}} on {{DevicePlatform}} Device"
alertDescriptionFormat: "{{ThreatSeverity}} {{ThreatCategory}} threat on {{DevicePlatform}}"
alertTacticsColumnName: ThreatCategory
alertSeverityColumnName: ThreatSeverity
incidentConfiguration:
createIncident: true
groupingConfiguration:
enabled: true
reopenClosedIncident: false
lookbackDuration: P1D
matchingMethod: Selected
groupByEntities:
- Account
- Host
groupByAlertDetails:
- ThreatType
- DeviceGuid
groupByCustomDetails:
- ThreatCategory
- DevicePlatform
eventGroupingSettings:
aggregationKind: AlertPerResult
suppressionEnabled: false
suppressionDuration: PT1H
version: 2.0.5
kind: Scheduled
Stages and Predicates
Stage 1: source
LookoutEvents
Stage 2: where
| where EventType == "THREAT"
Stage 3: where
| where ThreatSeverity in ("CRITICAL", "HIGH")
Stage 4: where
| where ThreatStatus in ("OPEN", "ACTIVE")
Stage 5: where
| where ThreatAction == "DETECTED"
Stage 6: extend
| extend
ThreatRiskScore = case(
ThreatSeverity == "CRITICAL", 10,
ThreatSeverity == "HIGH", 8,
ThreatSeverity == "MEDIUM", 5,
ThreatSeverity == "LOW", 2,
1
),
DeviceRiskLevel = case(
DeviceSecurityStatus == "THREATS_HIGH", "High",
DeviceSecurityStatus == "THREATS_MEDIUM", "Medium",
DeviceSecurityStatus == "THREATS_LOW", "Low",
"Unknown"
),
ThreatCategory = case(
ThreatClassifications has "MALWARE", "Malware",
ThreatClassifications has "PHISHING", "Phishing",
ThreatClassifications has "SPYWARE", "Spyware",
ThreatClassifications has "TROJAN", "Trojan",
ThreatClassifications has "ADWARE", "Adware",
"Other"
)
DeviceRiskLevel =DeviceSecurityStatus == "THREATS_HIGH""High"DeviceSecurityStatus == "THREATS_MEDIUM""Medium"DeviceSecurityStatus == "THREATS_LOW""Low""Unknown"ThreatCategory =ThreatClassifications has "MALWARE""Malware"ThreatClassifications has "PHISHING""Phishing"ThreatClassifications has "SPYWARE""Spyware"ThreatClassifications has "TROJAN""Trojan"ThreatClassifications has "ADWARE""Adware""Other"ThreatRiskScore =ThreatSeverity == "CRITICAL"10ThreatSeverity == "HIGH"8ThreatSeverity == "MEDIUM"5ThreatSeverity == "LOW"21Stage 7: extend
| extend ComplianceImpact = case(
DeviceComplianceStatus == "Non-Compliant" and ThreatRiskScore >= 8, "Critical",
DeviceComplianceStatus == "Non-Compliant" and ThreatRiskScore >= 5, "High",
DeviceComplianceStatus == "Partial" and ThreatRiskScore >= 8, "High",
DeviceComplianceStatus == "Partial" and ThreatRiskScore >= 5, "Medium",
"Low"
)
ComplianceImpact =DeviceComplianceStatus == "Non-Compliant" and ThreatRiskScore >= 8"Critical"DeviceComplianceStatus == "Non-Compliant" and ThreatRiskScore >= 5"High"DeviceComplianceStatus == "Partial" and ThreatRiskScore >= 8"High"DeviceComplianceStatus == "Partial" and ThreatRiskScore >= 5"Medium""Low"Stage 8: project
| project
TimeGenerated,
EventId,
ThreatId,
ThreatType,
ThreatSeverity,
ThreatRiskScore,
ThreatCategory,
ThreatClassifications,
ThreatStatus,
ThreatDescription,
ThreatApplicationName,
ThreatPackageName,
ThreatPackageSha,
DeviceGuid,
DevicePlatform,
DeviceOSVersion,
DeviceManufacturer,
DeviceModel,
DeviceEmailAddress,
DeviceSecurityStatus,
DeviceRiskLevel,
DeviceComplianceStatus,
ComplianceImpact,
ClientLookoutSDKVersion,
MDMConnectorId,
MDMExternalId,
TargetEmailAddress,
TargetPlatform,
ActorType,
ActorGuid
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 |
|---|---|---|
EventType | eq |
|
ThreatAction | eq |
|
ThreatSeverity | in |
|
ThreatStatus | in |
|
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 |
|---|---|
ActorGuid | project |
ActorType | project |
ClientLookoutSDKVersion | project |
ComplianceImpact | project |
DeviceComplianceStatus | project |
DeviceEmailAddress | project |
DeviceGuid | project |
DeviceManufacturer | project |
DeviceModel | project |
DeviceOSVersion | project |
DevicePlatform | project |
DeviceRiskLevel | project |
DeviceSecurityStatus | project |
EventId | project |
MDMConnectorId | project |
MDMExternalId | project |
TargetEmailAddress | project |
TargetPlatform | project |
ThreatApplicationName | project |
ThreatCategory | project |
ThreatClassifications | project |
ThreatDescription | project |
ThreatId | project |
ThreatPackageName | project |
ThreatPackageSha | project |
ThreatRiskScore | project |
ThreatSeverity | project |
ThreatStatus | project |
ThreatType | project |
TimeGenerated | project |