This hunt detects adversary activity involving the PureRAT remote access trojan by monitoring for matches against a curated set of twelve specific indicators of compromise within Azure Sentinel logs. Proactively hunting for these IOCs is critical to identify early-stage infections and prevent potential data exfiltration or lateral movement before the malware establishes persistence on compromised endpoints.
Malware Family: PureRAT Total IOCs: 12 IOC Types: domain, ip:port
| Type | Value | Threat Type | First Seen | Confidence |
|---|---|---|---|---|
| ip:port | 38[.]240[.]57[.]198:443 | botnet_cc | 2026-08-13 | 75% |
| ip:port | 193[.]138[.]195[.]29:56001 | botnet_cc | 2026-08-13 | 75% |
| ip:port | 193[.]138[.]195[.]29:56002 | botnet_cc | 2026-08-13 | 75% |
| ip:port | 193[.]138[.]195[.]29:56003 | botnet_cc | 2026-08-13 | 75% |
| ip:port | 172[.]111[.]134[.]94:56013 | botnet_cc | 2026-08-13 | 75% |
| ip:port | 103[.]54[.]153[.]49:443 | botnet_cc | 2026-08-13 | 75% |
| ip:port | 196[.]251[.]121[.]59:56001 | botnet_cc | 2026-08-13 | 75% |
| ip:port | 196[.]251[.]121[.]59:56002 | botnet_cc | 2026-08-13 | 75% |
| ip:port | 196[.]251[.]121[.]59:56003 | botnet_cc | 2026-08-13 | 75% |
| ip:port | 189[.]93[.]202[.]137:56001 | botnet_cc | 2026-08-13 | 75% |
| ip:port | 189[.]93[.]202[.]137:56003 | botnet_cc | 2026-08-13 | 75% |
| domain | rx7brabo.ddns.com.br | botnet_cc | 2026-08-13 | 100% |
// Hunt for network connections to known malicious IPs
// Source: ThreatFox - PureRAT
let malicious_ips = dynamic(["38.240.57.198", "103.54.153.49", "193.138.195.29", "172.111.134.94", "189.93.202.137", "196.251.121.59"]);
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(["38.240.57.198", "103.54.153.49", "193.138.195.29", "172.111.134.94", "189.93.202.137", "196.251.121.59"]);
DeviceNetworkEvents
| where RemoteIP in (malicious_ips)
| project Timestamp, DeviceName, RemoteIP, RemotePort, InitiatingProcessFileName, ActionType
| order by Timestamp desc
// Hunt for DNS queries to known malicious domains
// Source: ThreatFox - PureRAT
let malicious_domains = dynamic(["rx7brabo.ddns.com.br"]);
DnsEvents
| where Name has_any (malicious_domains)
| project TimeGenerated, Computer, Name, IPAddresses, QueryType
| order by TimeGenerated desc
| Sentinel Table | Notes |
|---|---|
CommonSecurityLog | Ensure this data connector is enabled |
DeviceNetworkEvents | Ensure this data connector is enabled |
DnsEvents | Ensure this data connector is enabled |
Here are 5 specific false positive scenarios for the ThreatFox: PureRAT IOCs detection rule, along with targeted filters and exclusions suitable for an enterprise environment:
Scenario: Security Tool Telemetry & Update Scans
Process Name of the security agent (e.g., C:\Program Files\CrowdStrike\fs_qa.exe) and exclude traffic originating from the specific IP ranges of the threat intelligence management platform or the EDR update servers.Scenario: Scheduled Admin Maintenance Jobs
powershell.exe) or batch files that query external threat databases, inadvertently triggering the PureRAT network connection logic defined in the hunt package.SYSTEM or specific Domain Admin accounts, specifically filtering out connections initiated by known maintenance scripts like VulnScan.ps1 or Ansible runner processes.Scenario: Cloud Backup and Synchronization Services