
Guida passo passo per sfruttare un buffer overflow nel server FTP FreeFloat utilizzando fuzzing in Python, Immunity Debugger con mona.py e IDA Free per l'analisi binaria e lo sviluppo di payload.
Piattaforma target: Windows
Questa guida descrive tutti gli strumenti necessari per eseguire l'analisi delle vulnerabilità e il fuzzing del binario. Segui i passaggi nell'ordine per assicurarti che tutto sia configurato correttamente.
Scarica: python.org/downloads/windows
Python 3 è il linguaggio che useremo per scrivere script di fuzzing. La sua semplicità e il ricco ecosistema lo rendono ideale per automatizzare la consegna di payload al binario target, gestire connessioni di rete ed elaborare le risposte.
Installazione: Scarica il programma di installazione .exe dal link ed eseguilo. Durante l'installazione, assicurati di spuntare ✅ "Aggiungi Python al PATH" — altrimenti non potrai invocare python dal terminale.
Scarica: github.com/kbandla/ImmunityDebugger
Immunity Debugger è un debugger a livello di processo specificamente orientato all'analisi di sicurezza e alla ricerca di exploit. Ti permette di ispezionare registri, memoria, stack e heap in tempo reale mentre il programma è in esecuzione — esattamente ciò di cui abbiamo bisogno per identificare e verificare un buffer overflow.
⚠️ Nota: Immunity Debugger è stato interrotto e il suo sito ufficiale non è più disponibile. Tuttavia, è ancora ampiamente utilizzato nella comunità della sicurezza e in ambito accademico grazie all'integrazione con il plugin mona.py, al basso consumo di risorse e all'interfaccia intuitiva per l'analisi degli exploit su sistemi Windows a 32 bit. Il repository GitHub citato contiene il programma di installazione binario come originariamente distribuito.
Installazione: Clona il repository. L'eseguibile si trova in ImmunityDebugger\1.85\ImmunityDebugger.exe e non richiede installazione.
Scarica: python.org/download/releases/2.7
Il motore di scripting di Immunity Debugger è basato su Python 2.7, rendendo questa versione un requisito fondamentale per il corretto funzionamento dello strumento — in particolare per l'esecuzione del plugin mona.
ℹ️ Python 2.7 e Python 3 possono coesistere sullo stesso sistema senza problemi. Assicurati solo che Python 3 rimanga la versione principale nel tuo PATH.
Installazione: Scarica ed esegui il programma di installazione. Non è necessario aggiungerlo al PATH se Python 3 è già configurato.
Scarica: github.com/corelan/mona
mona.py è il plugin principale per Immunity Debugger, sviluppato dal Corelan Team. Automatizza le parti più noiose dello sviluppo di exploit:
pattern_create, pattern_offset)JMP ESPInstallazione:
mona.py nella directory dei comandi di Immunity:ImmunityDebugger\1.85\PyCommands\mona.py
Una volta copiato, puoi invocarlo dalla barra dei comandi di Immunity con:
!mona help
Scarica: code.visualstudio.com
🟡 Opzionale — ma altamente consigliato.
VS Code è l'editor in cui scriveremo i nostri script Python per il fuzzing. Fornisce evidenziazione della sintassi, completamento intelligente, un terminale integrato e supporto per estensioni che migliorano significativamente l'efficienza del flusso di lavoro.
Estensione consigliata: Python — Microsoft
Fornisce IntelliSense, linting, debug integrato e selezione dell'interprete Python direttamente all'interno di VS Code. Una volta installata, assicurati di selezionare l'interprete corretto (Python 3) dalla barra inferiore dell'editor.
Scarica: hex-rays.com → sezione Downloads → IDA Free
IDA (Interactive DisAssembler) è lo standard di settore per l'ingegneria inversa dei binari. La versione gratuita (IDA Free) è più che sufficiente per questa analisi: ti permette di disassemblare l'eseguibile target, navigare tra le sue funzioni, identificare chiamate pericolose come strcpy o gets e comprendere il flusso del programma senza accesso al codice sorgente.
🔐 Licenza: La versione individuale non commerciale è completamente gratuita. Richiede solo la registrazione con un'email valida. Il programma di installazione e la licenza vengono scaricati dal Portale Clienti Hex-Rays.
Installazione:
Scarica il programma di installazione .exe dal Portale Clienti ed eseguilo seguendo i passaggi della procedura guidata.
Dopo l'installazione, la procedura guidata indicherà che è necessario posizionare il file di licenza (.hexlic) nel seguente percorso:
%APPDATA%\Hex-Rays\IDA Pro\
.hexlic dalla sezione Licenze del Portale Clienti e copialo in quella posizione. Al successivo avvio di IDA, la licenza verrà attivata automaticamente. ✅Il binario target è FreeFloat FTP Server v1.0, un server FTP leggero per Windows. È un software con vulnerabilità note e ben documentate nella comunità della sicurezza, il che lo rende un target classico per esercitarsi con le tecniche di buffer overflow in ambienti controllati.
📦 L'eseguibile è disponibile in questo stesso repository: FreeFloatFtpServer1.0.zip
Estrai il file zip per ottenere Win32/FTPServer.exe, che è il binario che utilizzeremo durante tutta l'analisi.
Continua in 02 Vulnerabilità →
Buon hacking! 🎯