
Une preuve de concept pour CVE-2025-31161, utilisant un en-tête HTTP modifié pour effectuer une usurpation d'identité non authentifiée de n'importe quel utilisateur dans le serveur Crush FTP.
Avertissement : Cet outil est destiné uniquement aux tests de sécurité autorisés et à des fins éducatives. Toute utilisation non autorisée contre des systèmes pour lesquels vous n'avez pas d'autorisation explicite est illégale.
Cet outil est une preuve de concept (PoC) pour CVE-2025-31161, une vulnérabilité critique de contournement d'authentification dans CrushFTP (versions < 10.8.4 et < 11.3.1). La vulnérabilité exploite une erreur logique dans l'analyse de l'en-tête AWS4-HMAC, où un en-tête modifié déclenche une exception IndexOutOfBounds. Cette exception empêche le serveur de nettoyer la session, laissant ainsi l'utilisateur authentifié en tant que compte demandé sans mot de passe.
Credential=user/) provoque une exception Java non gérée, contournant le nettoyage de session.requestspip install requests
Le script fonctionne selon deux modes : Vérification (Observation) et Exploitation (Action).
Vérifie si la cible est vulnérable en tentant de divulguer un cookie de session pour le compte administrateur par défaut. Cette opération ne modifie pas le système cible.
python3 exploit.py check -u <target_ip> -p <port>
python3 exploit.py check -u 192.168.1.50 -p 8080Détourne une session pour l'utilisateur administratif spécifié et l'utilise pour injecter un nouveau compte administratif dans le groupe 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!| Flag | Nom | Description | Par défaut |
|---|
-u | --url | Adresse IP ou nom d'hôte de la cible | Requis |
-p | --port | Port de la cible | 8080 |
-a | --admin_user | Compte administrateur existant à usurper | crushadmin |
-nu | --new_user | Nom d'utilisateur pour le nouveau compte admin | Requis |
-np | --new_password | Mot de passe pour le nouveau compte admin | Requis |