
PoC exploit para CVE-2012-2982 (Webmin RCE), para fins educacionais.
Este repositório contém uma Prova de Conceito (PoC) de exploração para CVE-2012-2982, uma vulnerabilidade de execução remota de comandos autenticada que afeta versões do Webmin 1.590 e anteriores. A vulnerabilidade reside no endpoint /file/show.cgi, onde um invasor pode executar comandos arbitrários injetando caracteres especiais (como o símbolo de pipe |) em uma solicitação manipulada.
Esta PoC é destinada apenas para fins educacionais e de pesquisa em segurança. A exploração não autorizada de sistemas sem permissão é ilegal e antiética.
Webmin é uma ferramenta popular de administração de sistemas baseada na web para gerenciar sistemas baseados em Unix. Nas versões 1.590 e anteriores, existe uma falha de segurança no módulo File Manager. O problema surge da sanitização inadequada da entrada do usuário ao interagir com o script /file/show.cgi. Injetando metacaracteres de shell (|), um usuário autenticado pode executar comandos arbitrários no sistema alvo com os privilégios do processo Webmin (frequentemente root).
Versões afetadas: Webmin 1.590 e anteriores
Pré-requisitos do ataque:
O invasor deve ter credenciais válidas do Webmin (uma conta de usuário com poucos privilégios é suficiente).
O módulo File Manager deve estar acessível.
A exploração permite:
Execução remota de código (RCE)
Escalação de privilégios (se o Webmin estiver rodando como root)
Comprometimento do sistema
O endpoint vulnerável é:
http://<target_ip>:10000/file/show.cgi
O ataque explora a validação inadequada de entrada ao passar um caminho de arquivo, permitindo a execução de comandos shell injetados via |.
Este repositório contém um script de exploit em Python que automatiza:
Autenticação: Faz login no Webmin usando as credenciais fornecidas.
Extração do ID de Sessão: Recupera o ID de sessão necessário para requisições autenticadas.
Execução do Payload: Envia uma requisição maliciosa para executar comandos arbitrários.
Caminho de Execução Aleatório: Usa um nome de arquivo gerado aleatoriamente para evitar detecção.
Suporte a Reverse Shell: Gera um payload de reverse shell para conectar de volta à máquina do invasor.
Tratamento de Erros: Lida com falhas de requisições de forma robusta.
Design Modular: Fácil de modificar para testar diferentes payloads.
Python 3
Biblioteca requests (pip install requests)
Uma instância do Webmin (versão vulnerável) para testes (use um ambiente de laboratório controlado)
Uso:
python3 exploit.py <target_IP>
Exemplo:
python3 exploit.py 192.168.1.100
IP do Atacante (**lhost**): 10.21.48.124
Porta do Atacante (**lport**): 1937
Credenciais do Webmin Alvo:
Nome de usuário: user1
Senha: 1user
Se bem-sucedido, o exploit estabelece uma conexão reverse shell para a máquina do atacante.
Antes de executar o exploit, configure um listener Netcat na sua máquina atacante para receber o reverse shell:
nc -lvnp 1937
Assim que o exploit for executado com sucesso, você deve receber uma conexão de shell da máquina alvo.
Esta PoC é estritamente para fins de pesquisa em segurança e educacionais. Deve ser usada apenas em ambientes de teste de penetração autorizados. O uso não autorizado contra sistemas de produção é uma violação das leis de cibersegurança e pode resultar em consequências legais.
O autor não é responsável por qualquer uso indevido deste exploit. Use esta PoC apenas para testes de segurança legais e atividades de hacking ético.