← Back to SOC feed Coverage →

Remote Management and Monitoring tool - Level - Create Process

kql MEDIUM Azure-Sentinel
T1219
DeviceProcessEvents
huntingmicrosoftofficial
This rule was pulled from an open-source repository and enriched with AI. Validate in a test environment before deploying to production.
View original rule at Azure-Sentinel →
Retrieved: 2026-05-27T23:00:00Z · Confidence: medium

Hunt Hypothesis

A threat hunter should investigate processes created by remote management tools as they may indicate adversary persistence or command and control activity. Proactively hunting for such behavior in Azure Sentinel helps identify potential compromise of endpoints managed by RMM tools, which are commonly abused by attackers.

KQL Query

let Time_start = now(-5d);
let Time_end = now();
//
DeviceProcessEvents 
| where Timestamp between (Time_start..Time_end)
| where FileName startswith "level"
    and FolderPath has_any (
        @'\Program Files\Level\', 
        @'\Program Files (x86)\Level\'
    )
    and isempty(ProcessVersionInfoCompanyName)
    and isempty(ProcessVersionInfoProductName)
| summarize FirstSeen=min(Timestamp), LastSeen=max(Timestamp), 
    Report=make_set(ReportId), Count=count() by DeviceId, DeviceName

Analytic Rule Definition

id: 42ee6265-ed2d-42b6-9c69-095092dce2e3
name: Remote Management and Monitoring tool - Level - 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 FileName startswith "level"
      and FolderPath has_any (
          @'\Program Files\Level\', 
          @'\Program Files (x86)\Level\'
      )
      and isempty(ProcessVersionInfoCompanyName)
      and isempty(ProcessVersionInfoProductName)
  | summarize FirstSeen=min(Timestamp), LastSeen=max(Timestamp), 
      Report=make_set(ReportId), Count=count() by DeviceId, DeviceName

Required Data Sources

Sentinel TableNotes
DeviceProcessEventsEnsure this data connector is enabled

MITRE ATT&CK Context

References

False Positive Guidance

Original source: https://github.com/Azure/Azure-Sentinel/blob/main/Hunting Queries/Microsoft 365 Defender/RemoteManagementMonitoring/rmm_Level_createproc.yaml