This detection identifies adversaries deploying a malicious customize.jsp web shell to establish persistent access and execute commands on compromised web servers. Proactively hunting for this artifact in Azure Sentinel is critical because JSP-based shells often evade standard signature-based defenses by blending with legitimate application files, allowing attackers to maintain stealthy command-and-control channels.
rule webshell_customize {
meta:
description = "Web Shell - file customize.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 = "d55578eccad090f30f5d735b8ec530b1"
id = "393e738a-b4c2-5630-a55f-c3caee4ff75e"
strings:
$s4 = "String cs = request.getParameter(\"z0\")==null?\"gbk\": request.getParameter(\"z"
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 customize.jsp detection rule, including tailored filters and exclusions:
Scenario: Scheduled Backup or Reporting Job Execution
customize.jsp as a standard entry point for nightly reporting scripts that dynamically generate PDFs or CSV exports. These jobs run via the Java Scheduler (e.g., Quartz) on the application server, creating temporary file modifications or writes to this specific JSP without malicious intent.process_name is java.exe (or the specific app server process like tomcat.exe) AND the event occurs between 02:00 and 04:00 local time during business hours.Scenario: Legitimate Administrator Deployment via CI/CD Pipeline
customize.jsp with a new version as part of the standard release workflow.10.50.x.x) AND the User Account is a service account named svc-deploy or admin-ci.Scenario: Automated Content Management System (CMS) Updates
customize.jsp as the system saves