This hunt targets the presence of known PHP Shin webshell indicators, which adversaries deploy to establish persistent, hidden command execution capabilities within web servers. Proactively hunting for these IOCs in Azure Sentinel allows the SOC to identify compromised web assets before attackers leverage the backdoor for lateral movement or data exfiltration.
Malware Family: php.shin_webshell Total IOCs: 3 IOC Types: domain
| Type | Value | Threat Type | First Seen | Confidence |
|---|---|---|---|---|
| domain | nomoca.workers.dev | botnet_cc | 2026-09-23 | 50% |
| domain | logycedo.workers.dev | botnet_cc | 2026-09-23 | 50% |
| domain | l2a54f5j47.workers.dev | botnet_cc | 2026-09-23 | 50% |
// Hunt for DNS queries to known malicious domains
// Source: ThreatFox - php.shin_webshell
let malicious_domains = dynamic(["nomoca.workers.dev", "logycedo.workers.dev", "l2a54f5j47.workers.dev"]);
DnsEvents
| where Name has_any (malicious_domains)
| project TimeGenerated, Computer, Name, IPAddresses, QueryType
| order by TimeGenerated desc
| Sentinel Table | Notes |
|---|---|
DnsEvents | Ensure this data connector is enabled |
shin library or a similar lightweight shell wrapper for administrative maintenance tasks, such as clearing cache or rotating logs, which matches the specific file path or hash IOC.
/vendor/ or /lib/ and the parent process is a known web server (e.g., apache2, nginx, php-fpm) rather than an interactive user session.php.shin_webshell script to verify detection capabilities or test backup restoration procedures.
environment=staging or environment=dev, or where the user account belongs to the PenTest or DevOps security group.composer or ansible to sync files).
cron, crond, schtasks, or ansible-playbook, and the file creation timestamp aligns with the known schedule of the deployment job.shin.php or shin_webshell.php) for performance monitoring or debugging, which is loaded during routine site updates.