This hunt detects adversary behavior consistent with AsyncRAT malware by identifying network connections and file artifacts matching six specific Indicators of Compromise (IOCs). Proactively hunting for these signals in Azure Sentinel is critical to rapidly identify active remote access trojans that could enable long-term data exfiltration and command-and-control communications before they escalate into a full breach.
Malware Family: AsyncRAT Total IOCs: 6 IOC Types: ip:port, domain, md5_hash
| Type | Value | Threat Type | First Seen | Confidence |
|---|---|---|---|---|
| domain | xoso66edu.com | botnet_cc | 2026-07-18 | 75% |
| ip:port | 46[.]246[.]12[.]19:2703 | botnet_cc | 2026-07-18 | 75% |
| domain | vxoso66.com | botnet_cc | 2026-07-18 | 75% |
| ip:port | 2[.]59[.]132[.]84:7434 | botnet_cc | 2026-07-18 | 75% |
| ip:port | 198[.]23[.]185[.]95:1000 | botnet_cc | 2026-07-18 | 75% |
| md5_hash | 81961b2997cdf859ab8b96c3dd0afb07 | payload | 2026-07-17 | 95% |
// Hunt for network connections to known malicious IPs
// Source: ThreatFox - AsyncRAT
let malicious_ips = dynamic(["2.59.132.84", "46.246.12.19", "198.23.185.95"]);
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(["2.59.132.84", "46.246.12.19", "198.23.185.95"]);
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 - AsyncRAT
let malicious_domains = dynamic(["xoso66edu.com", "vxoso66.com"]);
DnsEvents
| where Name has_any (malicious_domains)
| project TimeGenerated, Computer, Name, IPAddresses, QueryType
| order by TimeGenerated desc
// Hunt for files matching known malicious hashes
// Source: ThreatFox - AsyncRAT
let malicious_hashes = dynamic(["81961b2997cdf859ab8b96c3dd0afb07"]);
DeviceFileEvents
| where SHA256 in (malicious_hashes) or SHA1 in (malicious_hashes) or MD5 in (malicious_hashes)
| project Timestamp, DeviceName, FileName, FolderPath, SHA256, InitiatingProcessFileName
| order by Timestamp desc
| Sentinel Table | Notes |
|---|---|
CommonSecurityLog | Ensure this data connector is enabled |
DeviceFileEvents | 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: AsyncRAT IOCs detection rule in an enterprise environment, along with suggested filters or exclusions:
Endpoint Protection Scanning of Quarantined Archives
C:\Quarantine directory. This directory contains archived versions of AsyncRAT samples previously flagged and isolated by security teams, triggering matches against the rule’s hash-based IOCs without indicating active infection.\Quarantine\, \Staging\, or \Archive\. Additionally, filter out events where the process name is the EDR scanner (e.g., C:\Program Files\CrowdStrike\fsagent.exe) rather than a user-facing application.Software Deployment via Configuration Management Tools
ccmexec.exe, Ansible-Runner.exe) and whitelist specific file hashes associated with the internal “AsyncConnect” utility in the SIEM correlation rule.Scheduled Malware Analysis Job on Shared Drives
\\FileServer\HR_Documents). This job processes a folder