🐞CVE-2025-5548
Buffer overflow in FreeFloat FTP Server 1.0

🎯 Sfruttamento di Stack Buffer Overflow
Questo repository contiene la documentazione e lo sviluppo pratico di un progetto di sicurezza informatica incentrato sul reverse engineering e sullo sfruttamento di vulnerabilità a livello di memoria (Stack Buffer Overflow) in ambienti Windows a 32 bit.
📌 Obiettivo del Progetto
L'obiettivo di questo progetto è quello di sottoporre a audit, analizzare e sfruttare con successo il software Freefloat FTP Server v1.00, noto per la mancanza di mitigazioni di sicurezza moderne (come ASLR o DEP). In questo repository viene documentato l'intero ciclo di vita dell'attacco: dalla configurazione dell'ambiente di laboratorio con strumenti professionali, alla scoperta della vulnerabilità (Fuzzing), fino al dirottamento del flusso di esecuzione del programma per ottenere una console remota (Reverse Shell).
📂 Struttura del Repository
Il progetto è suddiviso in due fasi principali, ciascuna con la propria documentazione dettagliata e gli script corrispondenti:
-
🛠️ 01 Lab_Setup
- Contiene la giustificazione, il download e le istruzioni di installazione per tutti gli strumenti utilizzati durante il progetto (Debugger, IDE, Interpreti e Software Vulnerabile).
- Strumenti in evidenza: Immunity Debugger, IDA, Mona.py, Python 3.
-
💥 02 Vulnerability
- Contiene l'analisi della vulnerabilità e lo sviluppo progressivo dell'exploit.
- Include script Python per: Fuzzing, controllo del registro EIP, calcolo degli offset, identificazione dei Bad Chars e iniezione dello Shellcode finale.
⚙️ Metodologia Applicata
Per ottenere uno sfruttamento riuscito, sono state seguite le seguenti fasi metodologiche:
- Configurazione dell'Ambiente: Installazione sicura della macchina vittima e degli strumenti di analisi.
- Fuzzing (Scoperta): Invio di input anomali al server FTP per provocare un crash (Denial of Service).
- Controllo dell'EIP: Creazione di pattern ciclici per calcolare la dimensione esatta del buffer e sovrascrivere il puntatore alle istruzioni.
- Analisi della Memoria: Identificazione dei caratteri ristretti (Bad Chars) e ricerca di istruzioni di salto (
JMP ESP).
- Sfruttamento: Generazione del payload malevolo (Shellcode) e raggiungimento dell'esecuzione remota di codice (RCE).