The hypothesis is that an adversary is using Addigy, a Remote Monitoring and Management tool, to establish unauthorized network connections for command and control or persistence. SOC teams should proactively hunt for this behavior in Azure Sentinel to identify potential abuse of legitimate RMM tools by threat actors leveraging T1219 techniques.
KQL Query
let Time_start = now(-5d);
let Time_end = now();
//
DeviceNetworkEvents
| where Timestamp between (Time_start..Time_end)
| where RemoteUrl has_any (
'prod.addigy.com',
'grtmprod.addigy.com',
'agents.addigy.com'
)
and InitiatingProcessFileName has_any (
'go-agent',
'auditor',
'collector',
'xpcproxy',
'lan-cache',
'mdmclient',
'launchd'
)
and isempty(InitiatingProcessVersionInfoCompanyName)
| summarize FirstSeen=min(Timestamp), LastSeen=max(Timestamp),
Report=make_set(ReportId), Count=count() by DeviceId, DeviceName,
RemoteUrl
id: 4f0b3b8d-bde4-4cce-9ff7-1f0c0a7085af
name: Remote Management and Montioring tool - Addigy - 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_any (
'prod.addigy.com',
'grtmprod.addigy.com',
'agents.addigy.com'
)
and InitiatingProcessFileName has_any (
'go-agent',
'auditor',
'collector',
'xpcproxy',
'lan-cache',
'mdmclient',
'launchd'
)
and isempty(InitiatingProcessVersionInfoCompanyName)
| 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: Scheduled system updates via Addigy
Description: Addigy may trigger network connection alerts when pushing scheduled system updates to endpoints.
Filter/Exclusion: process.name != "Update.exe" or process.name != "WindowsUpdate.exe"
Scenario: Addigy agent communication with the management server
Description: The Addigy agent regularly communicates with the Addigy management server to sync policies and inventory.
Filter/Exclusion: destination_ip == "Addigy.Management.Server.IP" or process.name == "AddigyAgent.exe"
Scenario: Admin performing remote desktop session via Addigy
Description: An admin may use Addigy to initiate a remote desktop session to troubleshoot an endpoint.
Filter/Exclusion: process.name == "mstsc.exe" or process.name == "RemoteDesktop.exe"
Scenario: Addigy scheduled job to collect logs or inventory
Description: Addigy may run scheduled jobs to collect system logs or inventory data, which can result in network connections.
Filter/Exclusion: process.name == "AddigyInventory.exe" or process.name == "AddigyLogCollector.exe"
Scenario: Addigy integration with third-party tools (e.g., Microsoft Intune)
Description: Addigy may communicate with third-party tools like Microsoft Intune for policy synchronization or device management.
Filter/Exclusion: destination_ip == "Intune.Management.Server.IP" or process.name == "IntuneSync.exe"