
Exploit em Python para CVE-2023-32315 direcionado a servidores Openfire. Contorna a autenticação do painel de administração via travessia de caminho Unicode para criar um usuário administrativo, permitindo upload de plugin malicioso e acesso a web shell.
A vulnerabilidade CVE-2023-32315 afeta servidores Openfire, permitindo a um atacante contornar o login do painel administrativo web sem credenciais válidas. O exploit adiciona um usuário administrativo, permitindo ao atacante carregar um plugin malicioso e obter uma shell web.
CVE-2023-32315 é uma vulnerabilidade no Openfire que permite acessar os JSPs do assistente de configuração inicial (/setup/setup-s/...)
mesmo após ter sido concluído, explorando uma validação ruim de rotas mediante path traversal com codificação Unicode/"best-fit"
(%u002e%u002e, equivalente a ../), em vez de caracteres literais. Isso permite alcançar user-groups.jsp e user-create.jsp sem autenticação,
como se o servidor estivesse recém-instalado, e criar um novo usuário administrador. O script valida o resultado de duas formas: verificando se
o usuário aparece em user-summary.jsp, e verificando se as credenciais criadas funcionam em login.jsp. Uma vez dentro do painel, o
próximo passo (fora do escopo deste script) seria carregar um plugin malicioso para executar comandos arbitrários.
git clone https://github.com/pulentoski/Explotacion-CVE-2023-32315-Openfire.git
cd Explotacion-CVE-2023-32315-Openfire
Não requer dependências externas — usa apenas bibliotecas padrão do Python 3 (http.client, re, time, urllib.parse).
O script é interativo, sem flags de linha de comando:
python3 exploit.py
Ele vai pedir para escolher um modo:
[1] Objetivo único → você insere a URL diretamente (ex: http://127.0.0.1:9090)
[2] Lista de objetivos → você insere o caminho para um .txt com uma URL por linha
O usuário/senha que ele cria (pepe2/pepe2) está hardcoded no início do script — mude ali se precisar.
📄 Resultados: os objetivos confirmados ficam em exito.txt; se um objetivo falhar na verificação, o HTML de resposta é salvo em debug_<usuario>.html para revisão manual.
("openfire") && icon_hash=="1211608009"
Este script é destinado a ambientes controlados e auditorias autorizadas. O autor não se responsabiliza pelo uso indevido.