
Сканер безопасности на Python для выявления уязвимости CVE-2025-31324 в системах SAP Visual Composer и обнаружения известных индикаторов компрометации (IOC), таких как вредоносные .jsp-файлы.
Сканер безопасности на Python для выявления уязвимости CVE-2025-31324 в системах SAP Visual Composer и обнаружения известных индикаторов компрометации (IOC), таких как вредоносные файлы .jsp.
.jsp (веб-шеллов)requests (устанавливается через requirements.txt)# 1. Clone the repository
git clone https://github.com/youruser/CVE-2025-31324.git
cd CVE-2025-31324
# 2. Create and activate virtual environment
python3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# 3. Install dependencies
pip install -r requirements.txt
scan.py # Main scanner
targets.csv # Input list of targets
ioc_list.txt # Optional IOC signature list
results.csv # Output report (if --output used)
requirements.txt # Python dependencies
Создайте файл с именем targets.csv в следующем разделяемом точкой с запятой формате с IP-адресом, портом и опцией SSL:
192.168.1.10;50000;false
myunsafelocation.example.com;443;true
10.0.0.5;8080;false
true, false, yes или noСоздайте файл с именем ioc_list.txt:
# Default IOCs
cache.jsp
helper.jsp
nzwcnktc.jsp
# Add your own signatures
shell.jsp
webadmin.jsp
python3 scan.py --input targets.csv
| Флаг | Описание |
|---|---|
--iocfile | Путь к пользовательскому списку IOC () |
python3 scan.py --input targets.csv --iocfile ioc_list.txt --output results.csv --verbose
Скрипт выводит блок результатов для каждого хоста:
__________________________________
✅ Target 1 : 192.168.1.10:50000
Connection: Online
Status: Not Vulnerable
IOC: None detected
__________________________________
| Иконка | Значение |
|---|---|
| ✅ | Безопасен (не уязвим, IOC не обнаружены) |
| ❗ | Уязвим, но IOC не обнаружены |
| 💥 | Уязвим + обнаружены IOC |
| ❌ | Хост недоступен / ошибка подключения |
Для локального тестирования запустите Python HTTP-сервер, имитирующий уязвимую систему SAP:
mkdir -p test/developmentserver
mkdir -p test/irj
echo "" > test/developmentserver/metadatauploader
echo "<%-- fake webshell --%>" > test/irj/cache.jsp
cd test
python3 -m http.server 8000
Добавьте в targets.csv:
0.0.0.0;8000;false
Этот инструмент предоставляется только для авторизованного тестирования безопасности и исследовательских целей. Не используйте его против систем, которыми вы не владеете или на сканирование которых у вас нет явного разрешения.
Если у вас есть предложения или улучшения, пожалуйста, откройте issue или отправьте PR.
Этот проект распространяется под лицензией MIT.
Вы можете свободно использовать, изменять и распространять его — в коммерческих или личных целях.
Отказ от ответственности:
Этот инструмент предоставляется как есть, без каких-либо гарантий.
Авторы не несут ответственности за любой ущерб или юридические проблемы, возникшие в результате его использования.
Используйте его только в средах, где у вас есть явное разрешение на сканирование и тестирование систем.
.txt--output or -o | Сохранить результаты в CSV |
--verbose or -v | Включить подробный отладочный вывод |