The hypothesis is that an adversary is using the MSP360_CloudBerry tool to create processes for persistence or establish command and control channels. SOC teams should proactively hunt for this behavior in Azure Sentinel to identify potential compromise of remote endpoints managed by RMM tools.
KQL Query
let Time_start = now(-5d);
let Time_end = now();
//
DeviceProcessEvents
| where Timestamp between (Time_start..Time_end)
| where ProcessVersionInfoCompanyName has_any (
'CloudBerry',
'MSP360'
)
and ProcessVersionInfoProductName has_any (
'RMM',
'Remote',
'Connect',
'Cloud.Ra',
'RM Service'
)
| summarize FirstSeen=min(Timestamp), LastSeen=max(Timestamp),
Report=make_set(ReportId), Count=count() by DeviceId, DeviceName
id: 2ed71614-0c21-4a41-962a-386234d5d000
name: Remote Management and Monitoring tool - MSP360_CloudBerry - 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_any (
'CloudBerry',
'MSP360'
)
and ProcessVersionInfoProductName has_any (
'RMM',
'Remote',
'Connect',
'Cloud.Ra',
'RM Service'
)
| 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 Scheduled Job Execution
Description: A system administrator schedules a job using MSP360 or CloudBerry to back up files or perform routine maintenance.
Filter/Exclusion: process.parent_process_name == "schtasks.exe" or process.command_line contains "schtasks /create"
Scenario: Admin Task for Remote System Management
Description: An IT admin uses MSP360 to remotely manage a workstation, such as deploying software updates or configuring settings.
Filter/Exclusion: process.parent_process_name == "mspsvc.exe" or process.command_line contains "mspsvc"
Scenario: CloudBerry Backup Process Running Normally
Description: CloudBerry is configured to run backup jobs on a schedule, which involves creating processes to interact with remote systems.
Filter/Exclusion: process.command_line contains "CloudBerryBackup.exe" or process.name == "CloudBerryBackup.exe"
Scenario: Remote PowerShell Session for Management
Description: An admin uses PowerShell remoting via MSP360 to execute commands on a remote endpoint, which may trigger process creation.
Filter/Exclusion: process.parent_process_name == "powershell.exe" and process.command_line contains "Invoke-Command"
Scenario: System Update or Patch Deployment
Description: A patching tool or update manager (e.g., SCCM, WSUS) uses MSP360 or CloudBerry to deploy updates, which may involve process creation.
Filter/Exclusion: process.command_line contains "wsusutil.exe" or process.command_line contains "setup.exe"