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

UniFi Site Manager Firmware version diversity within a model

Back
Id2b0ca272-72fd-c2c2-6728-7f287c22e275
RulenameUniFi Site Manager: Firmware version diversity within a model
DescriptionModels running multiple distinct firmware versions across the estate. Indicates inconsistent patch management - some units are forgotten or excluded from update windows.
TacticsReconnaissance
TechniquesT1595
Required data connectorsUniFiSiteManagerConnectorDefinition
KindHuntingQuery
Source Urihttps://github.com/Azure/Azure-Sentinel/blob/master/Solutions/UniFi Site Manager (CCF)/Hunting Queries/UniFiCloudFirmwareVersionDiversity.yaml
Version1.0.0
Arm template2b0ca272-72fd-c2c2-6728-7f287c22e275.json
Deploy To Azure
Unifi_SiteManager_Devices_CL
| where TimeGenerated > ago(2h)
| summarize arg_max(TimeGenerated, *) by Id
| summarize Devices = count(),
            SampleDevice = take_any(Name),
            ['Distinct versions'] = make_set(Version),
            ['Up-to-date count'] = countif(FirmwareStatus =~ "upToDate")
            by Model = Model
| extend ['Version count'] = array_length(['Distinct versions'])
| where ['Version count'] > 1
| order by ['Version count'] desc, Devices desc
OriginalUri: https://github.com/Azure/Azure-Sentinel/blob/master/Solutions/UniFi Site Manager (CCF)/Hunting Queries/UniFiCloudFirmwareVersionDiversity.yaml
description: |
    Models running multiple distinct firmware versions across the estate. Indicates inconsistent patch management - some units are forgotten or excluded from update windows.
id: 2b0ca272-72fd-c2c2-6728-7f287c22e275
version: 1.0.0
requiredDataConnectors:
- dataTypes:
  - Unifi_SiteManager_Devices_CL
  connectorId: UniFiSiteManagerConnectorDefinition
kind: HuntingQuery
entityMappings:
- entityType: Host
  fieldMappings:
  - identifier: HostName
    columnName: SampleDevice
query: |
  Unifi_SiteManager_Devices_CL
  | where TimeGenerated > ago(2h)
  | summarize arg_max(TimeGenerated, *) by Id
  | summarize Devices = count(),
              SampleDevice = take_any(Name),
              ['Distinct versions'] = make_set(Version),
              ['Up-to-date count'] = countif(FirmwareStatus =~ "upToDate")
              by Model = Model
  | extend ['Version count'] = array_length(['Distinct versions'])
  | where ['Version count'] > 1
  | order by ['Version count'] desc, Devices desc  
relevantTechniques:
- T1595
tactics:
- Reconnaissance
name: 'UniFi Site Manager: Firmware version diversity within a model'