This hunt detects adversary activity consistent with the ValleyRAT remote access trojan by identifying matches against its specific set of eleven indicators of compromise across network and endpoint telemetry. Proactively hunting for these IOCs in Azure Sentinel is critical to rapidly identify early-stage infections before they establish persistence or exfiltrate sensitive data from the environment.
Malware Family: ValleyRAT Total IOCs: 11 IOC Types: url, sha1_hash, ip:port, sha256_hash, md5_hash
| Type | Value | Threat Type | First Seen | Confidence |
|---|---|---|---|---|
| md5_hash | c20a54cc45596e10f5eaf83a388128fe | payload | 2026-07-16 | 95% |
| sha1_hash | 7fb8478bfa214c20a0d4ed26b293501d39c475bc | payload | 2026-07-16 | 95% |
| md5_hash | 3a85be4f475378e774b44aafd20102cd | payload | 2026-07-16 | 95% |
| sha256_hash | 04bc0dbf904d347bfa0b064bb436650fad0583b550dbd9450c8d00f4cb5a3b1b | payload | 2026-07-16 | 95% |
| md5_hash | 56ff460150b3ddeb5f1a01495ab44ee2 | payload | 2026-07-16 | 95% |
| sha256_hash | 551854f430801e8352f6562a48077cb04f399cdc505b42f0daaa3ad61d0e9f62 | payload | 2026-07-16 | 95% |
| sha1_hash | 9f4426b75d6dca82fb22a1f5ebfef3205ef78bca | payload | 2026-07-16 | 95% |
| sha256_hash | eee7db42470f6c58dc1e696ee937e87bd72f0cabe8df566021a79880d288e370 | payload | 2026-07-16 | 95% |
| sha1_hash | b524c7848c2599868c1a39d57f4bfb261d194197 | payload | 2026-07-16 | 95% |
| url | hxxp://43[.]198[.]235[.]91/getinstall64 | botnet_cc | 2026-07-16 | 100% |
| ip:port | 154[.]91[.]74[.]87:774 | botnet_cc | 2026-07-16 | 75% |
// Hunt for network connections to known malicious IPs
// Source: ThreatFox - ValleyRAT
let malicious_ips = dynamic(["154.91.74.87"]);
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(["154.91.74.87"]);
DeviceNetworkEvents
| where RemoteIP in (malicious_ips)
| project Timestamp, DeviceName, RemoteIP, RemotePort, InitiatingProcessFileName, ActionType
| order by Timestamp desc
// Hunt for access to known malicious URLs
// Source: ThreatFox - ValleyRAT
let malicious_urls = dynamic(["http://43.198.235.91/getinstall64"]);
UrlClickEvents
| where Url has_any (malicious_urls)
| project Timestamp, AccountUpn, Url, ActionType, IsClickedThrough
| order by Timestamp desc
// Hunt for files matching known malicious hashes
// Source: ThreatFox - ValleyRAT
let malicious_hashes = dynamic(["c20a54cc45596e10f5eaf83a388128fe", "7fb8478bfa214c20a0d4ed26b293501d39c475bc", "3a85be4f475378e774b44aafd20102cd", "04bc0dbf904d347bfa0b064bb436650fad0583b550dbd9450c8d00f4cb5a3b1b", "56ff460150b3ddeb5f1a01495ab44ee2", "551854f430801e8352f6562a48077cb04f399cdc505b42f0daaa3ad61d0e9f62", "9f4426b75d6dca82fb22a1f5ebfef3205ef78bca", "eee7db42470f6c58dc1e696ee937e87bd72f0cabe8df566021a79880d288e370", "b524c7848c2599868c1a39d57f4bfb261d194197"]);
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 |
UrlClickEvents | Ensure this data connector is enabled |
Here are specific false positive scenarios for the ThreatFox: ValleyRAT IOCs detection rule, tailored for an enterprise environment:
Endpoint Protection Scanning of Quarantine Archives
C:\Quarantine directory. This directory contains archived, benign files previously flagged by legacy antivirus engines that happen to share hash values or file signatures with ValleyRAT components.svc_falcon or LocalSystem) specifically when accessing paths containing \Quarantine\, \VirusScan\, or \Temp\.Software Deployment via Configuration Management Tools
libvalley.dll) which matches one of the 11 ValleyRAT IOCs, triggering an alert during the installation phase on target workstations.ccmexec.exe, ansible-runner.exe) running under the Domain Admins or specific Deployment Service Account groups, excluding the specific IOC hash if it is confirmed as part of the approved software catalog.Legacy Application Maintenance and Patching