This detection identifies adversaries deploying a malicious web shell named “150.php” to establish persistent access and execute commands on compromised web servers. Proactively hunting for this specific artifact in Azure Sentinel is critical because web shells often serve as the initial foothold for lateral movement and data exfiltration, requiring immediate investigation before attackers can expand their presence within the environment.
rule webshell_PHP_150 {
meta:
description = "Web Shell - file 150.php"
license = "Detection Rule License 1.1 https://github.com/Neo23x0/signature-base/blob/master/LICENSE"
author = "Florian Roth (Nextron Systems)"
date = "2014/01/28"
score = 70
hash = "400c4b0bed5c90f048398e1d268ce4dc"
id = "393e738a-b4c2-5630-a55f-c3caee4ff75e"
strings:
$s0 = "HJ3HjqxclkZfp"
$s1 = "<? eval(gzinflate(base64_decode('" fullword
condition:
all of them
}
This YARA rule can be deployed in the following contexts:
This rule contains 2 string patterns in its detection logic.
Here are specific false positive scenarios for the Web Shell - file 150.php detection rule, including suggested filters and exclusions:
Scheduled Backup Automation by Admin Tool
150.php in the web root directory during nightly maintenance windows.svc_backup_admin) and a time window (e.g., 02:00–04:00 UTC). Additionally, exclude files where the parent process is the backup service executable (Veeam.Backup.Service.exe).CI/CD Pipeline Deployment Artifact
150.php in the web server’s document root to validate database connections before finalizing the release. This file is created by the deployment service account and deleted immediately after validation, but the detection rule triggers on creation.jenkins-agent.exe or github-runner) and the file path resides within a specific deployment staging directory (e.g., /var/www/html/staging/).Third-Party Analytics or Monitoring Agent Installation