🧪 FreeFloat FTP Server Buffer Overflow Lab (CVE-2025-5548)

📌 Descrição
Este laboratório demonstra como explorar uma vulnerabilidade de Stack Buffer Overflow no FreeFloat FTP Server, identificada como CVE-2025-5548.
O objetivo é compreender o processo completo de exploração em aplicações Windows vulneráveis, incluindo:
- Fuzzing do serviço
- Identificação do offset no EIP
- Controle do fluxo de execução
- Identificação de bad characters
- Localização de instruções JMP ESP
- Geração de shellcode
- Desenvolvimento de um exploit funcional
Este laboratório é projetado com fins educativos para aprender técnicas clássicas de exploração de memória.
🎯 Objetivos do laboratório
Durante este laboratório você aprenderá a:
- Analisar um serviço vulnerável
- Provocar um crash controlado
- Encontrar o offset exato de EIP
- Controlar o fluxo de execução
- Identificar bad characters
- Encontrar gadgets na memória
- Gerar shellcode com msfvenom
- Construir um exploit em Python
🖥️ Ambiente do laboratório
O laboratório é realizado em um ambiente controlado com as seguintes ferramentas:
Máquina vítima
- Windows 7 / Windows XP
- FreeFloat FTP Server
- Immunity Debugger
- Mona.py
Máquina atacante
- Kali Linux
- Python 3
- Metasploit Framework
- Netcat
🧰 Ferramentas utilizadas
- Immunity Debugger
- Mona.py
- Metasploit Framework
- msfvenom
- Python sockets
- Netcat
📂 Estrutura do laboratório
FreeFloat-BOF-Lab/
│
├── exploit/
│ ├── fuzz.py
│ ├── offset.py
│ ├── badchars.py
│ └── exploit.py
│
├── methodology/
│ └── exploitation_methodology.md
│
├── screenshots/
│
└── README.md
🔬 Metodologia
A exploração segue os seguintes passos:
- Fuzzing
- Encontrar offset de EIP
- Controlar EIP
- Identificar bad characters
- Encontrar JMP ESP
- Gerar shellcode
- Executar o exploit
Você pode ver a explicação completa aqui:
methodology/exploitation_methodology.md
🚀 Execução do exploit
Escutar a conexão reversa:
nc -lvnp 443
Executar o exploit:
python exploit.py
📚 Conceitos aprendidos
- Stack Buffer Overflow
- Controle do registro EIP
- Shellcode
- Bad Characters
- JMP ESP
- Debugging no Windows
- Desenvolvimento de exploits