Creazione di un fuzzer con Metasploit

Creazione di un fuzzer con Metasploit
D'ora in poi, sposteremo la nostra attenzione dai due moduli comunemente usati - payload e exploit - e guardare altri moduli che sono spesso utilizzati nei test di penna; vale a dire, il Inviare, NOP, encoder e ausiliari moduli.

Le mod ausiliarie sono generalmente utilizzate per eseguire azioni una tantum post-sfruttamento, ma puoi fare molto di più con questo strumento affascinante, come la creazione di scanner e scanner di vulnerabilità. Questo articolo darà uno sguardo dettagliato al modulo ausiliario in particolare e imparerà come creare un fuzzer con esso.

Passaggio 1: vai alla directory Metasploit


Innanzitutto, lancia Kali Linux e vai alla directory del framework Metasploit. Digita quanto segue nell'interfaccia Kali:

$ cd/usr/share/metasploit-framework

Per dare un'occhiata migliore ai contenuti qui, modifica la vista della directory inserendo quanto segue:

$ ls -l

Scorri sul modulo sottodirectory e ancora, digita:

moduli CD $
$ ls -l

Questo output mostra i diversi tipi di moduli in Metasploit, tra cui:

  • Exploit
  • Carichi utili
  • Cenno
  • Inviare
  • Encoder
  • Ausiliario

Ora esamineremo il modulo ausiliario in modo più dettagliato.

Passaggio 2: espandere la directory ausiliaria

Immettere la directory ausiliaria

moduli $ cd/ausiliari
$ ls -l

Ciò compartimenterà la directory del modulo ausiliario in diverse sottodirectory. L'output visualizzerà un elenco completo di sottodirectory, a partire dalla directory di amministrazione.

Creazione di fuzzer

Prima di procedere, definiremo prima cosa fuzzing È.

Fuzzing: una breve introduzione

Fuzzing è una pratica nella disciplina del test del software che prevede di inserire continuamente input casuali e inaspettati in un programma per computer per determinare tutti i possibili arresti anomali che un sistema potrebbe affrontare. Mettere troppi dati o input casuali in un'area variabile provoca un overflow del buffer, una vulnerabilità critica, che è ciò che fuzzing guarda come tecnica di ispezione.

Il cuscinetto non solo è una grave vulnerabilità, ma spesso è anche il metodo di riferimento per gli hacker quando stanno cercando di entrare in un sistema.

Il processo di fuzzing

Vai alla directory Fuzzer e dai una buona occhiata con l'elenco:

Fuzzer $ CD
$ ls -l

I tipi di fuzzer in mostra includeranno quanto segue: DNS, FTP, HTTP, SMB, SMTP, SSH e TDS.

Il fuzzer di particolare interesse per noi qui è FTP.

Successivamente, apri la directory Fuzzer:

$ cd ftp
$ ls -l

Tra i due tipi visualizzati qui, useremo il "Fuzzer TP_PRE_POST", anziché "client_ft.Rb."

Apri MSFConsole, individua il Fuzzer "TP_PRE_POST" e eseguilo. Nel prompt MSF, digitare quanto segue:

$ msfconsole
$ msf> Tipo di ricerca: futuri ausiliari

Msfconsole elencherà solo quei moduli ausiliari e trascurano altri tipi. Si noti che tutte le mod presentate hanno la parola chiave FTP, che richiede il processo per risolvere i moduli come indicato dal comando.

I risultati della ricerca mostrano diversi moduli; Useremo solo il modulo "Ausiliario/Fuzzer/FTP/FTP_PRE_POST". Puoi esaminare i dettagli relativi alle funzioni che questa mod ha digitando msf> info.

Ora caricano questo modulo digitando:

$ msf> Usa ausiliario/fuzzer/ftp/ftp_pre_post

Come puoi vedere, il modulo può prendere diversi input. Useremo un indirizzo IP specifico. In questo esempio, stiamo utilizzando un sistema con il sistema operativo Windows 2003 come target designato per testare il nostro fuzzer.

Imposta l'indirizzo IP ed esegui il modulo:

$ msf> imposta rhosts (immettere ip qui)
$ msf> run

Il fuzzer inizierà con la luce 10 byte e inizierà lentamente a sopraffare il sistema con input più considerevoli, upsizzante di 10 byte con ogni iterazione. La dimensione massima è di 20000 byte per impostazione predefinita, che può essere modificata in base al tipo di sistema.

Questo è un processo molto contorto e lungo, quindi sii paziente. Il fuzzer si fermerà al limite di dimensione specificato o quando rileva alcuni messaggi di errore.

Conclusione

Questo articolo ha descritto quali sono i fuzzer: moduli ausiliari che ci consentono di controllare un sistema per le vulnerabilità, incluso il overflow del buffer, che è il più significativo in quanto spesso è sovrascritto dal suo sfruttamento. L'articolo ha anche descritto come eseguire fuzzing su un sistema con il fuzzer TP_PRE_POST. Nonostante siano componenti relativamente più semplici del framework Metasploit, i fuzzer possono essere estremamente preziosi quando si tratta di test di penna.

Ovviamente, questa non è l'unica cosa di cui sono capaci i moduli ausiliari; Ci sono centinaia di moduli diversi che servono a una varietà di scopi diversi per testare il sistema.