CiscoSEGEvent
| where NetworkDirection =~ 'Incoming'
| extend rec_domain = extract(@'@(.*)', 1, DstUserName)
| extend s_domain = extract(@'@(.*)', 1, SrcUserName)
| where s_domain != rec_domain
| where tostring(AdditionalFields) has 'ESASDRDomainAge'
| extend domain_age = extract(@'ESASDRDomainAge":"(.*days)"', 1, tostring(AdditionalFields))
| extend yy = toint(extract(@'(\d+)\syears', 1, domain_age))
| extend mm = toint(extract(@'(\d+)\smonths', 1, domain_age))
| extend dd = toint(extract(@'(\d+)\sdays', 1, domain_age))
| where isempty(yy)
| where isempty(mm) or mm <= 2
| extend AccountCustomEntity = SrcUserName
query: |
CiscoSEGEvent
| where NetworkDirection =~ 'Incoming'
| extend rec_domain = extract(@'@(.*)', 1, DstUserName)
| extend s_domain = extract(@'@(.*)', 1, SrcUserName)
| where s_domain != rec_domain
| where tostring(AdditionalFields) has 'ESASDRDomainAge'
| extend domain_age = extract(@'ESASDRDomainAge":"(.*days)"', 1, tostring(AdditionalFields))
| extend yy = toint(extract(@'(\d+)\syears', 1, domain_age))
| extend mm = toint(extract(@'(\d+)\smonths', 1, domain_age))
| extend dd = toint(extract(@'(\d+)\sdays', 1, domain_age))
| where isempty(yy)
| where isempty(mm) or mm <= 2
| extend AccountCustomEntity = SrcUserName
version: 1.0.3
triggerOperator: gt
OriginalUri: https://github.com/Azure/Azure-Sentinel/blob/master/Solutions/CiscoSEG/Analytic Rules/CiscoSEGSuspiciousSenderDomain.yaml
status: Available
description: |
'Detects suspicious sender domain age.'
queryFrequency: 1h
name: Cisco SEG - Suspicious sender domain
kind: Scheduled
triggerThreshold: 0
id: ef0a253c-95b5-48e1-8ebc-dbeb073b9338
requiredDataConnectors:
- connectorId: CefAma
dataTypes:
- CommonSecurityLog
severity: Medium
queryPeriod: 1h
entityMappings:
- fieldMappings:
- columnName: AccountCustomEntity
identifier: Name
entityType: Account
relevantTechniques:
- T1566
tactics:
- InitialAccess