Detection rules › Kusto

SpyCloud Enterprise Breach Detection

This is a third-party alert feed, not a detection over modeled telemetry. The vendor product raised the finding; this rule forwards it into the SIEM. It is searchable for reference but is excluded from the detection-rule browse and the ATT&CK coverage matrix.

Status
available
Severity
high
Time window
12h
Source
github.com/Azure/Azure-Sentinel

'This alert creates an incident when an malware record is detected in the SpyCloud watchlist data'

MITRE ATT&CK coverage

TacticTechniques
Credential AccessT1555 Credentials from Password Stores

Rule body kusto

id: cb410ad5-6e9d-4278-b963-1e3af205d680
name: SpyCloud Enterprise Breach Detection
description: |
  'This alert creates an incident when an malware record is detected in the SpyCloud watchlist data'
severity: High
requiredDataConnectors: []
status: Available
queryFrequency: 12h
queryPeriod: 12h
triggerOperator: gt
triggerThreshold: 0
suppressionDuration: 5h
tactics: 
  - CredentialAccess
relevantTechniques:
  - T1555
query: |
  SpyCloudBreachDataWatchlist_CL
  | where Severity_s == '20'
  | project TimeGenerated, Document_Id_g, Source_Id_s, SpyCloud_Publish_Date_t, Email_s, Domain_s, Password_s, Password_Plaintext_s, Username_s, IP_Address_s
incidentConfiguration:
  createIncident: true
  groupingConfiguration:
    enabled: true
    reopenClosedIncident: false
    lookbackDuration: 12h
    matchingMethod: AllEntities
eventGroupingSettings:
  aggregationKind: AlertPerResult
alertDetailsOverride: null
entityMappings:
  - entityType: Account
    fieldMappings:
      - identifier: FullName
        columnName: Email_s
  - entityType: Account
    fieldMappings:
      - identifier: Name
        columnName: Username_s
  - entityType: IP
    fieldMappings:
      - identifier: Address
        columnName: IP_Address_s
customDetails:
  Document_Id: Document_Id_g
  Password: Password_s
  Password_Plaintext: Password_Plaintext_s
  Source_Id: Source_Id_s
  Domain: Domain_s
  PublishDate: SpyCloud_Publish_Date_t
sentinelEntitiesMappings: null
version: 1.0.1
kind: Scheduled

Stages and Predicates

Stage 1: source

SpyCloudBreachDataWatchlist_CL

Stage 2: where

| where Severity_s == '20'

Stage 3: project

| project TimeGenerated, Document_Id_g, Source_Id_s, SpyCloud_Publish_Date_t, Email_s, Domain_s, Password_s, Password_Plaintext_s, Username_s, IP_Address_s

Indicators

Each row is a field, operator, and value that the rule matches. The corpus column counts how many other rules in the catalog look for the same combination: high numbers point to widely-used, community-vetted indicators. Blank or 1 shows that the indicator is specific to this rule.

FieldKindValues
Severity_seq
  • 20 transforms: cased

Output fields

Fields the rule emits when it matches. Chronicle authors list these in the outcome block; they appear on the detection and $risk_score drives alerting. Sentinel / Defender XDR rules build them up through project / summarize / extend stages. Sentinel maps these into alert fields via entityMappings and customDetails; Defender XDR custom detections surface them as alert fields directly.

FieldSource
Document_Id_gproject
Domain_sproject
Email_sproject
IP_Address_sproject
Password_Plaintext_sproject
Password_sproject
Source_Id_sproject
SpyCloud_Publish_Date_tproject
TimeGeneratedproject
Username_sproject