Detection rules › Kusto

Cisco Cloud Security - Rare User Agent Detected

Status
available
Severity
medium
Time window
14d
Source
github.com/Azure/Azure-Sentinel

'Rule helps to detect a rare user-agents indicating web browsing activity by an unusual process other than a web browser.'

MITRE ATT&CK coverage

Rule body

id: 8c8de3fa-6425-4623-9cd9-45de1dd0569a
name: Cisco Cloud Security - Rare User Agent Detected
description: |
  'Rule helps to detect a rare user-agents indicating web browsing activity by an unusual process other than a web browser.'
severity: Medium
status: Available
requiredDataConnectors:
  - connectorId: CiscoUmbrellaDataConnector
    dataTypes:
      - Cisco_Umbrella_proxy_CL
queryFrequency: 1d
queryPeriod: 14d
triggerOperator: gt
triggerThreshold: 0
tactics:
  - CommandAndControl
  - Exfiltration
relevantTechniques:
  - T1071.001
  - T1041
query: |
  let user_agents_list = Cisco_Umbrella
  | where EventType == "proxylogs"
  | summarize count() by HttpUserAgentOriginal
  | summarize make_list(HttpUserAgentOriginal);
  Cisco_Umbrella
  | where EventType == "proxylogs"
  | where HttpUserAgentOriginal !in (user_agents_list)
  | extend Message = "Rare User Agent"
  | project TimeGenerated, Message, SrcIpAddr, DstIpAddr, UrlOriginal, HttpUserAgentOriginal
entityMappings:
  - entityType: URL
    fieldMappings:
      - identifier: Url
        columnName: UrlOriginal
  - entityType: IP
    fieldMappings:
      - identifier: Address
        columnName: SrcIpAddr
version: 1.1.3
kind: Scheduled

Stages and Predicates

Let binding: user_agents_list used in Stage 3

let user_agents_list = Cisco_Umbrella
| where EventType == "proxylogs"
| summarize count() by HttpUserAgentOriginal
| summarize make_list(HttpUserAgentOriginal);

Stage 1: source

Cisco_Umbrella

Stage 2: where

| where EventType == "proxylogs"

Stage 3: where

| where HttpUserAgentOriginal !in (user_agents_list)

Stage 4: extend

| extend Message = "Rare User Agent"

Stage 5: project

| project TimeGenerated, Message, SrcIpAddr, DstIpAddr, UrlOriginal, HttpUserAgentOriginal

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
HttpUserAgentOriginalequser_agents_listexcludes:HttpUserAgentOriginal field:"HttpUserAgentOriginal" value:"user_agents_list"

Indicators

These rows show field, operator, and value matches.

Output fields

These fields are emitted when the rule matches.

FieldSource
DstIpAddrproject
HttpUserAgentOriginalproject
Messageproject
SrcIpAddrproject
TimeGeneratedproject
UrlOriginalproject