Analytic rule catalog
Contrast ADR - WAF Alert Correlation
Back
| Id | 93641436-afb3-4921-8828-ceab0d15aaab |
| Rulename | Contrast ADR - WAF Alert Correlation |
| Description | Correlates Contrast ADR security alerts with WAF logs to identify confirmed attack attempts that were either exploited or blocked. This rule helps security teams prioritize incidents by focusing on attacks that have been validated by application security monitoring. |
| Severity | Medium |
| Tactics | InitialAccess DefenseEvasion CommandAndControl |
| Techniques | T1190 T1211 T1008 |
| Required data connectors | ContrastADRCCF |
| Kind | Scheduled |
| Query frequency | 5m |
| Query period | 5m |
| Trigger threshold | 0 |
| Trigger operator | gt |
| Source Uri | https://github.com/Azure/Azure-Sentinel/blob/master/Solutions/ContrastADR/Analytic%20Rules/Contrast_ADR_Confirmed_WAF.yaml |
| Version | 1.0.1 |
| Arm template | 93641436-afb3-4921-8828-ceab0d15aaab.json |
ContrastADRAttackEvents_CL
| where result =~ "exploited" or result =~ "blocked"
| project-rename ip=sourceIp
//please add you WAF table in place of ContrastWAFLogs_CL and WAF tables source IP or target IP column's inplace of ip and uncomment the queries below
//| join kind=inner (ContrastWAFLogs_CL | where TimeGenerated >= ago(5m)) on ip
entityMappings:
- entityType: IP
fieldMappings:
- identifier: Address
columnName: ip
name: Contrast ADR - WAF Alert Correlation
kind: Scheduled
OriginalUri: https://github.com/Azure/Azure-Sentinel/blob/master/Solutions/ContrastADR/Analytic%20Rules/Contrast_ADR_Confirmed_WAF.yaml
triggerOperator: gt
status: Available
queryPeriod: 5m
requiredDataConnectors:
- connectorId: ContrastADRCCF
dataTypes:
- ContrastADRAttackEvents_CL
tactics:
- InitialAccess
- DefenseEvasion
- CommandAndControl
query: |
ContrastADRAttackEvents_CL
| where result =~ "exploited" or result =~ "blocked"
| project-rename ip=sourceIp
//please add you WAF table in place of ContrastWAFLogs_CL and WAF tables source IP or target IP column's inplace of ip and uncomment the queries below
//| join kind=inner (ContrastWAFLogs_CL | where TimeGenerated >= ago(5m)) on ip
description: |
'Correlates Contrast ADR security alerts with WAF logs to identify confirmed attack attempts that were either exploited or blocked. This rule helps security teams prioritize incidents by focusing on attacks that have been validated by application security monitoring.'
severity: Medium
incidentConfiguration:
groupingConfiguration:
lookbackDuration: PT1H
groupByEntities:
- IP
enabled: true
matchingMethod: Selected
reopenClosedIncident: false
createIncident: true
id: 93641436-afb3-4921-8828-ceab0d15aaab
eventGroupingSettings:
aggregationKind: AlertPerResult
triggerThreshold: 0
queryFrequency: 5m
alertDetailsOverride:
alertDescriptionFormat: 'WAF Alert Confirmed {{result}} by Contrast ADR on {{request_headers_referer}} endpoint of {{application_name}} '
alertDisplayNameFormat: 'WAF Alert Confirmed {{result}} by Contrast ADR on {{request_headers_referer}} endpoint of {{application_name}} '
version: 1.0.1
relevantTechniques:
- T1190
- T1211
- T1008
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"workspace": {
"type": "String"
}
},
"resources": [
{
"apiVersion": "2024-01-01-preview",
"id": "[concat(resourceId('Microsoft.OperationalInsights/workspaces/providers', parameters('workspace'), 'Microsoft.SecurityInsights'),'/alertRules/93641436-afb3-4921-8828-ceab0d15aaab')]",
"kind": "Scheduled",
"name": "[concat(parameters('workspace'),'/Microsoft.SecurityInsights/93641436-afb3-4921-8828-ceab0d15aaab')]",
"properties": {
"alertDetailsOverride": {
"alertDescriptionFormat": "WAF Alert Confirmed {{result}} by Contrast ADR on {{request_headers_referer}} endpoint of {{application_name}} ",
"alertDisplayNameFormat": "WAF Alert Confirmed {{result}} by Contrast ADR on {{request_headers_referer}} endpoint of {{application_name}} "
},
"alertRuleTemplateName": "93641436-afb3-4921-8828-ceab0d15aaab",
"customDetails": null,
"description": "'Correlates Contrast ADR security alerts with WAF logs to identify confirmed attack attempts that were either exploited or blocked. This rule helps security teams prioritize incidents by focusing on attacks that have been validated by application security monitoring.'\n",
"displayName": "Contrast ADR - WAF Alert Correlation",
"enabled": true,
"entityMappings": [
{
"entityType": "IP",
"fieldMappings": [
{
"columnName": "ip",
"identifier": "Address"
}
]
}
],
"eventGroupingSettings": {
"aggregationKind": "AlertPerResult"
},
"incidentConfiguration": {
"createIncident": true,
"groupingConfiguration": {
"enabled": true,
"groupByEntities": [
"IP"
],
"lookbackDuration": "PT1H",
"matchingMethod": "Selected",
"reopenClosedIncident": false
}
},
"OriginalUri": "https://github.com/Azure/Azure-Sentinel/blob/master/Solutions/ContrastADR/Analytic%20Rules/Contrast_ADR_Confirmed_WAF.yaml",
"query": "ContrastADRAttackEvents_CL\n| where result =~ \"exploited\" or result =~ \"blocked\"\n| project-rename ip=sourceIp\n//please add you WAF table in place of ContrastWAFLogs_CL and WAF tables source IP or target IP column's inplace of ip and uncomment the queries below\n//| join kind=inner (ContrastWAFLogs_CL | where TimeGenerated >= ago(5m)) on ip\n",
"queryFrequency": "PT5M",
"queryPeriod": "PT5M",
"severity": "Medium",
"status": "Available",
"subTechniques": [],
"suppressionDuration": "PT1H",
"suppressionEnabled": false,
"tactics": [
"CommandAndControl",
"DefenseEvasion",
"InitialAccess"
],
"techniques": [
"T1008",
"T1190",
"T1211"
],
"templateVersion": "1.0.1",
"triggerOperator": "GreaterThan",
"triggerThreshold": 0
},
"type": "Microsoft.OperationalInsights/workspaces/providers/alertRules"
}
]
}