The detection identifies the use of Pulseway, a remote management tool, to create processes that may indicate adversary persistence or command and control activity. SOC teams should proactively hunt for this behavior in Azure Sentinel to detect potential abuse of legitimate RMM tools by adversaries leveraging T1219 techniques.
KQL Query
let Time_start = now(-5d);
let Time_end = now();
//
DeviceProcessEvents
| where Timestamp between (Time_start..Time_end)
| where ProcessVersionInfoCompanyName has 'MMSoft Design'
and ProcessVersionInfoProductName has 'Pulseway'
| summarize FirstSeen=min(Timestamp), LastSeen=max(Timestamp),
Report=make_set(ReportId), Count=count() by DeviceId, DeviceName
id: f6f5c4c8-d942-447b-aa61-9d6df846b17f
name: Remote Management and Monitoring tool - Pulseway - 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 'MMSoft Design'
and ProcessVersionInfoProductName has 'Pulseway'
| 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 Pulseway to remotely deploy a scheduled task to update software across multiple endpoints.
Filter/Exclusion: Exclude processes initiated from known admin IP ranges or user accounts with elevated privileges (e.g., Administrator, Domain Admins).
Scenario: A Pulseway agent is being used to create a scheduled job for system monitoring, such as checking disk usage or CPU load.
Filter/Exclusion: Exclude processes where the command line includes known monitoring commands (e.g., check_disk, check_cpu) or matches known Pulseway job templates.
Scenario: A Pulseway remote management session is used to deploy a legitimate configuration change, such as updating firewall rules or group policy settings.
Filter/Exclusion: Exclude processes where the parent process is a known Pulseway service or where the command line includes configuration management keywords (e.g., update_gpo, firewall_rule).
Scenario: A Pulse Microsoft Endpoint Manager (Intune) integration with Pulseway is used to push a software update to endpoints.
Filter/Exclusion: Exclude processes where the command line includes Intune-related identifiers (e.g., Intune, Microsoft Endpoint Manager) or where the process is initiated from a known Intune management IP.
Scenario: A Pulseway remote management tool is used to create a temporary process for diagnostic purposes, such as running a system health check.
Filter/Exclusion: Exclude processes that are short-lived and initiated from known diagnostic tools or where the command line includes diagnostic keywords (e.g., health_check, diagnostic_tool).