The detection identifies the use of LogMeIn, a Remote Management and Monitoring 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 'LogMeIn'
and ProcessVersionInfoProductName has_any (
'LogMeIn',
'LogMeInRemoteControl',
'RemotelyAnywhere'
)
| summarize FirstSeen=min(Timestamp), LastSeen=max(Timestamp),
Report=make_set(ReportId), Count=count() by DeviceId, DeviceName
id: 4dae9fe6-6f66-421f-bdbf-979bed59b7c0
name: Remote Management and Monitoring tool - LogMeIn - 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 'LogMeIn'
and ProcessVersionInfoProductName has_any (
'LogMeIn',
'LogMeInRemoteControl',
'RemotelyAnywhere'
)
| 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 LogMeIn to remotely manage a server and creates a process to install a new monitoring tool as part of a routine IT audit.
Filter/Exclusion: process.parent_process_name == "LogMeIn.exe" or process.user == "IT_Administrator"
Scenario: A scheduled job runs via LogMeIn to perform automated system health checks and generates a temporary process to gather system metrics.
Filter/Exclusion: process.name == "SystemHealthCheck.exe" or process.command_line contains "health_check"
Scenario: An IT team uses LogMeIn to deploy a patch update across multiple endpoints, which triggers a process to install the update on a target machine.
Filter/Exclusion: process.name == "PatchInstaller.exe" or process.command_line contains "patch_update"
Scenario: A user with remote access via LogMeIn is troubleshooting a service failure and manually creates a process to restart a critical service.
Filter/Exclusion: process.name == "ServiceController.exe" or process.command_line contains "restart_service"
Scenario: A legitimate LogMeIn integration with a third-party monitoring tool (e.g., SolarWinds or Nagios) creates a process to sync data between systems.
Filter/Exclusion: process.name == "SyncService.exe" or process.command_line contains "sync_data"