← Back to SOC feed Coverage →

ThreatFox: VShell IOCs

ioc-hunt HIGH ThreatFox
CommonSecurityLogDeviceFileEventsDeviceNetworkEvents
iocthreatfoxwin-vshell
This rule was pulled from an open-source repository and enriched with AI. Validate in a test environment before deploying to production.
View original rule at ThreatFox →
Retrieved: 2026-09-26T23:00:00Z · Confidence: high

Hunt Hypothesis

This hypothesis targets the presence of VShell, a lightweight web shell often deployed by attackers to establish persistent access and execute commands on compromised Azure resources. Proactively hunting for these IOCs in Azure Sentinel is critical because VShell can operate stealthily within web applications or storage accounts, allowing adversaries to maintain footholds and escalate privileges without triggering standard network-based alerts.

IOC Summary

Malware Family: VShell Total IOCs: 9 IOC Types: sha256_hash, md5_hash, ip:port, sha1_hash

TypeValueThreat TypeFirst SeenConfidence
ip:port217[.]216[.]59[.]19:80botnet_cc2026-09-26100%
sha1_hashea61e6b052fa4f17a1611740bd510231e47da066payload2026-09-2695%
md5_hash64d2e47324b3bfdb6dd0c304bad76e86payload2026-09-2695%
md5_hashf7cf5972a76f530d6e3f603d235bb6c0payload2026-09-2695%
sha1_hashe8e92710ead19fb9caa053c7335a6fcd8b8cd49bpayload2026-09-2695%
sha1_hashe2fe451f1dcc57c69ee6f406dba3353638974aedpayload2026-09-2695%
md5_hashd4f5e0eabc74654b72c188d823b0a855payload2026-09-2695%
sha256_hash578de94d85ac86958fd3cc3e2a8e7b23d5669cdf2c2d4bd1eb1519d705c0bb2bpayload2026-09-2695%
sha256_hashd5214d68cc5ae5868a32b9d01a214856f21c63077409e4b30c4a821df9917712payload2026-09-2695%

KQL: Ip Hunt

// Hunt for network connections to known malicious IPs
// Source: ThreatFox - VShell
let malicious_ips = dynamic(["217.216.59.19"]);
CommonSecurityLog
| where DestinationIP in (malicious_ips) or SourceIP in (malicious_ips)
| project TimeGenerated, SourceIP, DestinationIP, DestinationPort, DeviceAction, Activity
| order by TimeGenerated desc

KQL: Ip Hunt Device

// Hunt in Defender for Endpoint network events
let malicious_ips = dynamic(["217.216.59.19"]);
DeviceNetworkEvents
| where RemoteIP in (malicious_ips)
| project Timestamp, DeviceName, RemoteIP, RemotePort, InitiatingProcessFileName, ActionType
| order by Timestamp desc

KQL: Hash Hunt

// Hunt for files matching known malicious hashes
// Source: ThreatFox - VShell
let malicious_hashes = dynamic(["ea61e6b052fa4f17a1611740bd510231e47da066", "64d2e47324b3bfdb6dd0c304bad76e86", "f7cf5972a76f530d6e3f603d235bb6c0", "e8e92710ead19fb9caa053c7335a6fcd8b8cd49b", "e2fe451f1dcc57c69ee6f406dba3353638974aed", "d4f5e0eabc74654b72c188d823b0a855", "578de94d85ac86958fd3cc3e2a8e7b23d5669cdf2c2d4bd1eb1519d705c0bb2b", "d5214d68cc5ae5868a32b9d01a214856f21c63077409e4b30c4a821df9917712"]);
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

Required Data Sources

Sentinel TableNotes
CommonSecurityLogEnsure this data connector is enabled
DeviceFileEventsEnsure this data connector is enabled
DeviceNetworkEventsEnsure this data connector is enabled

References

False Positive Guidance

Original source: https://threatfox.abuse.ch/browse/malware/win.vshell/