The detection identifies potential adversary use of DistantDesktop, a Remote Management and Monitoring tool, to establish persistence or command and control channels by leveraging file signature anomalies. SOC teams should proactively hunt for this behavior in Azure Sentinel to detect and mitigate advanced threats exploiting legitimate RMM tools.
KQL Query
let Time_start = now(-5d);
let Time_end = now();
//
DeviceFileCertificateInfo
| where Timestamp between (Time_start..Time_end)
| where Signer has 'German Gorodokuplya'
| summarize FirstSeen=min(Timestamp), LastSeen=max(Timestamp),
Report=make_set(ReportId), Count=count() by DeviceId, DeviceName
id: 16a67b68-7d68-454e-b903-84a1462f1bd0
name: Remote Management and Monitoring tool - DistantDesktop - 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 'German Gorodokuplya'
| summarize FirstSeen=min(Timestamp), LastSeen=max(Timestamp),
Report=make_set(ReportId), Count=count() by DeviceId, DeviceName
Scenario: Legitimate scheduled job for system maintenance using DistantDesktop
Filter/Exclusion: process.parent_process_name != "DistantDesktop" or process.command_line contains "scheduled_task"
Scenario: IT admin using DistantDesktop to remotely install updates on multiple endpoints
Filter/Exclusion: process.parent_process_name != "DistantDesktop" or process.command_line contains "update" or "patch"
Scenario: System administrator using DistantDesktop to monitor disk usage and performance across the network
Filter/Exclusion: process.parent_process_name != "DistantDesktop" or process.command_line contains "monitor" or "performance"
Scenario: Regular use of DistantDesktop for remote support by the helpdesk team
Filter/Exclusion: process.parent_process_name != "DistantDesktop" or process.command_line contains "support" or "remote_assistance"
Scenario: IT team using DistantDesktop to deploy configuration changes to a group of endpoints via a script
Filter/Exclusion: process.parent_process_name != "DistantDesktop" or process.command_line contains "deploy" or "configuration"