This detection identifies adversary activity involving four specific indicators of compromise (IOCs) linked to the VShell remote access tool, which is frequently leveraged by threat actors for persistent command and control or lateral movement within enterprise networks. A proactive hunt in Azure Sentinel is critical because early identification of these IOCs allows the SOC team to isolate compromised endpoints before attackers can establish deep footholds or exfiltrate sensitive data through this trusted utility.
Malware Family: VShell Total IOCs: 4 IOC Types: ip:port
| Type | Value | Threat Type | First Seen | Confidence |
|---|---|---|---|---|
| ip:port | 8[.]137[.]98[.]198:8089 | botnet_cc | 2026-08-20 | 100% |
| ip:port | 180[.]76[.]172[.]229:8084 | botnet_cc | 2026-08-20 | 100% |
| ip:port | 43[.]226[.]40[.]204:9443 | botnet_cc | 2026-08-20 | 100% |
| ip:port | 116[.]205[.]106[.]137:9997 | botnet_cc | 2026-08-20 | 100% |
// Hunt for network connections to known malicious IPs
// Source: ThreatFox - VShell
let malicious_ips = dynamic(["116.205.106.137", "180.76.172.229", "8.137.98.198", "43.226.40.204"]);
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(["116.205.106.137", "180.76.172.229", "8.137.98.198", "43.226.40.204"]);
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 the documented false positive scenarios and corresponding filters for the ThreatFox: VShell IOCs detection rule:
Scenario: Automated Patch Management Deployment
VShell agent. During the deployment window, multiple endpoints simultaneously initiate the installation service, triggering network connections to VShell update servers and file creation events matching the 4 IOCs.Process Name matches the known patch installer executable (e.g., ccmsetup.exe) rather than a generic user process.Scenario: Scheduled Endpoint Security Health Checks
User Account is a dedicated service account (e.g., NT SERVICE\VShellHealthCheck) or the process path matches the scheduled task script location.Scenario: Onboarding of New Virtual Desktop Infrastructure (VDI)