The hypothesis is that an adversary is using the ShowMyPC tool to establish a covert network connection for remote management and potential C2 communication. SOC teams should proactively hunt for this behavior in Azure Sentinel to identify and mitigate potential persistent access or command and control activities leveraging RMM tools.
KQL Query
let Time_start = now(-5d);
let Time_end = now();
//
DeviceNetworkEvents
| where Timestamp between (Time_start..Time_end)
| where RemoteUrl has 'showmypc.com'
and InitiatingProcessVersionInfoCompanyName has 'ShowMyPC'
and InitiatingProcessVersionInfoProductName has 'ShowMyPC'
| summarize FirstSeen=min(Timestamp), LastSeen=max(Timestamp),
Report=make_set(ReportId), Count=count() by DeviceId, DeviceName,
RemoteUrl
id: 9074b61c-76e2-4793-ad48-0e9226c35c3e
name: Remote Management and Monitoring tool - ShowMyPC - Network Connection
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:
- DeviceNetworkEvents
tactics: CommandAndControl
relevantTechniques: T1219
query: |
let Time_start = now(-5d);
let Time_end = now();
//
DeviceNetworkEvents
| where Timestamp between (Time_start..Time_end)
| where RemoteUrl has 'showmypc.com'
and InitiatingProcessVersionInfoCompanyName has 'ShowMyPC'
and InitiatingProcessVersionInfoProductName has 'ShowMyPC'
| summarize FirstSeen=min(Timestamp), LastSeen=max(Timestamp),
Report=make_set(ReportId), Count=count() by DeviceId, DeviceName,
RemoteUrl
| Sentinel Table | Notes |
|---|---|
DeviceNetworkEvents | Ensure this data connector is enabled |
Scenario: IT Admin Using ShowMyPC for Remote Support
Description: A legitimate IT administrator is using ShowMyPC to provide remote support to an end-user.
Filter/Exclusion: process.name != "ShowMyPC.exe" OR user.name == "IT_Admin_Account"
Scenario: Scheduled Job for System Monitoring
Description: A scheduled task is configured to run ShowMyPC periodically to monitor system health and performance.
Filter/Exclusion: process.name == "ShowMyPC.exe" AND event_id == "ScheduledTask"
Scenario: ShowMyPC Used for Remote Patching
Description: The IT team uses ShowMyPC to remotely apply patches or updates to endpoint systems.
Filter/Exclusion: process.name == "ShowMyPC.exe" AND event_id == "PatchManagement"
Scenario: ShowMyPC Integration with SIEM for Log Collection
Description: ShowMyPC is configured to send logs to a SIEM system for centralized monitoring and analysis.
Filter/Exclusion: process.name == "ShowMyPC.exe" AND destination_ip == "SIEM_Server_IP"
Scenario: ShowMyPC Used for Remote Desktop Access
Description: ShowMyPC is used as an alternative to traditional RDP for remote desktop access to endpoint systems.
Filter/Exclusion: process.name == "ShowMyPC.exe" AND user.rights == "Domain_Admin"