
Laboratorio estructurado para explotación controlada de CVE-2025-5548 (FreeFloat FTP Server). Incluye configuración del entorno, fuzzing, control de EIP, detección de badchars, redirección JMP ESP y entrega final de shellcode mediante scripts en Python.
Repositorio de laboratorio orientado a la explotacion controlada del CVE-2025-5548 en FreeFloat FTP Server, sobre entorno Windows y en VM aislada.
El proyecto esta dividido en dos bloques:
Environment/: preparacion del entorno (herramientas, IDEs, debugger, disassembler y apps vulnerables).Exploit/: metodologia practica y scripts para una cadena completa de explotacion del vector FTP (MKD) asociado al escenario del CVE.Construir, validar y documentar una cadena de explotacion reproducible que cubre:
JMP ESP.M6/
├── README.md
├── Environment/
│ ├── 01-requirements/
│ │ └── requirements.md
│ ├── 02-programming-environment/
│ │ ├── git.md
│ │ ├── java-jdk.md
│ │ ├── netcat.md
│ │ └── python3.md
│ ├── 03-ides/
│ │ ├── notepad++.md
│ │ ├── pycharm.md
│ │ └── vscode.md
│ ├── 04-debuggers/
│ │ └── immunity-debugger.md
│ ├── 05-disassemblers/
│ │ ├── ghidra.md
│ │ └── ida-free.md
│ ├── 06-exploit-development/
│ │ └── mona-immunity.md
│ ├── 07-vulnerable-applications/
│ │ ├── freefloatftpserver.md
│ │ └── vulnserver.md
│ └── images/
│ └── README.md
└── Exploit/
├── metodologia-analisis.md
├── Scripts/
│ ├── 01_check_connection.py
│ ├── 02_fuzz_trun.py
│ ├── 03_send_pattern.py
│ ├── 04_verify_eip_control.py
│ ├── 05_send_badchars.py
│ ├── 06_test_jmp_esp.py
│ └── 07_final_payload.py
└── images/
Metodologia completa: metodologia-analisis.md
Scripts actuales:
01_check_connection.py: valida conectividad y banner del servicio.02_fuzz_trun.py: fuzzing incremental del comando MKD.03_send_pattern.py: envio de patron ciclico generado por Mona.04_verify_eip_control.py: validacion de control de EIP (BBBB).05_send_badchars.py: envio de bytearray.bin para detectar badchars.06_test_jmp_esp.py: prueba de retorno con direccion JMP ESP.07_final_payload.py: envio del payload final con shellcode.127.0.0.1:21.Este laboratorio esta disenado para aprendizaje tecnico, validacion de controles y pruebas autorizadas en entorno propio. No debe utilizarse sobre sistemas sin permiso explicito.
Desde la raiz del repo:
cd Exploit
python .\Scripts\01_check_connection.py
python .\Scripts\02_fuzz_trun.py
python .\Scripts\03_send_pattern.py
python .\Scripts\04_verify_eip_control.py
python .\Scripts\05_send_badchars.py
python .\Scripts\06_test_jmp_esp.py
python .\Scripts\07_final_payload.py
Nota: para 03_send_pattern.py y 05_send_badchars.py debes tener configurado Mona y los archivos en C:\mona\.
| Bloque | Recurso |
|---|
| Requisitos | requirements.md |
| Programacion | git.md, java-jdk.md, netcat.md, python3.md |
| IDEs | notepad++.md, pycharm.md, vscode.md |
| Debugger | immunity-debugger.md |
| Disassemblers | ghidra.md, ida-free.md |
| Exploit tooling | mona-immunity.md |
| Apps vulnerables | freefloatftpserver.md, vulnserver.md |