This detection identifies adversaries deploying a malicious JSP web shell named minupload.jsp to establish persistent access and execute commands on compromised web servers. A proactive hunt is essential in Azure Sentinel to rapidly identify this specific artifact before attackers leverage it for lateral movement or data exfiltration within the organization’s cloud infrastructure.
rule webshell_minupload {
meta:
description = "Web Shell - file minupload.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 = "ec905a1395d176c27f388d202375bdf9"
id = "393e738a-b4c2-5630-a55f-c3caee4ff75e"
strings:
$s0 = "<input type=\"submit\" name=\"btnSubmit\" value=\"Upload\"> " fullword
$s9 = "String path=new String(request.getParameter(\"path\").getBytes(\"ISO-8859"
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 4 specific false positive scenarios for the Web Shell - file minupload.jsp detection rule, including targeted filters and exclusions:
Scenario: Scheduled Backup of Legacy JSP Components
webapps directory. During this process, the backup agent reads and occasionally re-writes metadata for existing JSP files, including minupload.jsp, triggering the rule as if a new file was uploaded by an untrusted source.VeeamTransport.exe or commvault_agent) when accessing paths within the /var/lib/tomcat/webapps/ directory.Scenario: Automated Deployment via CI/CD Pipeline
minupload.jsp) from an artifact repository (e.g., Nexus Repository) to the server using the jenkins-build user account.java.exe (Jenkins Agent) or gitlab-runner, and the user context matches the deployment service account (e.g., svc-deploy-tomcat).Scenario: Application Patching by System Administrator
minupload.jsp file from a secure staging