CVE-2025-5548-POC
Descrizione della vulnerabilità
CVE-2025-5548 è una vulnerabilità di tipo stack buffer overflow identificata in FreeFloat FTP Server, un servizio FTP legacy per sistemi Windows. Il difetto risiede nel gestore del comando NOOP, che non esegue la validazione della dimensione dell'input prima di copiarlo in un buffer di dimensione fissa nello stack. Questo consente a un attaccante remoto, senza autenticazione preventiva, di inviare una stringa sovradimensionata che sovrascrive il registro EIP e reindirizza il flusso di esecuzione verso codice arbitrario.
- Tipo: Stack Buffer Overflow (CWE-121)
- Vettore: Rete (accesso remoto senza autenticazione)
- Impatto: Esecuzione remota di codice (RCE)
- Servizio interessato: FreeFloat FTP Server — TCP/21, comando
NOOP
- Sistemi interessati: Windows XP, Windows 7, Windows 10/11 (variazioni in base alle protezioni attive)
Descrizione generale
Questo repository documenta un esercizio tecnico di laboratorio sulla vulnerabilità CVE-2025-5548 in un ambiente controllato. L'obiettivo principale è stato analizzare l'intero ciclo di valutazione: identificare il componente vulnerabile, osservare la risposta del servizio a input non validi e supportare, con prove, l'impatto potenziale sulla stabilità e sulla sicurezza del sistema.
L'esercitazione è stata sviluppata con approccio accademico e di cybersecurity difensiva. È stata data priorità alla tracciabilità dei risultati, alla qualità della documentazione tecnica e alla definizione di misure di mitigazione finalizzate alla riduzione della superficie di attacco.
Contenuto
- Pasos.md: sviluppo metodologico dell'esercizio, organizzato per fasi e con prove di validazione.
- Conclusion.md: chiusura tecnica con risultati, metodologia applicata e importanza dell'approccio difensivo.
Strumenti utilizzati
- IDA Free: utilizzato per l'analisi statica del binario e la localizzazione dei percorsi di esecuzione rilevanti.
- Immunity Debugger: utilizzato per il debug dinamico e l'osservazione dei registri e della memoria durante crash controllati.
- Mona.py: utilizzato per calcolare gli offset, validare i bad character e supportare la ricerca di istruzioni di salto.
- Python 3: utilizzato per automatizzare i casi di test e l'invio di input in modo ripetibile.
- Socket (libreria standard di Python): utilizzato per stabilire connessioni TCP e trasmettere payload di test controllati.
- Metasploit tools: utilizzati per la generazione di pattern e test di validazione tecnica in laboratorio.
- Netcat (nc): utilizzato per verifiche di connettività e ricezione in scenari controllati.
- Ambiente Windows + Kali Linux: utilizzato per separare il sistema target dall'ambiente di analisi e supporto.
Ambito di applicazione e uso responsabile
Il contenuto di questo repository è orientato a formazione, ricerca e rafforzamento dei controlli di sicurezza in ambienti autorizzati. Non deve essere applicato al di fuori dei laboratori, né su sistemi di terze parti, senza autorizzazione esplicita del proprietario.
Evidenza visiva
