Unusual network connections from MSP360_CloudBerry to external domains may indicate adversary use of the tool for C2 or persistence. SOC teams should proactively hunt for this behavior to detect potential compromise of endpoints managed by RMM tools.
KQL Query
let Time_start = now(-5d);
let Time_end = now();
//
DeviceNetworkEvents
| where Timestamp between (Time_start..Time_end)
| where RemoteUrl has_any (
'rm.mspbackups.com',
'client.rmm.mspbackups.com',
'settings.services.mspbackups.com',
'connect.ra.msp360.com',
'foris.cloudberrylab.com'
)
and InitiatingProcessVersionInfoCompanyName has_any (
'CloudBerry',
'MSP360'
)
| summarize FirstSeen=min(Timestamp), LastSeen=max(Timestamp),
Report=make_set(ReportId), Count=count() by DeviceId, DeviceName,
RemoteUrl
id: 3a4d43d5-2326-467c-a22a-4f1f1f3e2890
name: Remote Management and Monitoring tool - MSP360_CloudBerry - 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 (
'rm.mspbackups.com',
'client.rmm.mspbackups.com',
'settings.services.mspbackups.com',
'connect.ra.msp360.com',
'foris.cloudberrylab.com'
)
and InitiatingProcessVersionInfoCompanyName has_any (
'CloudBerry',
'MSP360'
)
| 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 Backup Job Using MSP360
Description: A legitimate backup job initiated by MSP360 is establishing a network connection to a remote server for data transfer.
Filter/Exclusion: process.name == "MSP360Backup.exe" or process.name == "CloudBerryBackup.exe"
Scenario: CloudBerry Sync Job Running on Endpoint
Description: CloudBerry is synchronizing files between the endpoint and a cloud storage service, which may trigger network connection alerts.
Filter/Exclusion: process.name == "CloudBerrySync.exe" or destination_ip == "cloudberry.com"
Scenario: Admin Performing Remote System Monitoring via MSP360
Description: An IT admin is using MSP360 to monitor system performance and check logs on a remote endpoint.
Filter/Exclusion: user == "ITAdminUser" or process.name == "MSP360Monitor.exe"
Scenario: Network Discovery via CloudBerry Agent
Description: The CloudBerry agent is performing a network discovery scan to map the internal network for configuration purposes.
Filter/Exclusion: process.name == "CloudBerryAgent.exe" and destination_port == 445 or destination_port == 139
Scenario: Remote PowerShell Session for Troubleshooting
Description: An admin is using PowerShell remoting via CloudBerry to troubleshoot an endpoint, which may trigger network connection alerts.
Filter/Exclusion: process.name == "powershell.exe" and command_line contains "Invoke-Command" or user == "ITAdminUser"