This hunt targets the presence of VShell, a lightweight web shell often used by adversaries to establish persistent access and execute commands on compromised Azure resources. Proactively hunting for these IOCs allows the SOC to identify stealthy backdoors that may have been deployed to bypass standard monitoring, ensuring rapid containment before the attacker leverages the shell for lateral movement or data exfiltration.
Malware Family: VShell Total IOCs: 3 IOC Types: url, sha256_hash
| Type | Value | Threat Type | First Seen | Confidence |
|---|---|---|---|---|
| url | hxxp://192[.]25[.]102[.]246:8088/?h=192[.]25[.]102[.]246&p=8088&t=tcp&a=w32&stage=true | payload_delivery | 2026-09-27 | 95% |
| url | hxxp://192[.]25[.]102[.]246:8088/?h=192[.]25[.]102[.]246&p=8088&t=ws&a=w32&stage=true | payload_delivery | 2026-09-27 | 95% |
| sha256_hash | 969c61a682310cfd072bf83562aea45223b0687b92d7a0aab0ab0a773116bb14 | payload | 2026-09-27 | 95% |
// Hunt for access to known malicious URLs
// Source: ThreatFox - VShell
let malicious_urls = dynamic(["http://192.25.102.246:8088/?h=192.25.102.246&p=8088&t=tcp&a=w32&stage=true", "http://192.25.102.246:8088/?h=192.25.102.246&p=8088&t=ws&a=w32&stage=true"]);
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 - VShell
let malicious_hashes = dynamic(["969c61a682310cfd072bf83562aea45223b0687b92d7a0aab0ab0a773116bb14"]);
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 |
|---|---|
DeviceFileEvents | Ensure this data connector is enabled |
UrlClickEvents | Ensure this data connector is enabled |
vshell (or a similar lightweight shell wrapper) within a CI/CD pipeline container to execute quick diagnostic commands or log parsing tasks.
dockerd, containerd-shim) or where the command line contains specific CI/CD environment variables (e.g., JENKINS_URL, GITHUB_ACTIONS).vshell.exe (a common naming convention for internal tooling) to rotate logs or clean up temp files on a jump host.
powershell.exe or pwsh.exe and the working directory is a known administrative path (e.g., C:\AdminTools\, C:\Scripts\).RT_ or PENTEST_.vshell to perform post-install configuration steps during a patch Tuesday update.
msiexec.exe, setup.exe) or where the process path resides in a vendor-specific directory (e.g., C:\Program Files\VendorApp\bin\).