This hunt detects adversary activity involving six specific indicators of compromise linked to the PureRAT remote access trojan, which is frequently used to establish persistent footholds and exfiltrate sensitive data. Proactively hunting for these IOCs in Azure Sentinel is critical because PureRAT’s stealthy nature often evades standard signature-based defenses, requiring manual correlation to identify early-stage infections before lateral movement occurs.
Malware Family: PureRAT Total IOCs: 6 IOC Types: ip:port
| Type | Value | Threat Type | First Seen | Confidence |
|---|---|---|---|---|
| ip:port | 94[.]26[.]3[.]52:443 | botnet_cc | 2026-08-19 | 75% |
| ip:port | 95[.]133[.]229[.]218:443 | botnet_cc | 2026-08-19 | 75% |
| ip:port | 209[.]99[.]186[.]201:55009 | botnet_cc | 2026-08-19 | 75% |
| ip:port | 194[.]56[.]225[.]150:56001 | botnet_cc | 2026-08-19 | 75% |
| ip:port | 154[.]13[.]7[.]199:9999 | botnet_cc | 2026-08-19 | 75% |
| ip:port | 209[.]99[.]186[.]201:55006 | botnet_cc | 2026-08-19 | 75% |
// Hunt for network connections to known malicious IPs
// Source: ThreatFox - PureRAT
let malicious_ips = dynamic(["209.99.186.201", "154.13.7.199", "95.133.229.218", "94.26.3.52", "194.56.225.150"]);
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(["209.99.186.201", "154.13.7.199", "95.133.229.218", "94.26.3.52", "194.56.225.150"]);
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, along with recommended filters and exclusions tailored for an enterprise environment:
Scenario: Automated Endpoint Protection Updates
Process Name matches known EDR service executables (e.g., MsMpEng.exe, FalconContainer.exe) and the Parent Process is the system update scheduler (svchost.exe -k netsvcs). Additionally, filter by excluding traffic destined for official vendor update domains (e.g., *.microsoft.com, *.crowdstrike.com).Scenario: Scheduled PowerShell Administrative Scripts
User Account (e.g., exclude alerts generated by service accounts like DOMAIN\svc-admin-maintenance) and Task Name. Specifically, filter out events where the process path is located in a trusted internal directory (e.g., C:\Scripts\Maintenance\) rather than temporary or user profile directories.**Scenario: Legitimate Remote Management Tool Usage