UltraViewer is being used by adversaries to establish covert network connections for remote management and command and control activities. SOC teams should proactively hunt for this behavior in Azure Sentinel to identify potential persistent access and exfiltration channels used by threat actors.
KQL Query
let Time_start = now(-5d);
let Time_end = now();
//
DeviceNetworkEvents
| where Timestamp between (Time_start..Time_end)
| where RemoteUrl has 'ultraviewer.net'
and InitiatingProcessVersionInfoCompanyName has 'DucFabulous'
and InitiatingProcessVersionInfoProductName has 'UltraViewer'
| summarize FirstSeen=min(Timestamp), LastSeen=max(Timestamp),
Report=make_set(ReportId), Count=count() by DeviceId, DeviceName,
RemoteUrl
id: da07fd48-7420-4164-a837-2d39451af10b
name: Remote Management and Monitoring tool - UltraViewer - 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 'ultraviewer.net'
and InitiatingProcessVersionInfoCompanyName has 'DucFabulous'
and InitiatingProcessVersionInfoProductName has 'UltraViewer'
| summarize FirstSeen=min(Timestamp), LastSeen=max(Timestamp),
Report=make_set(ReportId), Count=count() by DeviceId, DeviceName,
RemoteUrl
| Sentinel Table | Notes |
|---|---|
DeviceNetworkEvents | Ensure this data connector is enabled |
Scenario: Scheduled System Maintenance via UltraViewer
Description: An admin uses UltraViewer to perform routine system maintenance on a server during off-hours.
Filter/Exclusion: process.parent_process_name != "UltraViewer" OR process.command_line contains "scheduled_task"
Scenario: Remote Desktop Protocol (RDP) Session via UltraViewer
Description: An IT admin connects to a remote machine using UltraViewer to troubleshoot an RDP session.
Filter/Exclusion: process.name != "UltraViewer" OR process.command_line contains "rdp"
Scenario: Software Update Deployment via UltraViewer
Description: A system administrator uses UltraViewer to push out a software update to multiple endpoints.
Filter/Exclusion: process.command_line contains "update" OR process.parent_process_name contains "task scheduler"
Scenario: Remote File Transfer Using UltraViewer
Description: An admin uses UltraViewer to transfer configuration files to a remote server as part of a deployment.
Filter/Exclusion: process.command_line contains "copy" or "scp" OR process.parent_process_name contains "deployment_tool"
Scenario: Remote Monitoring Tool Integration with SIEM
Description: UltraViewer is used to monitor and collect logs from endpoints, which are then sent to a SIEM system.
Filter/Exclusion: process.command_line contains "log" or "siem" OR process.parent_process_name contains "log collector"