Contrast Probes
| Id | 297596de-d9ae-4fb8-b6ff-00fc01c9462d |
| Rulename | Contrast Probes |
| Description | Creates Incidents for Probed events sourced from the Contrast Protect agent. |
| Severity | Informational |
| Tactics | InitialAccess Exfiltration |
| Techniques | T1566 |
| Required data connectors | CefAma ContrastProtect ContrastProtectAma |
| Kind | Scheduled |
| Query frequency | 5m |
| Query period | 5m |
| Trigger threshold | 10 |
| Trigger operator | gt |
| Source Uri | https://github.com/Azure/Azure-Sentinel/blob/master/Solutions/Contrast Protect/Analytic Rules/ContrastProbes.yaml |
| Version | 1.0.2 |
| Arm template | 297596de-d9ae-4fb8-b6ff-00fc01c9462d.json |
let extract_data=(a:string, k:string) {
parse_urlquery(replace(@';', @'&', a))["Query Parameters"][k]
};
CommonSecurityLog
| where DeviceVendor == "Contrast Security"
| where AdditionalExtensions contains "PROBED" or AdditionalExtensions contains "INEFFECTIVE"
| extend DeviceProduct
| extend SourceIP
| extend DeviceVersion
| extend Activity
| extend ApplicationProtocol
| extend RequestURL
| extend RequestMethod
| extend Rule = extract_data(AdditionalExtensions, 'pri')
description: |
'Creates Incidents for Probed events sourced from the Contrast Protect agent.'
version: 1.0.2
triggerThreshold: 10
tactics:
- InitialAccess
- Exfiltration
queryPeriod: 5m
OriginalUri: https://github.com/Azure/Azure-Sentinel/blob/master/Solutions/Contrast Protect/Analytic Rules/ContrastProbes.yaml
entityMappings:
- fieldMappings:
- columnName: SourceIP
identifier: Address
entityType: IP
- fieldMappings:
- columnName: RequestURL
identifier: Url
entityType: URL
- fieldMappings:
- columnName: ApplicationProtocol
identifier: Name
entityType: CloudApplication
- fieldMappings:
- columnName: Activity
identifier: Name
- columnName: Rule
identifier: Category
entityType: Malware
triggerOperator: gt
status: Available
id: 297596de-d9ae-4fb8-b6ff-00fc01c9462d
name: Contrast Probes
queryFrequency: 5m
severity: Informational
kind: Scheduled
customDetails:
Details: AdditionalExtensions
AgentVersion: DeviceVersion
Agent: DeviceProduct
Attack: Activity
Application: ApplicationProtocol
relevantTechniques:
- T1566
query: |
let extract_data=(a:string, k:string) {
parse_urlquery(replace(@';', @'&', a))["Query Parameters"][k]
};
CommonSecurityLog
| where DeviceVendor == "Contrast Security"
| where AdditionalExtensions contains "PROBED" or AdditionalExtensions contains "INEFFECTIVE"
| extend DeviceProduct
| extend SourceIP
| extend DeviceVersion
| extend Activity
| extend ApplicationProtocol
| extend RequestURL
| extend RequestMethod
| extend Rule = extract_data(AdditionalExtensions, 'pri')
requiredDataConnectors:
- dataTypes:
- CommonSecurityLog
connectorId: ContrastProtect
- dataTypes:
- CommonSecurityLog
connectorId: ContrastProtectAma
- dataTypes:
- CommonSecurityLog
connectorId: CefAma