← Back to SOC feed Coverage →

Remote Management and Monitoring tool - RealVNC - Network Connection

kql MEDIUM Azure-Sentinel
T1219
DeviceNetworkEvents
huntingmicrosoftofficial
This rule was pulled from an open-source repository and enriched with AI. Validate in a test environment before deploying to production.
View original rule at Azure-Sentinel →
Retrieved: 2026-05-31T23:00:00Z · Confidence: medium

Hunt Hypothesis

The detection identifies potential use of RealVVC as a remote management tool by adversaries establishing unauthorized network connections for command and control. SOC teams should proactively hunt for this behavior to detect and mitigate persistent threats leveraging RMM tools for C2 in their Azure Sentinel environment.

KQL Query

let Time_start = now(-5d);
let Time_end = now();
//
DeviceNetworkEvents
| where Timestamp between (Time_start..Time_end)
| where RemoteUrl has_any (
        'update-check.realvnc.com',
        'services.vnc.com'
    )
    and InitiatingProcessVersionInfoCompanyName has 'realvnc'
| summarize FirstSeen=min(Timestamp), LastSeen=max(Timestamp), 
    Report=make_set(ReportId), Count=count() by DeviceId, DeviceName,
    RemoteUrl 

Analytic Rule Definition

id: b27b5b31-4cdf-4c1a-87f9-10c127f2570d
name: Remote Management and Monitoring tool - RealVNC - Network Connection
description: |
    Remote Monitoring and Management (RMM) programs are IT to manage remote endpoints. Attackers have begun to abuse these programs to persist or provide C2 channels.
    https://github.com/jischell-msft/RemoteManagementMonitoringTools
requiredDataConnectors:
- connectorId: MicrosoftThreatProtection
  dataTypes:
  - DeviceNetworkEvents
tactics: CommandAndControl
relevantTechniques: T1219
query: |
  let Time_start = now(-5d);
  let Time_end = now();
  //
  DeviceNetworkEvents
  | where Timestamp between (Time_start..Time_end)
  | where RemoteUrl has_any (
          'update-check.realvnc.com',
          'services.vnc.com'
      )
      and InitiatingProcessVersionInfoCompanyName has 'realvnc'
  | summarize FirstSeen=min(Timestamp), LastSeen=max(Timestamp), 
      Report=make_set(ReportId), Count=count() by DeviceId, DeviceName,
      RemoteUrl 

Required Data Sources

Sentinel TableNotes
DeviceNetworkEventsEnsure this data connector is enabled

MITRE ATT&CK Context

References

False Positive Guidance

Original source: https://github.com/Azure/Azure-Sentinel/blob/main/Hunting Queries/Microsoft 365 Defender/RemoteManagementMonitoring/rmm_RealVNC_netconn.yaml