Red Hot Cyber

La cybersecurity è condivisione.
Riconosci il rischio, combattilo, condividi le tue esperienze ed 
incentiva gli altri a fare meglio di te.

Cerca

Programmi hacker: facciamo fuzzing con Taof

Redazione RHC : 6 Luglio 2021 08:00

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.

Si sconsiglia di utilizzare Chrome in quanto non presenta il popup per l’inserimento delle credenziali su FTP.


Figura 4 – FTP Login per generare traffico

Dopo aver tentato di accedere al server FTP, chiudi Internet Explorer e fai clic su Stop nella finestra del proxy Taof. Questo ti riporterà alla finestra fuzzing principale di Taof.

Selezione dei dati da mutare

Una volta che Taof ha raccolto i dati, possiamo selezionare un gruppo di dati da utilizzare per le mutazioni di fuzzing. Utilizzare questi passaggi per selezionare i dati da modificare:

  • Nella finestra principale di Taof sono disponibili più set di dati; facendo clic su uno di essi aggiornerà il contenuto nella finestra in basso denominata Request Contents con i dati selezionati. Rivedere i set di dati disponibili, selezionandone uno appropriato per il fuzzing su un server FTP non autenticato.
  • Fare clic sul pulsante Set fuzzing points per aprire la finestra Richiesta fuzz.


Figura 5 – Selezione dei dati da mutare

  • La finestra Richiesta fuzz consente di evidenziare il contenuto del set di dati selezionato per aggiungere più punti fuzz. Evidenziare tutti o una parte dei dati mostrati in questo passaggio.
  • Fare clic su Aggiungi per aggiungere i dati evidenziati come punto fuzzing. Facoltativamente, tornare al passaggio 3 ed evidenziare un diverso gruppo di dati e ripetere questo processo.
  • Dopo aver aggiunto tutti i punti fuzz desiderati, fare clic su OK per chiudere la finestra Fuzz Request.


Figura 6 – Configurazione della fuzz request

  • Dalla finestra principale di Taof, fare clic su Fuzzing per aprire la finestra Fuzzing.
  • Assicurarsi che 3CDaemon sia in esecuzione. Dalla finestra Fuzzing, fare clic su Start per avviare il processo di fuzzing. Potrebbero essere necessari alcuni minuti per il completamento dei casi di test.


Figura 7 – Avvio della sessione di fuzzing

Figura 8 – Termine della sessione di fuzzing con crash del target

Analisi del logging

Durante il processo di fuzzing, Taof creerà una directory fuzzing-session all’interno della directory taof-0.3.2_Win32. Aprire il file denominato debugging da questa directory utilizzando Notepad++, Blocco note o un altro editor di testo. Esaminare il contenuto di questo file per identificare le mutazioni inviate da Taof al bersaglio. Guarda le righe che iniziano con *** Check this out carefully come indicatori dei dati che hanno causato l’arresto anomalo del target. Se si è riusciti a causare l’arresto anomalo del software 3CDaemon, identificare la richiesta utilizzata per attivare l’arresto anomalo.


Figura 9 – Analisi del logging della sessione di fuzzing, alla ricerca del crash

Una volta completati questi passaggi, ricordarsi di disinstallare il software 3CDaemon in quanto è un software vulnerabile.

Conclusioni finali

Il fuzzer risulta molto semplice all’utilizzo pratico. Non sono stati riscontrati momenti di instabilità ad eccezione del software target che potrebbe subire un hang o un crash.

Inoltre, non richiede un tempo significativo in anticipo per l’analisi del protocollo, in quanto è bastata una lieve interazione di rete con l’applicazione target (FTP Login) per registrare una sessione, su cui poi il fuzzer esegue una sostituzione iterativa dei valori in tutti i dati.

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

Il tool risulta quindi particolarmente consigliato per testare protocolli di rete ed in particolare vulnerabilità del tipo Buffer Overflow.

Redazione
La redazione di Red Hot Cyber è composta da un insieme di persone fisiche e fonti anonime che collaborano attivamente fornendo informazioni in anteprima e news sulla sicurezza informatica e sull'informatica in generale.