This rule detects the presence of known XMRIG indicators, which are frequently used by adversaries to deploy cryptocurrency miners for resource exhaustion and financial gain. Proactively hunting for these IOCs in Azure Sentinel allows the SOC to identify compromised assets before the miners consume excessive compute resources or establish persistence mechanisms.
Malware Family: XMRIG Total IOCs: 8 IOC Types: ip:port
| Type | Value | Threat Type | First Seen | Confidence |
|---|---|---|---|---|
| ip:port | 194[.]116[.]236[.]129:53 | botnet_cc | 2026-09-12 | 100% |
| ip:port | 156[.]229[.]165[.]166:53 | botnet_cc | 2026-09-12 | 100% |
| ip:port | 107[.]175[.]114[.]96:443 | botnet_cc | 2026-09-12 | 100% |
| ip:port | 216[.]9[.]226[.]82:443 | botnet_cc | 2026-09-12 | 100% |
| ip:port | 194[.]116[.]236[.]129:443 | botnet_cc | 2026-09-12 | 100% |
| ip:port | 156[.]229[.]165[.]166:443 | botnet_cc | 2026-09-12 | 100% |
| ip:port | 107[.]175[.]114[.]96:53 | botnet_cc | 2026-09-12 | 100% |
| ip:port | 216[.]9[.]226[.]82:53 | botnet_cc | 2026-09-12 | 100% |
// Hunt for network connections to known malicious IPs
// Source: ThreatFox - XMRIG
let malicious_ips = dynamic(["156.229.165.166", "194.116.236.129", "216.9.226.82", "107.175.114.96"]);
CommonSecurityLog
| where DestinationIP in (malicious_ips) or SourceIP in (malicious_ips)
| project TimeGenerated, SourceIP, DestinationIP, DestinationPort, DeviceAction, Activity
| order by TimeGenerated desc
// Hunt in Defender for Endpoint network events
let malicious_ips = dynamic(["156.229.165.166", "194.116.236.129", "216.9.226.82", "107.175.114.96"]);
DeviceNetworkEvents
| where RemoteIP in (malicious_ips)
| project Timestamp, DeviceName, RemoteIP, RemotePort, InitiatingProcessFileName, ActionType
| order by Timestamp desc
| Sentinel Table | Notes |
|---|---|
CommonSecurityLog | Ensure this data connector is enabled |
DeviceNetworkEvents | Ensure this data connector is enabled |
C:\Jenkins\workspace\, C:\AzureDevOps\) or command lines containing arguments like --cpu-test or --benchmark rather than mining pool addresses.sysbench are unavailable or need specific thread affinity control.
qa-service, perf-test, or benchmark-agent, or restrict detection to non-production network segments (e.g., VLAN 10-20).schtasks.exe, cron, systemd-timer) where the parent process is a known task scheduler and the execution window aligns with the documented maintenance window (e.g., 02:00-04:00 UTC).