This detection identifies adversaries deploying a malicious zx.jsp web shell to establish persistent access and execute commands on compromised web servers. Proactive hunting for this artifact in Azure Sentinel is critical because web shells often serve as an initial foothold for lateral movement and data exfiltration, requiring immediate investigation before the attacker can deepen their presence.
rule webshell_jsp_zx {
meta:
description = "Web Shell - file zx.jsp"
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 = "67627c264db1e54a4720bd6a64721674"
id = "393e738a-b4c2-5630-a55f-c3caee4ff75e"
strings:
$s0 = "if(request.getParameter(\"f\")!=null)(new java.io.FileOutputStream(application.g"
condition:
all of them
}
This YARA rule can be deployed in the following contexts:
This rule contains 1 string patterns in its detection logic.
Here are 5 specific false positive scenarios for the Web Shell - file zx.jsp detection rule, including suggested filters and exclusions tailored for an enterprise environment:
Scenario: Automated Backup Script Execution
zx.jsp file within the web server’s deployment directory to log status during nightly maintenance windows. This file is created by the service account running the backup agent, not an external attacker.svc_backup_agent) and the File Creation Time falls within the scheduled maintenance window (e.g., 02:00–04:00 UTC).Scenario: CI/CD Pipeline Deployment Artifacts
zx.jsp to the Tomcat/Apache web container as part of a larger application update. This is a known artifact in the release package, not an anomaly.java.exe spawned by jenkins-agent) and the file hash matches a known “Good” baseline stored in the asset inventory.Scenario: Legacy Application Health Check Utility
zx.jsp that is triggered every 15 minutes by an internal scheduler (Windows Task Scheduler or Cron) to verify database connectivity and generate JSON status reports. This file is frequently