
🔍 Ein einfaches Bash-Skript zur Erkennung bösartiger JSP-Webshells, einschließlich solcher, die in Exploits von SAP NetWeaver CVE-2025-31324 verwendet werden.
Ein leichtgewichtiges Skript zum Scannen von .jsp- und .jspx-Dateien auf verdächtige Muster, die typischerweise mit JSP-basierten Webshells in Verbindung gebracht werden, einschließlich solcher, die bei Angriffen beobachtet wurden, die SAP NetWeaver CVE-2025-31324 ausnutzen.
Dieser Scanner wurde außerdem um Triage-Prüfungen für Oracle PeopleSoft / ShinyHunters / UNC6240-Indikatoren erweitert, die mit CVE-2026-35273 in Verbindung stehen, einschließlich verdächtiger PeopleSoft-Pfade, Dateinamen, Hashes und C2-Strings.
Dies ist ein Triage-Tool. Es soll Verteidigern helfen, schnell verdächtige Dateien, Pfade und Zeichenfolgen zu identifizieren, die eine weitere Überprüfung erfordern.
Der Scanner sucht nach JSP/JSPX-Dateien und zugehörigen Web-Tier-Artefakten, die folgende Muster enthalten:
Runtime.getRuntime()request.getParameter()exec(, cmd=, command= und ProcessBuildernew File(), FileWriter, PrintWriter und FileOutputStreamresponse.getWriter() und out.println()cmd.exe, powershell, /bin/sh und /bin/bashEs prüft den Dateiinhalt, nicht nur Dateinamen, und eignet sich daher zur Erkennung umbenannter oder versteckter Webshells.
Der Scanner enthält auch Triage-Prüfungen für Oracle PeopleSoft-Indikatoren, die mit der ShinyHunters/UNC6240-Kampagne vom Juni 2026 im Zusammenhang mit CVE-2026-35273 verbunden sind.
Diese Prüfungen umfassen:
/PSEMHUB/hub/PSIGW/HttpListeningConnector/PSEMHUB/.jsp- oder .jspx-Dateien unter PSEMHUB.warPSEMHUB.war/envmetadata/transactionslogs-, persistantstorage-, persistentstorage- oder scratchpad-Verzeichnisse unter PSEMHUB-Pfadenenvmetadata/data/environmentREADME-IF-YOU-SEE-THIS-YOUVE-BEEN-HACKED.TXT*_fanout.sh übereinstimmenpsappsrv.cfg, ps_config und 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
Klonen Sie das Repository oder laden Sie das Bash-Skript herunter:
chmod +x detect_webshells.sh
./detect_webshells.sh /path/to/scan
Beispiel:
./detect_webshells.sh .
Beispiel SAP-Pfad:
./detect_webshells.sh /usr/sap
Beispiel PeopleSoft-Pfade:
./detect_webshells.sh /u01/app/psoft
./detect_webshells.sh /u01/app/psoft/ps_config_homes
./detect_webshells.sh /opt/oracle/psft
Klonen Sie das Repository oder laden Sie das PowerShell-Skript herunter:
.\detect_webshells.ps1 -Path .
Beispiel:
.\detect_webshells.ps1 -Path C:\inetpub\wwwroot
Beispiel PeopleSoft-Pfade:
.\detect_webshells.ps1 -Path D:\PeopleSoft
.\detect_webshells.ps1 -Path D:\Oracle\PeopleSoft
.\detect_webshells.ps1 -Path C:\Oracle\Middleware
Wenn PowerShell die Skriptausführung blockiert, führen Sie aus:
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
.\detect_webshells.ps1 -Path .
Dies ändert die Ausführungsrichtlinie nur für die aktuelle PowerShell-Sitzung.
==== 1. Suspicious JSP code patterns ====
[HIT] Suspicious JSP pattern: Runtime\.getRuntime\(
/usr/sap/OP1/J31/work/suspicious.jsp:13: out.println(Runtime.getRuntime().exec(cmd));
[HIT] Suspicious JSP pattern: request\.getParameter\(
/usr/sap/OP1/J31/work/shell.jsp:9: String cmd = request.getParameter("cmd");
==== 2. PeopleSoft / ShinyHunters HTTP path indicators ====
[HIT] HTTP/path indicator: POST /PSEMHUB/hub
/u01/app/psoft/logs/access.log:1042: 142.11.200.186 - - "POST /PSEMHUB/hub HTTP/1.1" 200
==== 4. Filename indicators ====
[HIT] Suspicious filename: /u01/app/psoft/README-IF-YOU-SEE-THIS-YOUVE-BEEN-HACKED.TXT
==== 1. Suspicious JSP code patterns ====
[HIT] Suspicious JSP pattern in C:\PeopleSoft\webserv\shell.jsp:9: String cmd = request.getParameter("cmd");
==== 5. Network/C2 indicators in files and logs ====
[HIT] Network/C2 IOC 'azurenetfiles.net' in C:\PeopleSoft\logs\access.log:522: connection to azurenetfiles.net
Ein Treffer des Scanners sollte als Hinweis für eine Untersuchung betrachtet werden, nicht als endgültiger Nachweis einer Kompromittierung.
Für SAP NetWeaver-Umgebungen prüfen Sie:
Für PeopleSoft-Umgebungen prüfen Sie:
/PSEMHUB/hub/PSIGW/HttpListeningConnectorPSEMHUB.warDieses Skript wird wie besehen ohne Gewährleistungen, Garantien oder Haftung jeglicher Art bereitgestellt.
Es ist als schnelles Triage-Tool gedacht, um bei der ersten Identifizierung verdächtiger .jsp- und .jspx-Dateien zu helfen, insbesondere solcher, die Webshells im Zusammenhang mit Schwachstellen wie SAP NetWeaver CVE-2025-31324 ähneln könnten.
Es enthält auch Triage-Prüfungen für ausgewählte Oracle PeopleSoft / ShinyHunters / UNC6240-Indikatoren, ist aber kein umfassender PeopleSoft-Forensik-Scanner.
Dieses Tool ist kein Ersatz für eine vollständige Incident Response, forensische Untersuchung, Hersteller-Patch-Validierung, EDR-Telemetrie oder Protokollanalyse.