This hunt detects adversary activity involving known indicators of compromise from the VShell threat intelligence feed to identify potential malicious network connections or file interactions within the Azure Sentinel environment. Proactively hunting for these specific IOCs is critical because it enables the SOC team to rapidly validate and respond to emerging threats before they escalate into broader incidents, leveraging high-severity alerts to minimize dwell time.
Malware Family: VShell Total IOCs: 13 IOC Types: ip:port
| Type | Value | Threat Type | First Seen | Confidence |
|---|---|---|---|---|
| ip:port | 206[.]238[.]123[.]117:8080 | botnet_cc | 2026-07-24 | 100% |
| ip:port | 175[.]178[.]26[.]180:8084 | botnet_cc | 2026-07-24 | 100% |
| ip:port | 206[.]238[.]123[.]117:8443 | botnet_cc | 2026-07-24 | 100% |
| ip:port | 206[.]238[.]123[.]117:80 | botnet_cc | 2026-07-24 | 100% |
| ip:port | 206[.]238[.]123[.]117:10443 | botnet_cc | 2026-07-24 | 100% |
| ip:port | 60[.]185[.]67[.]143:8084 | botnet_cc | 2026-07-24 | 100% |
| ip:port | 64[.]118[.]132[.]80:8084 | botnet_cc | 2026-07-24 | 100% |
| ip:port | 54[.]46[.]14[.]24:8084 | botnet_cc | 2026-07-24 | 100% |
| ip:port | 47[.]97[.]47[.]29:8084 | botnet_cc | 2026-07-24 | 100% |
| ip:port | 47[.]100[.]94[.]78:8084 | botnet_cc | 2026-07-24 | 100% |
| ip:port | 193[.]134[.]211[.]175:8443 | botnet_cc | 2026-07-24 | 100% |
| ip:port | 104[.]168[.]22[.]209:8080 | botnet_cc | 2026-07-24 | 100% |
| ip:port | 38[.]54[.]14[.]80:80 | botnet_cc | 2026-07-24 | 100% |
// Hunt for network connections to known malicious IPs
// Source: ThreatFox - VShell
let malicious_ips = dynamic(["64.118.132.80", "193.134.211.175", "175.178.26.180", "60.185.67.143", "38.54.14.80", "54.46.14.24", "104.168.22.209", "47.100.94.78", "47.97.47.29", "206.238.123.117"]);
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(["64.118.132.80", "193.134.211.175", "175.178.26.180", "60.185.67.143", "38.54.14.80", "54.46.14.24", "104.168.22.209", "47.100.94.78", "47.97.47.29", "206.238.123.117"]);
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 |
Here are specific false positive scenarios and corresponding filters for the ThreatFox: VShell IOCs detection rule in an enterprise environment:
Scenario: Automated Vulnerability Scanning by Security Operations Center (SOC)
10.50.20.0/24) or filter out events where the Source Host matches known scanner asset names containing “Nessus-Scanner” or “Qualys-Cache”.Scenario: Scheduled Patch Deployment via Configuration Management Tools
Process Name is “ccmsetup.exe” or “ansible-runner”, and the destination port matches standard patching ports (e.g., TCP 8531, 443).Scenario: Third-Party Cloud Backup Synchronization