
🔍 Простой Bash-скрипт для обнаружения вредоносных JSP-вебшеллов, включая те, что используются в эксплойтах для SAP NetWeaver CVE-2025-31324.
Лёгкий скрипт для сканирования файлов .jsp и .jspx на предмет подозрительных шаблонов, обычно ассоциируемых с JSP-веб-шеллами, включая те, что наблюдались в атаках, эксплуатирующих SAP NetWeaver CVE-2025-31324.
Этот сканер также расширен проверками триажа для индикаторов Oracle PeopleSoft / ShinyHunters / UNC6240, связанных с CVE-2026-35273, включая подозрительные пути PeopleSoft, имена файлов, хэши и C2-строки.
Это инструмент триажа. Он предназначен для того, чтобы помочь защитникам быстро выявлять подозрительные файлы, пути и строки, требующие дальнейшей проверки.
Сканер ищет JSP/JSPX-файлы и связанные артефакты веб-уровня, содержащие такие шаблоны, как:
Runtime.getRuntime()request.getParameter()exec(, cmd=, command= и ProcessBuildernew File(), FileWriter, PrintWriter и FileOutputStreamresponse.getWriter() и out.println()cmd.exe, powershell, /bin/sh и /bin/bashОн проверяет содержимое файлов, а не только имена, что делает его пригодным для обнаружения переименованных или скрытых веб-шеллов.
Сканер также включает проверки триажа для индикаторов Oracle PeopleSoft, связанных с кампанией ShinyHunters / UNC6240 июня 2026 года, затрагивающей CVE-2026-35273.
Эти проверки включают:
/PSEMHUB/hub/PSIGW/HttpListeningConnector/PSEMHUB/.jsp или .jspx внутри PSEMHUB.warPSEMHUB.war/envmetadata/transactionslogs, persistantstorage, persistentstorage или scratchpad в путях PSEMHUBenvmetadata/data/environmentREADME-IF-YOU-SEE-THIS-YOUVE-BEEN-HACKED.TXT142.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. 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
Совпадение, найденное сканером, следует рассматривать как зацепку для расследования, а не как неопровержимое доказательство компрометации.
Для сред SAP NetWeaver проверьте:
Для сред PeopleSoft проверьте:
/PSEMHUB/hub/PSIGW/HttpListeningConnectorPSEMHUB.warЭтот скрипт предоставляется как есть, без каких-либо гарантий, обязательств или ответственности.
Он предназначен как инструмент быстрого триажа для помощи в первичном выявлении подозрительных файлов .jsp и .jspx, особенно тех, которые могут напоминать веб-шеллы, связанные с такими уязвимостями, как SAP NetWeaver CVE-2025-31324.
Он также включает проверки триажа для отдельных индикаторов Oracle PeopleSoft / ShinyHunters / UNC6240, но не является комплексным криминалистическим сканером PeopleSoft.
Этот инструмент не заменяет полноценное реагирование на инциденты, криминалистический анализ, проверку патчей вендора, телеметрию EDR или анализ логов.
Вы несёте полную ответственность за то, как вы интерпретируете результаты и какие действия предпринимаете на их основе. Этот проект публикуется добросовестно и на благо сообщества, но использование осуществляется полностью на ваш страх и риск.
Вклад приветствуется и ценится.
Если вы хотите улучшить этот инструмент — добавив новые шаблоны обнаружения, оптимизировав логику сканирования, расширив покрытие IOC или снизив количество ложных срабатываний — смело открывайте issue или отправляйте pull request.
Перед отправкой pull request:
Спасибо за поддержку инструментов безопасности с открытым исходным кодом.
*_fanout.shpsappsrv.cfg, ps_config и config.xml