This hunt targets the presence of known AsyncRAT indicators of compromise, which are frequently used by adversaries to establish persistent remote access and execute malicious payloads. Proactively hunting for these IOCs in Azure Sentinel allows the SOC team to identify compromised endpoints before the RAT can fully establish command-and-control channels or escalate privileges.
Malware Family: AsyncRAT Total IOCs: 5 IOC Types: ip:port
| Type | Value | Threat Type | First Seen | Confidence |
|---|---|---|---|---|
| ip:port | 188[.]212[.]158[.]203:1145 | botnet_cc | 2026-09-24 | 75% |
| ip:port | 185[.]112[.]59[.]102:7707 | botnet_cc | 2026-09-24 | 75% |
| ip:port | 185[.]112[.]59[.]102:8808 | botnet_cc | 2026-09-24 | 75% |
| ip:port | 104[.]243[.]248[.]63:3606 | botnet_cc | 2026-09-24 | 75% |
| ip:port | 102[.]220[.]163[.]36:2505 | botnet_cc | 2026-09-24 | 75% |
// Hunt for network connections to known malicious IPs
// Source: ThreatFox - AsyncRAT
let malicious_ips = dynamic(["102.220.163.36", "104.243.248.63", "185.112.59.102", "188.212.158.203"]);
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(["102.220.163.36", "104.243.248.63", "185.112.59.102", "188.212.158.203"]);
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 |
java.util.concurrent or similar libraries that may generate memory patterns or specific class names matching AsyncRAT’s known IOCs (such as AsyncRAT or specific hash values in memory dumps).
java.exe or jre.exe, or filter out events where the image path contains \jre\ or \java\.\dev\, \test\, or \ci\, or where the parent process is docker.exe, kubectl, or code.exe (VS Code).Veeam.exe, commvault.exe, wbadmin.exe) or where the file path contains \backup\ or \restore\.