The hypothesis is that an adversary is using the SupRemo tool to create malicious processes for persistence or command and control. SOC teams should proactively hunt for this behavior in Azure Sentinel to detect potential abuse of remote management tools by advanced threats.
KQL Query
let Time_start = now(-5d);
let Time_end = now();
//
DeviceProcessEvents
| where Timestamp between (Time_start..Time_end)
| where ProcessVersionInfoCompanyName has 'NanoSystems'
and ProcessVersionInfoProductName has 'SupRemo'
| summarize FirstSeen=min(Timestamp), LastSeen=max(Timestamp),
Report=make_set(ReportId), Count=count() by DeviceId, DeviceName
id: 81c97abb-353e-4643-8321-9e3b1b67fc58
name: Remote Management and Monitoring tool - SupRemo - 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 'NanoSystems'
and ProcessVersionInfoProductName has 'SupRemo'
| 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: Legitimate SupRemo scheduled job execution
Description: A scheduled job in SupRemo is configured to run a maintenance script on remote endpoints during off-peak hours.
Filter/Exclusion: process.parent_process_name == "SupRemoScheduler.exe" or process.command_line contains "scheduled_job"
Scenario: Admin using SupRemo to deploy software updates
Description: An IT admin is using SupRemo to push out software updates to multiple endpoints, which involves creating processes on remote machines.
Filter/Exclusion: process.user == "IT_Admin_Account" or process.command_line contains "software_update"
Scenario: SupRemo used for remote system monitoring
Description: The SupRemo tool is being used to monitor system performance and create processes as part of its monitoring functionality.
Filter/Exclusion: process.command_line contains "monitoring" or process.parent_process_name == "SupRemoMonitor.exe"
Scenario: SupRemo integration with endpoint protection tools
Description: SupRemo is integrated with an endpoint protection platform, and as part of the integration, it creates processes to communicate with the protection tool.
Filter/Exclusion: process.command_line contains "endpoint_protection_integration" or process.parent_process_name == "SupRemoIntegration.exe"
Scenario: SupRemo used for remote backup tasks
Description: IT is using SupRemo to initiate remote backup tasks, which involve creating processes to execute backup scripts on remote endpoints.
Filter/Exclusion: process.command_line contains "backup_script" or process.parent_process_name == "SupRemoBackup.exe"