The hypothesis is that the detection identifies potential adversary use of MSP360_CloudBerry for remote management and persistence, leveraging its file signature to establish covert communication channels. SOC teams should proactively hunt for this behavior to detect and mitigate advanced persistent threats exploiting legitimate RMM tools in their Azure Sentinel environment.
KQL Query
let Time_start = now(-5d);
let Time_end = now();
//
DeviceFileCertificateInfo
| where Timestamp between (Time_start..Time_end)
| where Signer has_any (
'MSPBytes',
'Trichilia Consultants'
)
| summarize FirstSeen=min(Timestamp), LastSeen=max(Timestamp),
Report=make_set(ReportId), Count=count() by DeviceId, DeviceName
id: 710d6c5f-1a42-4056-aa0c-104aab8ca790
name: Remote Management and Monitoring tool - MSP360_CloudBerry - File Signature
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:
- DeviceFileCertificateInfo
tactics: CommandAndControl
relevantTechniques: T1219
query: |
let Time_start = now(-5d);
let Time_end = now();
//
DeviceFileCertificateInfo
| where Timestamp between (Time_start..Time_end)
| where Signer has_any (
'MSPBytes',
'Trichilia Consultants'
)
| summarize FirstSeen=min(Timestamp), LastSeen=max(Timestamp),
Report=make_set(ReportId), Count=count() by DeviceId, DeviceName
Scenario: Legitimate scheduled backup job using CloudBerry Backup
Filter/Exclusion: process.name != "CloudBerryBackup.exe" or process.parent.name != "CloudBerryBackup.exe"
Scenario: System administrator using MSP360 to remotely manage a workstation
Filter/Exclusion: process.user != "admin_user" or process.parent.name != "MSP360.exe"
Scenario: IT team performing a remote file signature scan using CloudBerry
Filter/Exclusion: process.name != "CloudBerryScan.exe" or file.hash in ("known_good_hashes")
Scenario: Scheduled remote system monitoring task using MSP360
Filter/Exclusion: process.name != "MSP360Monitor.exe" or process.command_line contains "monitor"
Scenario: Admin using CloudBerry to transfer files between servers during a routine migration
Filter/Exclusion: process.name != "CloudBerryTransfer.exe" or file.path contains "migration_folder"