Laboratorio académico de análisis y explotación de CVE-2025-5548 en FreeFloat FTP Server 1.0.
Esta carpeta reúne los artefactos reproducibles asociados al laboratorio de CVE-2025-5548 / FreeFloat FTP Server 1.0. La secuencia didáctica y la nomenclatura siguen el material docente de referencia de TheMalwareGuardian, mientras que estas versiones se han reconstruido para este repositorio a partir del desarrollo y de las evidencias del ejercicio. No se presentan como copias byte a byte de los ficheros docentes.
Todos los scripts están restringidos de forma intencionada a 127.0.0.1. El objetivo es que acompañen exclusivamente al laboratorio local documentado en docs/02-explotacion/.
| Script | Función dentro del laboratorio | Documentación |
|---|---|---|
01Python3Connection.py | Validación de conexión e interacción FTP | Step 1 |
02Python3Fuzzing.py | Fuzzing incremental del comando NOOP | Step 2 |
03Python3EIPOffsetDiscovery.py | Envío del patrón cíclico para determinar el offset de EIP | Step 2 |
04Python3ControlEIP.py | Comprobación del control de EIP con el offset documentado | Step 3 |
05Python3FindBadChars.py | Validación de los bad characters identificados durante el ejercicio | Step 4 |
06Python3JMPESP.py | Comprobación del redireccionamiento a ESP mediante un marcador INT3 | Step 5 |
07Python3Shellcode.py | Reproducción segura de la estructura final del payload | Steps 6–7 |
Los valores que aparecen en los scripts deben interpretarse dentro del contexto del laboratorio:
127.0.0.1:21, tal como aparece en las capturas del ejercicio.246, obtenido durante la fase de descubrimiento y confirmado mediante la sobrescritura de EIP.\x00, \x0a y \x0d.0x75CD9B23 (\x23\x9b\xcd\x75 en little endian) corresponde a la sesión de depuración documentada. El módulo donde se localizó tenía ASLR, de modo que la dirección debe volver a obtenerse en una nueva ejecución.07Python3Shellcode.py no incrusta ese shellcode: utiliza un marcador INT3 para conservar la trazabilidad del layout final sin convertir el repositorio en un artefacto operativo de acceso remoto.El material docente de referencia aporta la metodología y la secuencia de los siete pasos. Este repositorio añade el desarrollo realizado, las capturas y las adaptaciones propias de la ejecución. El contenido original de este repositorio se distribuye bajo GPL-3.0, de acuerdo con el fichero LICENSE; los componentes y materiales de terceros conservan sus respectivas condiciones de uso.