This detection identifies adversaries who have deployed a JSP web shell to establish a persistent foothold on a compromised web server for command execution and data exfiltration. Proactively hunting for this artifact in Azure Sentinel is critical because web shells often serve as the initial entry point for lateral movement, allowing attackers to maintain stealthy access before triggering broader alerting mechanisms.
rule webshell_jspShell {
meta:
description = "Web Shell - file jspShell.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 = "0d5b5a17552254be6c1c8f1eb3a5fdc1"
id = "393e738a-b4c2-5630-a55f-c3caee4ff75e"
strings:
$s0 = "<input type=\"checkbox\" name=\"autoUpdate\" value=\"AutoUpdate\" on"
$s1 = "onblur=\"document.shell.autoUpdate.checked= this.oldValue;"
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 jspShell.jsp detection rule, including targeted filters and exclusions:
Scenario: Deployment of Official Application Updates via CI/CD Pipeline
jspShell.jsp as part of a standard library update for the legacy customer portal, which includes this file in its artifact bundle.Source User is ci-deploy-bot (or specific service account) AND the event occurs during the defined maintenance window (e.g., 02:00–04:00 UTC).IF SourceUser == 'ci-deploy-bot' AND EventTime BETWEEN [MaintenanceWindowStart, MaintenanceWindowEnd] THEN Suppress.Scenario: Scheduled Backup and Archiving Tasks
jspShell.jsp into a staging folder before compression, triggering the file creation event.Process Name matches known backup agents (e.g., vrb.exe, vcagent.exe) and the destination path contains specific backup staging directories (e.g., \BackupStaging\).IF ProcessName IN ['vrb.exe', 'vcagent.exe'] AND DestinationPath CONTAINS '\BackupStaging\' THEN Suppress.Scenario: Administrator Manual Maintenance via Remote Desktop