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
Outils/GitHubGitHub/themalwareguardian/cve-2007-1567
Analyse des VulnérabilitésExploitationShellcodeApprentissage et ÉducationOutil d'Accès à DistanceExploitation de Binaires
GitHubthemalwareguardian/cve-2007-1567

CVE-2007-1567

Dépassement de tampon classique basé sur la pile dans War FTP Daemon 1.65 démontrant une exécution de code à distance à l'ancienne via des commandes FTP malformées.

Voir le dépôt
12il y a 5 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-2007-1567 : War FTP Daemon 1.65 - Débordement de tampon basé sur la pile

Débordement de tampon classique basé sur la pile dans War FTP Daemon 1.65 démontrant l'exécution de code à distance à l'ancienne via des commandes FTP malformées.




📑 Table des matières

  • Pourquoi ce dépôt existe
  • Pourquoi cette vulnérabilité est intéressante
  • Contexte et logiciel concerné
  • À propos de la vulnérabilité
  • Déclencher le crash
  • Exploitation



🎓 Pourquoi ce dépôt existe

Ce dépôt fait partie du matériel que j'utilise lorsque j'enseigne l'exploitation des corruptions mémoire (en plus de mon travail régulier, j'enseigne également dans différents cours de cybersécurité où j'aide à former la prochaine génération d'ingénieurs en rétro-ingénierie).

CVE-2007-1567 est un cas que j'utilise juste après avoir présenté les bases des écrasements EIP vanilles. L'exploitation est propre et directe, mais elle comporte un détail qui la rend légèrement plus intéressante qu'un exercice initial typique : un mauvais caractère supplémentaire que le protocole FTP introduit et que les étudiants doivent identifier et prendre en compte lors de la construction de leur shellcode. C'est une petite contrainte, mais suffisante pour faire réfléchir les étudiants plutôt que de simplement copier une technique déjà utilisée.




💡 Pourquoi cette vulnérabilité est intéressante

War FTP Daemon 1.65 est un serveur FTP Windows hérité de la fin des années 1990. La vulnérabilité réside dans le gestionnaire de commande USER, qui utilise sprintf pour copier une entrée contrôlée par l'utilisateur dans un tampon de pile de taille fixe sans valider sa longueur. Ce qui rend ce cas utile pour l'enseignement :

  • Aucune authentification requise. Le débordement se déclenche dans le gestionnaire de commande USER, avant toute vérification du mot de passe. Une seule commande suffit pour provoquer le crash.
  • Écrasement direct de EIP. Pas de SEH, pas de heap, pas d'exploitation en plusieurs étapes. L'adresse de retour sauvegardée est écrasée directement.
  • Un mauvais caractère supplémentaire. Au-delà des habituels \x00, \x0a et \x0d, le protocole FTP introduit \x40 (@) comme mauvais caractère car il interprète la syntaxe utilisateur@hôte. Les étudiants doivent l'identifier lors de l'analyse des mauvais caractères.
  • Nécessite un environnement Windows plus ancien. Contrairement à la plupart des logiciels hérités que j'utilise pour enseigner, War FTP Daemon 1.65 ne peut pas être exécuté sur Windows moderne en raison des modifications de l'API Winsock. Il nécessite Windows XP, ce qui ajoute un défi pratique de configuration et apprend aux étudiants que l'environnement de laboratoire compte.



🔍 Contexte et logiciel concerné

War FTP Daemon est un serveur FTP Windows écrit à l'origine à la fin des années 1990. Il écoute sur le port TCP 21 et traite les commandes FTP standard. La vulnérabilité se trouve dans le gestionnaire de commande USER, qui traite le nom d'utilisateur envoyé par un client connecté en utilisant sprintf sans validation de longueur.

Détails techniques clés :

  • Type de vulnérabilité : Débordement de tampon basé sur la pile
  • Version concernée : War FTP Daemon 1.65
  • Point d'entrée concerné : Commande FTP USER
  • Composant vulnérable : Gestionnaire de commande USER
  • Authentification requise : Non
  • Impact : Exécution de code à distance



⚠️ À propos de la vulnérabilité

War FTP Daemon traite la commande USER en passant le nom d'utilisateur fourni à sprintf, qui le copie dans un tampon de pile de taille fixe sans vérifier sa longueur. Une version simplifiée de la logique vulnérable ressemble à ceci :

root@kitploit:~
char buffer[256];

sprintf(buffer, "%sCRLF", username);

Envoyer une chaîne suffisamment longue comme argument USER provoque la copie au-delà de la fin du tampon, corrompant la pile jusqu'à ce que l'adresse de retour sauvegardée soit écrasée. Lorsque la fonction retourne, le CPU charge la valeur contrôlée par l'attaquant depuis la pile dans EIP et y saute.




💥 Déclencher le crash

Le crash peut être reproduit en envoyant un argument USER surdimensionné via FTP. Aucune authentification n'est requise. Exemple en Python :

root@kitploit:~
import socket

HOST = '127.0.0.1'
PORT = 21

payload = b"A" * 700

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((HOST, PORT))
s.recv(1024)

s.send(b"USER " + payload + b"\r\n")
s.close()

Lorsqu'il est exécuté sous un débogueur, le crash montre EIP écrasé avec des données contrôlées par l'attaquant :

root@kitploit:~
EIP = 41414141
Télécharger l’outil

confirmant que l'adresse de retour sauvegardée a été corrompue par le débordement.




💣 Exploitation

L'objectif de ce dépôt n'est pas seulement de démontrer le crash, mais de parcourir le processus d'exploitation complet étape par étape, du fuzzing à un shell inverse fonctionnel.

Pour garder le README principal propre, les notes d'exploitation détaillées, les scripts et les étapes du débogueur sont placés dans le dossier Vulnerability 📂 de ce dépôt.

Vous y trouverez le flux de travail complet utilisé pour exploiter cette CVE, comprenant :

  • Fuzzing de la commande USER pour identifier le crash.
  • Découverte de l'offset pour localiser la position exacte de EIP sur la pile.
  • Analyse des mauvais caractères, y compris le caractère \x40 spécifique à la gestion de USER dans FTP.
  • Localisation d'un gadget JMP ESP dans MFC42.dll.
  • Placement et exécution du shellcode.