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 strcpy, 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.
Qualcosa 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.