Repository educativo che documenta l'analisi e lo sfruttamento di CVE-2025-5548 (buffer overflow nel server FTP FreeFloat). Include una metodologia di analisi delle vulnerabilità riutilizzabile, reverse engineering statico, sfruttamento passo dopo passo e una guida all'approccio 0-day con tecniche di fuzzing e debugging.

Anderson Steven — Master in Cybersicurezza, Modulo 6 (Vulnerabilità) Consegna individuale: Metodologia di analisi e sfruttamento delle vulnerabilità
Non volevo semplicemente consegnare "ecco l'exploit funzionante". Questo repository
raccoglie come lavoro quando affronto una vulnerabilità di corruzione della memoria:
cosa guardo per primo, in quale ordine scarto le ipotesi, quali strumenti uso in
ogni fase e perché. Uso CVE-2025-5548 come filo conduttore perché è un caso piccolo
e gestibile, ma il documento centrale di questo repo —
METHODOLOGY.md — non è un tutorial su "come sfruttare FreeFloat
FTP", è il mio modo di ragionare su qualsiasi binario, adattabile ad altri casi.
FreeFloat FTP Server 1.0 è un server FTP per Windows di oltre un decennio fa, non più
mantenuto, ancora usato nei laboratori di sfruttamento perché il suo difetto è da
manuale: quando elabora certi comandi del protocollo (NOOP è quello che lavoro qui,
anche se non è l'unico) copia ciò che invia il cliente in un buffer fisso sullo stack
con , senza controllare quanto sia lunga l'input. Se invii più dati di quanti
ne entrino, ti mangi l'indirizzo di ritorno salvato sullo stack e controlli EIP.
strcpyQualcosa che ho trovato interessante mentre investigavo la cronologia di questo bug:
lo stesso errore di programmazione, attivato da diversi comandi FTP (USER, PASS,
HOST, NOOP...), è stato registrato come diversi CVE distinti
(CVE-2025-5548, CVE-2025-5667, CVE-2025-5220, CVE-2025-5075...).
METHODOLOGY.md — documento centrale: la mia metodologia di
analisi e sfruttamento, fase per fase, con gli strumenti e la mentalità che applico
in ciascuna, e il mio modo di affrontare una vulnerabilità sconosciuta (0-day).00-Environment/ — come ho allestito il laboratorio
(vittima Windows, attaccante Linux, software installato, rete); include il binario
vulnerabile in Binaries/.01-Vulnerability-Analysis/ — diagnosi del
binario: dove si trova il difetto e perché si verifica, con reverse engineering statico.02-Exploitation/ — il processo completo di
sfruttamento documentato passo dopo passo, con gli script che ho usato in ogni fase.03-0day-Approach/ — come affronterei la ricerca di
una vulnerabilità ancora non scoperta: fuzzing, diffing, reversing, ambiente.images/ — screenshot del laboratorio, una sottocartella per sezione.Tutti i test sono stati effettuati in un laboratorio isolato (macchine virtuali in rete interna, senza accesso a sistemi di terze parti). Il contenuto è esclusivamente formativo; non è inteso per essere utilizzato contro infrastrutture senza autorizzazione.
Ho usato come base il repository TheMalwareGuardian/CVE-2025-5548.