CiscoSyslogUTD
| where isnotempty(Malware) and Malware != "None"
| distinct Malware, SourceIP
| join kind=inner (CiscoSDWANNetflow
| where isnotempty(NetflowUsername)
| summarize arg_max(TimeStamp, NetflowUsername) by NetflowFwSrcAddrIpv4
| distinct
["Username"] = NetflowUsername,
["SourceIP"] = NetflowFwSrcAddrIpv4) on SourceIP
| project Malware, SourceIP, Username
relevantTechniques:
- T1587.001
customDetails:
mal_malware: Malware
mal_username: Username
mal_src_ip: SourceIP
severity: High
queryFrequency: 3h
triggerOperator: gt
incidentConfiguration:
createIncident: true
name: Cisco SDWAN - Maleware Events
requiredDataConnectors:
- connectorId: CiscoSDWAN
dataTypes:
- CiscoSyslogUTD
- connectorId: CiscoSDWAN
dataTypes:
- CiscoSDWANNetflow
triggerThreshold: 0
tactics:
- ResourceDevelopment
id: cb14defd-3415-4420-a2e4-2dd0f3e07a86
entityMappings:
- fieldMappings:
- columnName: SourceIP
identifier: Address
entityType: IP
- fieldMappings:
- columnName: Malware
identifier: Name
entityType: Malware
- fieldMappings:
- columnName: Username
identifier: Name
entityType: Account
kind: Scheduled
status: Available
description: |
'This analytic rule will monitor Malware Events in Syslog and Netflow Data'
query: |
CiscoSyslogUTD
| where isnotempty(Malware) and Malware != "None"
| distinct Malware, SourceIP
| join kind=inner (CiscoSDWANNetflow
| where isnotempty(NetflowUsername)
| summarize arg_max(TimeStamp, NetflowUsername) by NetflowFwSrcAddrIpv4
| distinct
["Username"] = NetflowUsername,
["SourceIP"] = NetflowFwSrcAddrIpv4) on SourceIP
| project Malware, SourceIP, Username
version: 1.0.1
OriginalUri: https://github.com/Azure/Azure-Sentinel/blob/master/Solutions/Cisco SD-WAN/Analytic Rules/CiscoSDWANSentinelMalwareEvents.yaml
eventGroupingSettings:
aggregationKind: AlertPerResult
queryPeriod: 3h