
Dépôt pédagogique documentant l'analyse et l'exploitation de CVE-2025-5548 (dépassement de tampon du serveur FTP FreeFloat). Inclut une méthodologie réutilisable d'analyse de vulnérabilités, de la rétro-ingénierie statique, une exploitation pas à pas, ainsi qu'un guide d'approche 0-day avec des techniques de fuzzing et de débogage.

Anderson Steven — Master en Cybersécurité, Module 6 (Vulnérabilités) Travail individuel : Méthodologie d'analyse et d'exploitation des vulnérabilités
Je ne voulais pas simplement livrer « voici l'exploit qui fonctionne ». Ce dépôt
rassemble la façon dont je travaille lorsque je suis confronté à une vulnérabilité de
corruption de mémoire : ce que j'examine en premier, dans quel ordre j'écarte les
hypothèses, quels outils j'utilise à chaque phase et pourquoi. J'utilise
CVE-2025-5548 comme fil conducteur parce que c'est un cas petit et maniable, mais le
document central de ce dépôt — METHODOLOGY.md — n'est pas un
tutoriel sur « comment exploiter FreeFloat FTP », c'est ma façon de raisonner face à
n'importe quel binaire, adaptable à d'autres cas.
FreeFloat FTP Server 1.0 est un serveur FTP pour Windows vieux de plus d'une
décennie, sans maintenance, qui continue d'être utilisé dans les laboratoires
d'exploitation parce que son défaut est un cas d'école : lors du traitement de
certaines commandes du protocole (NOOP est celle que je travaille ici, mais ce
n'est pas la seule), il copie ce que le client envoie dans un tampon fixe sur la
pile avec strcpy, sans vérifier la longueur de l'entrée. Si vous envoyez plus de
données que n'en peut contenir le tampon, vous écrasez l'adresse de retour stockée
sur la pile et vous contrôlez EIP.
Une chose qui m'a semblé intéressante en recherchant l'historique de ce bug : le même
défaut de programmation, déclenché depuis différentes commandes FTP (USER, PASS,
HOST, NOOP...), a fini par être enregistré sous plusieurs CVE distincts
(CVE-2025-5548, CVE-2025-5667, CVE-2025-5220, CVE-2025-5075...).
METHODOLOGY.md — document central : ma méthodologie
d'analyse et d'exploitation, phase par phase, avec les outils et l'état d'esprit
que j'applique à chacune, et ma façon d'aborder une vulnérabilité inconnue (0-day).00-Environment/ — comment j'ai monté le laboratoire
(victime Windows, attaquant Linux, logiciels installés, réseau) ; il inclut le
binaire vulnérable dans Binaries/.01-Vulnerability-Analysis/ — diagnostic
du binaire : où se trouve le défaut et pourquoi il se produit, avec
rétro-ingénierie statique.02-Exploitation/ — le processus complet
d'exploitation documenté pas à pas, avec les scripts que j'ai utilisés à chaque
étape.03-0day-Approach/ — comment j'aborderais la
recherche d'une vulnérabilité encore non découverte : fuzzing, diffing, reversing,
environnement.images/ — captures du laboratoire, un sous-dossier par section.Tous les tests ont été réalisés dans un laboratoire isolé (machines virtuelles en réseau interne, sans accès à des systèmes tiers). Le contenu est exclusivement pédagogique ; il n'est pas conçu pour être utilisé contre des infrastructures sans autorisation.
J'ai utilisé comme base le dépôt TheMalwareGuardian/CVE-2025-5548.