This hunt identifies potential ValleyRAT infections by matching known indicators of compromise against Azure Sentinel telemetry to detect the presence of this remote access trojan. Proactively hunting for these IOCs is critical because ValleyRAT enables adversaries to establish persistent command-and-control channels, allowing for data exfiltration and lateral movement that may go unnoticed in standard monitoring.
Malware Family: ValleyRAT Total IOCs: 3 IOC Types: ip:port
| Type | Value | Threat Type | First Seen | Confidence |
|---|---|---|---|---|
| ip:port | 202[.]61[.]85[.]180:7800 | botnet_cc | 2026-09-03 | 100% |
| ip:port | 202[.]61[.]85[.]180:7811 | botnet_cc | 2026-09-03 | 100% |
| ip:port | 156[.]233[.]235[.]141:66 | botnet_cc | 2026-09-03 | 100% |
// Hunt for network connections to known malicious IPs
// Source: ThreatFox - ValleyRAT
let malicious_ips = dynamic(["202.61.85.180", "156.233.235.141"]);
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(["202.61.85.180", "156.233.235.141"]);
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 |
netsh command to configure a temporary proxy or firewall rule during a network troubleshooting session, which matches the specific netsh IOC string.
netsh and the parent process is cmd.exe or powershell.exe initiated by a user account with the SecurityOps or ITAdmin group membership, provided the command does not contain the specific ValleyRAT payload signature (e.g., add interface portproxy).regsvr32 to register a COM object for a specific business logic component, matching the regsvr32 IOC path or parameters.
regsvr32 executions where the DLL path resides in a known trusted directory (e.g., C:\Program Files\CorpApp\bin\) and the parent process is a recognized service executable (e.g., CorpAppService.exe), excluding generic system paths like C:\Windows\System32 unless the DLL name matches a known ValleyRAT hash.certutil to encode or decode a test file, triggering the certutil IOC.
certutil commands containing -encode or -decode where the source or destination file path is located in a designated backup or temp directory (e.g., C:\Backups\ or C:\Temp\) and the parent process is a scheduled task service (e.g., Svchost.exe running the specific backup task), ensuring the file size is under a defined threshold (e.g., 50