
Laboratorio di analisi e sfruttamento della vulnerabilità CVE-2025-5548 in FreeFloat FTP Server 1.0
Laboratorio di analisi e sfruttamento di vulnerabilità · Exploit Development · Windows x86
Questo repository documenta in modo completo il processo di analisi e sfruttamento della vulnerabilità CVE-2025-5548, un stack-based buffer overflow presente in FreeFloat FTP Server 1.0 per Windows.
L'obiettivo non è solo sfruttare la vulnerabilità, ma spiegare come si costruisce un laboratorio di analisi da zero: quali strumenti servono, perché servono e come si utilizza ciascuno di essi durante il processo di sfruttamento. L'intero ambiente viene configurato manualmente e passo dopo passo, senza script automatizzati, consentendo di comprendere in profondità ogni fase del processo.
CVE-2025-5548 è un buffer overflow in FreeFloat FTP Server.
La vulnerabilità si verifica quando il server FTP riceve un input appositamente progettato tramite il comando NOOP. Non validando la dimensione del buffer ricevuto, è possibile causare un overflow dello stack, sovrascrivere il registro EIP e reindirizzare il flusso di esecuzione verso codice arbitrario controllato dall'attaccante.
CVE-2025-5548-FreeFloat-FTP-Buffer-Overflow/
│
├── docs/
│ ├── 01_environment_setup.md ← Parte 1: Preparación del entorno
│ └── 02_exploitation.md ← Parte 2: Explotación de la vulnerabilidad
│
├── exploits/
│ ├── exploit01.py ← Verificación de conectividad
│ ├── exploit02.py ← Fuzzing del comando NOOP
│ ├── exploit03.py ← Envío del patrón cíclico
│ ├── exploit04.py ← Verificación del control del EIP
│ ├── exploit05.py ← Identificación de bad characters
│ └── exploit06.py ← Exploit final con JMP ESP
│
└── images/
└── *.png ← Capturas utilizadas en la documentación
Installazione e configurazione manuale di tutti gli strumenti necessari per il laboratorio, con screenshot e spiegazione del motivo per cui ciascuno è necessario.
📄 Vedi la documentazione → docs/01_environment_setup.md
Processo completo di sfruttamento documentato fase per fase, dal primo crash al controllo totale del flusso di esecuzione.
📄 Vedi la documentazione → docs/02_exploitation.md
graph LR
A["Entrada controlada: NOP + buffer"] --> B["Buffer Overflow"]
B --> C["Sobrescritura de EIP"]
C --> D["EIP → dirección JMP ESP"]
D --> E["JMP ESP"]
E --> F["ESP → buffer controlado"]
F --> G["NOP sled"]
G --> H["Shellcode"]
Entrada controlada (NOOP + buffer)
↓
Buffer Overflow
↓
Sobrescritura de EIP
↓
EIP → dirección de JMP ESP
↓
JMP ESP
↓
ESP → buffer controlado
↓
NOP sled
↓
Shellcode
Questo laboratorio non si concentra solo sull'esecuzione di un exploit, ma sulla comprensione del processo completo di analisi e sfruttamento delle vulnerabilità.
Questo repository ha scopi esclusivamente educativi. Tutte le analisi e le attività di sfruttamento vengono eseguite su software vulnerabile in un ambiente controllato e isolato. Non utilizzare queste tecniche contro sistemi senza esplicita autorizzazione.
| Campo | Dettaglio |
|---|
| CVE | CVE-2025-5548 |
| Pubblicato | 03/06/2025 |
| Severità | Critica |
| Tipo | Stack-based Buffer Overflow |
| Componente interessato | NOOP Command Handler |
| Software interessato | FreeFloat FTP Server 1.0 |
| Piattaforma | Windows x86 |
| Vettore d'attacco | Rete (accesso remoto) |
| Offset fino a EIP | 246 bytes |
| Bad characters | \x00 \x0a \x0d |
| Indirizzo JMP ESP | 0x7C86467B (kernel32.dll) |
| Categoria | Strumenti |
|---|
| Linguaggi | Python, Java (JDK) |
| IDE ed editor | Visual Studio Code, Notepad++, PyCharm |
| Analisi e debugging | IDA Free, Immunity Debugger, Ghidra |
| Sfruttamento | Mona (plugin per Immunity) |
| Applicazioni vulnerabili | VulnServer, FreeFloat FTP Server |
| Rete e utility | Nmap / Ncat, Git |
| Fase | Descrizione |
|---|
| 1 | Preparazione dell'ambiente di sfruttamento |
| 2 | Analisi statica del binario con IDA |
| 3 | Fuzzing del comando NOOP |
| 4 | Calcolo dell'offset con Mona (246 bytes) |
| 5 | Identificazione dei bad characters (\x00, \x0a, \x0d) |
| 6 | Reindirizzamento del flusso di esecuzione tramite JMP ESP |