This hunt hypothesis targets adversaries utilizing PureRAT to establish persistent remote access and exfiltrate sensitive data through initial vectors like phishing emails or exploit kits. Proactively hunting for these specific IOCs in Azure Sentinel is critical to rapidly identify early-stage compromises and disrupt the command and control channels before significant data loss occurs.
Malware Family: PureRAT Total IOCs: 18 IOC Types: ip:port
| Type | Value | Threat Type | First Seen | Confidence |
|---|---|---|---|---|
| ip:port | 31[.]59[.]137[.]24:443 | botnet_cc | 2026-08-16 | 75% |
| ip:port | 217[.]60[.]195[.]195:443 | botnet_cc | 2026-08-16 | 75% |
| ip:port | 217[.]60[.]195[.]110:443 | botnet_cc | 2026-08-16 | 75% |
| ip:port | 194[.]59[.]31[.]11:443 | botnet_cc | 2026-08-16 | 75% |
| ip:port | 135[.]136[.]147[.]86:443 | botnet_cc | 2026-08-16 | 75% |
| ip:port | 89[.]37[.]100[.]205:56003 | botnet_cc | 2026-08-15 | 75% |
| ip:port | 31[.]59[.]137[.]24:56003 | botnet_cc | 2026-08-15 | 75% |
| ip:port | 31[.]59[.]137[.]166:56001 | botnet_cc | 2026-08-15 | 75% |
| ip:port | 217[.]60[.]195[.]40:443 | botnet_cc | 2026-08-15 | 75% |
| ip:port | 217[.]60[.]195[.]40:56003 | botnet_cc | 2026-08-15 | 75% |
| ip:port | 217[.]60[.]195[.]197:443 | botnet_cc | 2026-08-15 | 75% |
| ip:port | 195[.]177[.]94[.]19:56001 | botnet_cc | 2026-08-15 | 75% |
| ip:port | 195[.]177[.]94[.]19:56002 | botnet_cc | 2026-08-15 | 75% |
| ip:port | 153[.]52[.]176[.]60:56003 | botnet_cc | 2026-08-15 | 75% |
| ip:port | 153[.]52[.]176[.]60:56001 | botnet_cc | 2026-08-15 | 75% |
| ip:port | 153[.]52[.]176[.]60:56002 | botnet_cc | 2026-08-15 | 75% |
| ip:port | 124[.]198[.]131[.]110:56003 | botnet_cc | 2026-08-15 | 75% |
| ip:port | 107[.]173[.]177[.]168:56003 | botnet_cc | 2026-08-15 | 75% |
// Hunt for network connections to known malicious IPs
// Source: ThreatFox - PureRAT
let malicious_ips = dynamic(["217.60.195.110", "194.59.31.11", "31.59.137.24", "217.60.195.197", "135.136.147.86", "89.37.100.205", "31.59.137.166", "195.177.94.19", "153.52.176.60", "107.173.177.168", "217.60.195.40", "124.198.131.110", "217.60.195.195"]);
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(["217.60.195.110", "194.59.31.11", "31.59.137.24", "217.60.195.197", "135.136.147.86", "89.37.100.205", "31.59.137.166", "195.177.94.19", "153.52.176.60", "107.173.177.168", "217.60.195.40", "124.198.131.110", "217.60.195.195"]);
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 |
Here are 5 specific false positive scenarios for the ThreatFox: PureRAT IOCs detection rule, including suggested filters and exclusions tailored for an enterprise environment:
Scenario: Legitimate Remote Support Sessions via Managed Tools
10.50.x.x). Additionally, filter alerts where the process name matches known legitimate RDP agents (BeyondTrustAgent.exe, TeamViewer_Service.exe) and the destination port is restricted to standard remote access ports (3389, 4932) rather than the dynamic ports often used by PureRAT.Scenario: Scheduled Backup and Exfiltration Jobs
Veeam.Backup.Service.exe or AzureBackupAgent.exe and the destination IP belongs to known