CVE-2025-5548-POC
Description de la vulnérabilité
CVE-2025-5548 est une vulnérabilité de type débordement de tampon de pile identifiée dans FreeFloat FTP Server, un service FTP hérité pour les systèmes Windows. Le défaut réside dans le gestionnaire de la commande NOOP, qui ne valide pas la taille de l'entrée avant de la copier dans un tampon de taille fixe sur la pile. Cela permet à un attaquant distant, sans authentification préalable, d'envoyer une chaîne surdimensionnée qui écrase le registre EIP et redirige le flux d'exécution vers du code arbitraire.
- Type: Débordement de tampon de pile (CWE-121)
- Vecteur: Réseau (accès distant sans authentification)
- Impact: Exécution de code à distance (RCE)
- Service affecté: FreeFloat FTP Server — TCP/21, commande
NOOP
- Systèmes affectés: Windows XP, Windows 7, Windows 10/11 (variations selon les protections actives)
Description générale
Ce référentiel documente un exercice technique de laboratoire sur la vulnérabilité CVE-2025-5548 dans un environnement contrôlé. L'objectif principal était d'analyser le cycle complet d'évaluation : identifier le composant vulnérable, observer la réponse du service face à des entrées non valides et étayer, par des preuves, l'impact potentiel sur la stabilité et la sécurité du système.
L'exercice a été mené avec une approche académique et de cybersécurité défensive. La traçabilité des constatations, la qualité de la documentation technique et la définition de mesures d'atténuation visant à réduire la surface d'attaque ont été privilégiées.
Contenu
- Pasos.md: développement méthodologique de l'exercice, organisé par phases et avec preuves de validation.
- Conclusion.md: conclusion technique avec résultats, méthodologie appliquée et importance de l'approche défensive.
Outils utilisés
- IDA Free: utilisé pour l'analyse statique du binaire et la localisation des chemins d'exécution pertinents.
- Immunity Debugger: utilisé pour le débogage dynamique et l'observation des registres et de la mémoire lors de plantages contrôlés.
- Mona.py: utilisé pour calculer les offsets, valider les bad characters et aider à la recherche d'instructions de saut.
- Python 3: utilisé pour automatiser les cas de test et l'envoi d'entrées de manière répétable.
- Socket (bibliothèque standard de Python): utilisé pour établir des connexions TCP et transmettre des charges de test contrôlées.
- Outils Metasploit: utilisés pour la génération de motifs et des tests de validation technique en laboratoire.
- Netcat (nc): utilisé pour les vérifications de connectivité et la réception dans des scénarios contrôlés.
- Environnement Windows + Kali Linux: utilisé pour séparer le système cible de l'environnement d'analyse et de support.
Portée et utilisation responsable
Le contenu de ce référentiel est destiné à la formation, à la recherche et au renforcement des contrôles de sécurité dans des environnements autorisés. Il ne doit pas être appliqué en dehors des laboratoires, ni sur des systèmes tiers, sans autorisation explicite du propriétaire.
Preuve visuelle
