The hypothesis is that an adversary is using the RemotePC tool to create processes for persistence or command and control. SOC teams should proactively hunt for this behavior in Azure Sentinel to identify potential abuse of legitimate remote management tools by threat actors.
KQL Query
let Time_start = now(-5d);
let Time_end = now();
//
DeviceProcessEvents
| where Timestamp between (Time_start..Time_end)
| where ProcessVersionInfoCompanyName has 'idrive'
and ProcessVersionInfoProductName has_any (
'remotepc',
'viewer',
'remotedesktop'
)
| summarize FirstSeen=min(Timestamp), LastSeen=max(Timestamp),
Report=make_set(ReportId), Count=count() by DeviceId, DeviceName
id: 9d0d3529-3e9d-4a37-9d77-edc30123f392
name: Remote Management and Monitoring tool - RemotePC - Create Process
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:
- DeviceProcessEvents
tactics: CommandAndControl
relevantTechniques: T1219
query: |
let Time_start = now(-5d);
let Time_end = now();
//
DeviceProcessEvents
| where Timestamp between (Time_start..Time_end)
| where ProcessVersionInfoCompanyName has 'idrive'
and ProcessVersionInfoProductName has_any (
'remotepc',
'viewer',
'remotedesktop'
)
| summarize FirstSeen=min(Timestamp), LastSeen=max(Timestamp),
Report=make_set(ReportId), Count=count() by DeviceId, DeviceName
| Sentinel Table | Notes |
|---|---|
DeviceProcessEvents | Ensure this data connector is enabled |
Scenario: IT Admin Launches RemotePC to Deploy a Patch via Scheduled Job
Description: An IT administrator uses RemotePC to execute a scheduled job that deploys a software update to multiple endpoints.
Filter/Exclusion: process.parent_process_name == "Task Scheduler" or process.command_line contains "patch" or "update"
Scenario: System Administrator Uses RemotePC to Run a Diagnostic Script
Description: A system administrator uses RemotePC to run a diagnostic script on a remote machine to troubleshoot a performance issue.
Filter/Exclusion: process.command_line contains "diagnostic" or "script" or "troubleshoot"
Scenario: RemotePC is Used to Execute a Legitimate Configuration Management Task
Description: A configuration management tool (e.g., Ansible, Puppet) uses RemotePC to execute a configuration change on a remote endpoint.
Filter/Exclusion: process.parent_process_name contains "ansible" or "puppet" or "chef"
Scenario: RemotePC is Used to Run a Legitimate Backup Job
Description: A backup solution (e.g., Veeam, Acronis) uses RemotePC to initiate a backup process on a remote endpoint.
Filter/Exclusion: process.command_line contains "backup" or "restore" or "snapshot"
Scenario: RemotePC is Used to Run a Legitimate Software Deployment via Group Policy
Description: A Group Policy Object (GPO) triggers a RemotePC process to deploy software to a group of endpoints.
Filter/Exclusion: process.parent_process_name contains "gpupdate" or "group policy" or process.command_line contains "deploy" or "install"