
Laboratório estruturado para exploração controlada do CVE-2025-5548 (FreeFloat FTP Server). Inclui configuração de ambiente, fuzzing, controle de EIP, detecção de badchars, redirecionamento JMP ESP e entrega final de shellcode via scripts Python.
Repositório de laboratório orientado à exploração controlada do CVE-2025-5548 no FreeFloat FTP Server, em ambiente Windows e em VM isolada.
O projeto está dividido em dois blocos:
Environment/: preparação do ambiente (ferramentas, IDEs, debugger, disassembler e aplicativos vulneráveis).Exploit/: metodologia prática e scripts para uma cadeia completa de exploração do vetor FTP (MKD) associado ao cenário do CVE.Construir, validar e documentar uma cadeia de exploração reproduzível que cobre:
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 atuais:
01_check_connection.py: valida conectividade e banner do serviço.02_fuzz_trun.py: fuzzing incremental do comando MKD.03_send_pattern.py: envio de padrão cíclico gerado pelo Mona.04_verify_eip_control.py: validação de controle de EIP (BBBB).05_send_badchars.py: envio de bytearray.bin para detectar badchars.06_test_jmp_esp.py: teste de retorno com endereço JMP ESP.07_final_payload.py: envio do payload final com shellcode.127.0.0.1:21.Este laboratório foi projetado para aprendizado técnico, validação de controles e testes autorizados em ambiente próprio. Não deve ser utilizado em sistemas sem permissão explícita.
A partir da raiz do repositório:
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 e 05_send_badchars.py você deve ter configurado o Mona e os arquivos em C:\mona\.
| Bloco | Recurso |
|---|
| Requisitos | requirements.md |
| Programação | 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 |
| Ferramentas de exploit | mona-immunity.md |
| Apps vulneráveis | freefloatftpserver.md, vulnserver.md |