The hypothesis is that an adversary is using BeyondTrust to create processes for persistence or establish a C2 channel by leveraging its remote management capabilities. SOC teams should proactively hunt for this behavior in Azure Sentinel to detect potential abuse of RMM tools by advanced threats.
let Time_start = now(-5d);
let Time_end = now();
//
DeviceProcessEvents
| where Timestamp between (Time_start..Time_end)
| where ProcessVersionInfoCompanyName has_any ('BeyondTrust', 'Bomgar')
| summarize FirstSeen=min(Timestamp), LastSeen=max(Timestamp),
Report=make_set(ReportId), Count=count() by DeviceId, DeviceName
id: ed311c3c-8c3c-440c-b1a4-2b613e0414df
name: Remote Management and Monitoring tool - BeyondTrust - 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 ('BeyondTrust', 'Bomgar')
| 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: A system administrator is using BeyondTrust to create a process for a legitimate maintenance script scheduled via Task Scheduler.
Filter/Exclusion: process.parent_process_name == "Task Scheduler" or process.command_line contains "schtasks.exe"
Scenario: An IT team is deploying a new endpoint monitoring agent via BeyondTrust, which requires creating a process to install the agent.
Filter/Exclusion: process.file_path contains "endpoint_monitoring_agent.exe" or process.command_line contains "install_agent"
Scenario: A user is using BeyondTrust to remotely execute a PowerShell script for system cleanup, which creates a temporary process.
Filter/Exclusion: process.file_path contains "powershell.exe" and process.command_line contains "Cleanup-System.ps1"
Scenario: A scheduled job via BeyondTrust is configured to run a system diagnostic tool, which creates a process as part of its operation.
Filter/Exclusion: process.file_path contains "diagnostic_tool.exe" or process.command_line contains "diagnostic_run.bat"
Scenario: An admin is using BeyondTrust to remotely create a process for a legitimate third-party application update, such as a security patch.
Filter/Exclusion: process.file_path contains "update_tool.exe" or process.command_line contains "apply_patch.bat"