
🔍 SAP NetWeaver CVE-2025-31324 のエクスプロイトに使用されるものを含む、悪意のある JSP Webシェルを検出するシンプルな Bash スクリプト
JSPベースのWebシェルに関連する不審なパターン(特にSAP NetWeaver CVE-2025-31324を悪用した攻撃で観測されたもの)をスキャンするための軽量スクリプトです。
また、本スキャナーはCVE-2026-35273に関連するOracle PeopleSoft / ShinyHunters / UNC6240のインジケータ(不審な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)ファイル名だけでなくファイルの内容も検査するため、リネームされたステルスWebシェルも検出可能です。
本スキャナーには、CVE-2026-35273 に関連する2026年6月のShinyHunters / UNC6240キャンペーンに伴うOracle PeopleSoftインジケータのトリアージチェックも含まれています。
これらのチェックは以下を含みます:
/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.sh に一致する可能性のあるファンアウトスクリプトpsappsrv.cfg、ps_config、config.xml などのPeopleSoft偵察文字列142.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コードパターン ====
[HIT] 不審なJSPパターン: Runtime\.getRuntime\(
/usr/sap/OP1/J31/work/suspicious.jsp:13: out.println(Runtime.getRuntime().exec(cmd));
[HIT] 不審なJSPパターン: request\.getParameter\(
/usr/sap/OP1/J31/work/shell.jsp:9: String cmd = request.getParameter("cmd");
==== 2. PeopleSoft / ShinyHunters HTTPパスインジケータ ====
[HIT] HTTP/パスインジケータ: POST /PSEMHUB/hub
/u01/app/psoft/logs/access.log:1042: 142.11.200.186 - - "POST /PSEMHUB/hub HTTP/1.1" 200
==== 4. ファイル名インジケータ ====
[HIT] 不審なファイル名: /u01/app/psoft/README-IF-YOU-SEE-THIS-YOUVE-BEEN-HACKED.TXT
==== 1. 不審なJSPコードパターン ====
[HIT] C:\PeopleSoft\webserv\shell.jsp:9 に不審なJSPパターン: String cmd = request.getParameter("cmd");
==== 5. ファイルおよびログ内のネットワーク/C2インジケータ ====
[HIT] 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ファイル本スクリプトは現状のまま提供され、いかなる種類の保証、保証、責任も負いません。
これは、SAP NetWeaver CVE-2025-31324 などの脆弱性に関連するWebシェルに類似した不審な .jsp および .jspx ファイルの初期特定を支援するためのクイックトリアージツールとして意図されています。
また、選択されたOracle PeopleSoft / ShinyHunters / UNC6240インジケータのトリアージチェックも含まれていますが、包括的なPeopleSoftフォレンジックスキャナーではありません。
本ツールは、完全なインシデント対応、フォレンジックレビュー、ベンダーパッチ検証、EDRテレメトリ、ログ分析の代替にはなりません。
発見事項の解釈とそれに基づく行動は、すべてお客様自身の責任です。 本プロジェクトは誠意とコミュニティの利益のために共有されていますが、使用はすべて自己責任で行ってください。
コントリビューションを歓迎します。
新しい検出パターンの追加、スキャンロジックの最適化、IOCのカバレッジ向上、誤検知の削減など、本ツールを改善したい場合は、Issueを作成するかプルリクエストを送信してください。
プルリクエストを送信する前に、以下を実施してください:
オープンソースのセキュリティツールへのご支援ありがとうございます。