Microsoft Sentinel Analytic Rules
cloudbrothers.infoAzure Sentinel RepoToggle Dark/Light/Auto modeToggle Dark/Light/Auto modeToggle Dark/Light/Auto modeBack to homepage

Google Threat Intelligence - Threat Hunting Hash

Back
Id8f9cd0e5-b4ab-4821-95e2-1082fcd784c7
RulenameGoogle Threat Intelligence - Threat Hunting Hash
DescriptionGoogle Threat Intelligence hash correlation.
SeverityMedium
TacticsExecution
TechniquesT1059
Required data connectorsThreatIntelligence
KindScheduled
Query frequency30m
Query period1d
Trigger threshold0
Trigger operatorgt
Source Urihttps://github.com/Azure/Azure-Sentinel/blob/master/Solutions/Google Threat Intelligence/Analytic Rules/ThreatHunting/ThreatHuntHash.yaml
Version1.0.0
Arm template8f9cd0e5-b4ab-4821-95e2-1082fcd784c7.json
Deploy To Azure
let ioc_lookBack = 1d;
_Im_FileEvent
| where isnotempty(Hash)
| extend lowerHash=tolower(Hash)
| join kind=inner (
ThreatIntelIndicators
| where ObservableKey contains 'file:hashes'
| where isnotempty(ObservableValue)
| where SourceSystem == "Google Threat Intelligence"
| where TimeGenerated >= ago(ioc_lookBack)
| summarize LatestIndicatorTime = arg_max(TimeGenerated, *) by Id
| where IsActive == true and (isnull(ValidUntil) or ValidUntil > now())
| extend lowerHash=tolower(ObservableValue)
) on lowerHash
| project Hash=ObservableValue, HashType=extract("file:hashes.('[^']*')", 1, ObservableKey), Description=Data.description, Type, TimeGenerated
query: |
  let ioc_lookBack = 1d;
  _Im_FileEvent
  | where isnotempty(Hash)
  | extend lowerHash=tolower(Hash)
  | join kind=inner (
  ThreatIntelIndicators
  | where ObservableKey contains 'file:hashes'
  | where isnotempty(ObservableValue)
  | where SourceSystem == "Google Threat Intelligence"
  | where TimeGenerated >= ago(ioc_lookBack)
  | summarize LatestIndicatorTime = arg_max(TimeGenerated, *) by Id
  | where IsActive == true and (isnull(ValidUntil) or ValidUntil > now())
  | extend lowerHash=tolower(ObservableValue)
  ) on lowerHash
  | project Hash=ObservableValue, HashType=extract("file:hashes.('[^']*')", 1, ObservableKey), Description=Data.description, Type, TimeGenerated  
queryPeriod: 1d
version: 1.0.0
severity: Medium
id: 8f9cd0e5-b4ab-4821-95e2-1082fcd784c7
name: Google Threat Intelligence - Threat Hunting Hash
description: |
    'Google Threat Intelligence hash correlation.'
queryFrequency: 30m
requiredDataConnectors:
- dataTypes:
  - ThreatIntelIndicators
  connectorId: ThreatIntelligence
eventGroupingSettings:
  aggregationKind: AlertPerResult
kind: Scheduled
OriginalUri: https://github.com/Azure/Azure-Sentinel/blob/master/Solutions/Google Threat Intelligence/Analytic Rules/ThreatHunting/ThreatHuntHash.yaml
tactics:
- Execution
triggerThreshold: 0
incidentConfiguration:
  groupingConfiguration:
    reopenClosedIncident: false
    lookbackDuration: 1h
    matchingMethod: AllEntities
    enabled: true
  createIncident: true
entityMappings:
- entityType: FileHash
  fieldMappings:
  - columnName: Hash
    identifier: Value
  - columnName: HashType
    identifier: Algorithm
relevantTechniques:
- T1059
alertDetailsOverride:
  alertDisplayNameFormat: Google Threat Intelligence Match
  alertDescriptionFormat: Correlation found from the {{Type}} table.
triggerOperator: gt