一个轻量级脚本,用于扫描 .jsp 和 .jspx 文件中与 JSP 网页后门相关的可疑模式,包括在利用 SAP NetWeaver CVE-2025-31324 的攻击中观察到的模式。
该扫描器还扩展了针对 Oracle PeopleSoft / ShinyHunters / UNC6240 在 CVE-2026-35273 中相关指标的分类检查,包括可疑的 PeopleSoft 路径、文件名、哈希值和 C2 字符串。
这是一个分类工具。旨在帮助防御者快速识别需要后续审查的可疑文件、路径和字符串。
扫描器搜索 JSP/JSPX 文件及相关 Web 层工件中包含以下模式的内容:
Runtime.getRuntime()request.getParameter()exec(、cmd=、command= 和 ProcessBuildernew File()、FileWriter、PrintWriter 和 FileOutputStreamresponse.getWriter() 和 out.println()cmd.exe、powershell、/bin/sh 和 /bin/bash它检查文件内容,而不仅仅是文件名,因此适用于检测重命名或隐藏的网页后门。
扫描器还包含针对 Oracle PeopleSoft 在 2026 年 6 月 ShinyHunters / UNC6240 活动中涉及 CVE-2026-35273 的指标分类检查。
这些检查包括:
/PSEMHUB/hub 的可疑请求/PSIGW/HttpListeningConnector 的可疑请求/PSEMHUB/PSEMHUB.war 下意外的 .jsp 或 .jspx 文件PSEMHUB.war/envmetadata/transactions 下的文件或目录logs、persistantstorage、persistentstorage 或 scratchpad 目录envmetadata/data/environment 下最近的 XML 文件README-IF-YOU-SEE-THIS-YOUVE-BEEN-HACKED.TXT*_fanout.shpsappsrv.cfg、ps_config 和 config.xml142.11.200.186
142.11.200.187
142.11.200.188
142.11.200.189
142.11.200.190
108.174.202.99
176.120.22.24
azurenetfiles.net
wss://azurenetfiles.net:443/agent.ashx
README-IF-YOU-SEE-THIS-YOUVE-BEEN-HACKED.TXT
*_fanout.sh
meshagent
meshagent.exe
meshagent32-azure-ops.exe
meshagent64-azure-ops.exe
meshagent64-v2.exe
meshctrl.js
.bash_history
2ab684d93c1553fad87041b4dea97188a97e78589deee2a7bacff905564f3a35
f02a924c9ff92a8780ce812511341182c6b509d45bc59f3f7b522e37225d24fc
d83fdb9e53c5ff03c4cb0451ea1bebd79b53f29eadc1e2fa394c7af13a86ce2f
c7e9332731b06644fc73e0046a2a89eaa59b09f54250e9bd622467187351711f
68257a6f9ff196179ec03624e849927f26599eb180a7c82e14ef5bc4e93bc309
克隆仓库或下载 Bash 脚本:
chmod +x detect_webshells.sh
./detect_webshells.sh /path/to/scan
示例:
./detect_webshells.sh .
SAP 路径示例:
./detect_webshells.sh /usr/sap
PeopleSoft 路径示例:
./detect_webshells.sh /u01/app/psoft
./detect_webshells.sh /u01/app/psoft/ps_config_homes
./detect_webshells.sh /opt/oracle/psft
克隆仓库或下载 PowerShell 脚本:
.\detect_webshells.ps1 -Path .
示例:
.\detect_webshells.ps1 -Path C:\inetpub\wwwroot
PeopleSoft 路径示例:
.\detect_webshells.ps1 -Path D:\PeopleSoft
.\detect_webshells.ps1 -Path D:\Oracle\PeopleSoft
.\detect_webshells.ps1 -Path C:\Oracle\Middleware
如果 PowerShell 阻止脚本执行,运行:
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
.\detect_webshells.ps1 -Path .
这仅更改当前 PowerShell 会话的执行策略。
==== 1. 可疑的 JSP 代码模式 ====
[命中] 可疑的 JSP 模式:Runtime\.getRuntime\(
/usr/sap/OP1/J31/work/suspicious.jsp:13: out.println(Runtime.getRuntime().exec(cmd));
[命中] 可疑的 JSP 模式:request\.getParameter\(
/usr/sap/OP1/J31/work/shell.jsp:9: String cmd = request.getParameter("cmd");
==== 2. PeopleSoft / ShinyHunters HTTP 路径指示 ====
[命中] HTTP/路径指示:POST /PSEMHUB/hub
/u01/app/psoft/logs/access.log:1042: 142.11.200.186 - - "POST /PSEMHUB/hub HTTP/1.1" 200
==== 4. 文件名指示 ====
[命中] 可疑文件名:/u01/app/psoft/README-IF-YOU-SEE-THIS-YOUVE-BEEN-HACKED.TXT
==== 1. 可疑的 JSP 代码模式 ====
[命中] C:\PeopleSoft\webserv\shell.jsp:9 中存在可疑的 JSP 模式:String cmd = request.getParameter("cmd");
==== 5. 文件和日志中的网络/C2 指示 ====
[命中] 文件 C:\PeopleSoft\logs\access.log:522 中存在网络/C2 IOC 'azurenetfiles.net':connection to azurenetfiles.net
扫描命中应被视为调查线索,而非入侵的确凿证据。
对于 SAP NetWeaver 环境,审查以下内容:
对于 PeopleSoft 环境,审查以下内容:
/PSEMHUB/hub 的请求/PSIGW/HttpListeningConnector 的请求PSEMHUB.war 下意外的 JSP/JSPX 文件此脚本按“原样”提供,不附带任何形式的保证、担保或责任。
它旨在作为快速分类工具,帮助初步识别可疑的 .jsp 和 .jspx 文件,尤其是那些可能与 SAP NetWeaver CVE-2025-31324 等漏洞相关的网页后门。
它还包含针对特定 Oracle PeopleSoft / ShinyHunters / UNC6240 指标的检查,但并非全面的 PeopleSoft 取证扫描器。
此工具不能替代完整的事件响应、取证审查、供应商补丁验证、EDR 遥测或日志分析。
您对如何解释和处理结果承担全部责任。 本项目出于善意并为了社区利益而分享,但使用完全由您自行承担风险。
欢迎并感谢任何形式的贡献。
如果您希望改进此工具——无论是添加新的检测模式、优化扫描逻辑、改进 IOC 覆盖范围,还是减少误报——请随时提出问题或提交拉取请求。
在提交拉取请求之前:
感谢您支持开源安全工具。