Programmi hacker: facciamo fuzzing con Taof.

Aggiornamento: lug 8


Per la serie programmi hacker, oggi parleremo di Taof.


Taof è un fuzzer di protocollo di rete generico realizzato in Python con una GUI multipiattaforma. È stato progettato per ridurre al minimo il tempo di configurazione durante le sessioni di fuzzing ed è particolarmente utile per il test rapido di protocolli proprietari o non documentati.


La tecnica di fuzzing adottata dal software oggetto di analisi è la Mutation Fuzzing, che consiste in:

  • Nessuna analisi del protocollo, solo un set di dati campione per la mutazione;

  • Muta un byte/short/long alla volta nell'intero data set;

  • Riporta una storia di successi, ma è limitato nel testare i difetti di parsing in stringhe e delimitatori;

  • Veloce per iniziare, richiede poco tempo per l'avvio del test.


Similmente al fuzzing randomizzato, il mutation fuzzing non richiede un tempo significativo in anticipo per l'analisi del protocollo, partendo da un dataset valido. Invece di inserire o sostituire i dati con contenuti randomizzati, il mutation fuzzing esegue una sostituzione iterativa dei valori in tutti i dati.


Il vantaggio più significativo del mutation fuzzing è la capacità di iniziare rapidamente a utilizzare strumenti di fuzzing. A differenza del randomized fuzzing, il mutation fuzzing ha un tempo di esecuzione finito, interrompendosi dopo aver esaurito tutte le mutazioni per ogni porzione del dataset da testare.


Taof è reperibile al seguente link.



Esempio di applicazione

In questo esercizio, verrà utilizzato il fuzzer di mutazione Taof per valutare il software 3Com 3CDaemon. 3CDaemon è un server TFTP, FTP e Syslog integrato per piattaforme Windows, in un unico eseguibile.


3Com 3CDaemon è reperibile al seguente link.


Installazione del software

Installare il software 3CDaemon eseguendo l'eseguibile setup.exe. Accettare le impostazioni predefinite del programma di installazione. Dopo aver completato l'installazione, avviare il software 3CDaemon, sbloccando il software dal firewall di Windows se richiesto.



Figura 1 - 3CDaemon avviato

Quindi, copiare la directory taof-0.3.2_Win32 in una cartella sul tuo disco rigido. Al termine dell'operazione di copia, avviare l'eseguibile taof.exe.


Figura 2 - Taof avviato

Configurazione Data Retrieval

Poiché Taof è un fuzzer di mutazioni, è necessario fornirgli un set di dati di esempio che può utilizzare per generare mutazioni di fuzzing. Dalla finestra Taof, seguire questi passaggi per preparare il proxy Taof per monitorare uno scambio di dati campione con il software 3CDaemon.

1. Fare clic sul pulsante Data Retrieval dalla finestra principale di Taof.

2. Nella finestra di recupero dati, fare clic su Network Settings.

3. Utilizzare la porta proxy locale di TCP/2121, reindirizzando il traffico su questa porta alla porta FTP standard su TCP/21. Completa la finestra di dialogo delle impostazioni di rete come mostrato in questa diapositiva.

4. Fare clic su OK per accettare le impostazioni di rete, quindi fare clic su OK per accettare le impostazioni della finestra di recupero dati.



Figura 3 - Configurazione di Taof proxy

5. Infine, fare clic sul pulsante Start nella finestra principale di Taof per avviare il server proxy su TCP/2121.



Generare traffico di esempio

Ora che il fuzzer Taof è in ascolto sulla porta proxy 2121, è necessario generare del traffico FTP legittimo.

Dirigere un browser come Internet Explorer su TCP/2121 farà sì che Taof registri e reindirizzi il traffico al server FTP di 3CDaemon. Se richiesto, fornire un nome utente e una password.