Trovare vulnerabilità di un sito con Nikto

Tempo di lettura: 6 minuti
Data pubblicazione: April 4, 2016
https://cirt.net/nikto2)
https://cirt.net/nikto2)

Nikto è uno scanner Open-Source di web server, utile quando dobbiamo fare dei test preliminari e generici sul nostro obbiettivo. Durante la scansione ci permette di:

  • Trovare configurazioni errate del server e del software installati sul sito;
  • Trovare file (come testi, password, etc.) presenti sull’obbiettivo ma non protetti;
  • Trovare versioni del server/software vulnerabili e non aggiornati.

Ho utilizzato Nikto su Mutillidae, ricordo che non è propriamente lecito utilizzarlo su piattaforme web senza autorizzazione. Il software non è stato creato per una scansione “silenziosa” ma effettua più richieste possibili nel minor tempo possibile, quindi sarà facile essere individuati (nel mio caso, scansionando da un computer ad un altro ho avuto, sul computer target, un incremento di banda in upload di circa 200-250 kb/s).  Per essere anonimi con questo software è molto semplice: basta andare in

/etc/nikto/config.txt

e impostare come PROXYHOST=127.0.0.1 e PROXYPORT=9050. Dopo averlo fatto, digitate sul terminale:

service tor start

e quando userete i comandi di nikto, basterà mettere l’opzione:

-useproxy

In questo modo tutte le richieste passeranno attraverso Tor.

Comandi principali

Digitando

nikto -h

l’output sarà:

help
help

dove le opzioni principali sono:

  • -Format: il formato del file che vogliamo salvare come output;
  • -host: l’obiettivo della nostra scansione;
  • -list-plugins: la lista dei plugin disponibili in Nikto (di default li carica tutti);
  • -output: il nome del file che vogliamo usare come output;
  • -port: le porte che vogliamo scansionare, di default è la 80;
  • -Tuning: il tipo di test che vogliamo effettuare (che può essere Dos, Injection, File Uploads, etc.) Di default sono tutti, la lista completa si trova qui.

Se invece digitate -H (al posto di -h) verrà visualizzato l’aiuto completo, con ogni spiegazione alle varie opzioni (consiglio a chi vuole, di leggere questa pagina, dove sono presenti tutte le opzioni con le dovute spiegazioni e/o esempi).

Scansione

Il comando che ho utilizzato è

nikto -h 192.168.1.101 -Display 4,D,V -mutate 2,3,5 -o nikto.html -port 80,443

dove:

  • -h 192.168.1.101 è l’indirizzo del dispositivo su cui è installato mutillidae, se lo fate sulla stessa macchina sarà 127.0.0.1;
  • -Display: vengono visualizzate informazioni aggiuntive, nel mio caso
  • 4: vengono visualizzati gli URL che necessitano di autenticazione;
  • D: output in modalità debug, ossia con informazioni aggiuntive;
  • V: output maggiore;
  • -mutate: aggiunge tecniche di mutazione, ossia combina diversi test e aumenta le richieste al web server. Nel mio caso ho aggiunto (2) la ricerca di file contenenti password, (3) cerca i nomi degli utenti tramite apache, (5) effettua il bruteforce alla ricerca di sotto-domini;
  • -o nikto.html: il nome del file di output con estensione html;
  • -port: le porte da scansionare.

Dopo una decina di minuti, la scansione ha terminato e il file di output è stato creato. Potete guardare il risultato anche da terminale, avrà molte più informazioni, specialmente con l’opzione Debug. Invece il file html è un sunto delle informazioni più rilevanti e, andandolo ad aprire con il browser ci troviamo di fronte a moltissime voci (in questo caso, visto che Mutillidae è vulnerabile per definizione stessa). Ecco quali (tra le tante) possono essere utili:

  1. Versione del Web Server ed software installati![webserver](https://hacktips.it/wp-content/uploads/2016/04/webserver.png)

  2. Il sito sembra esser vulnerabile alla vulnerabilità "shellshock", e cercando sull'[NVD](https://web.nvd.nist.gov) trovo subito [informazioni](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2014-6271) aggiuntive ![3shell](https://hacktips.it/wp-content/uploads/2016/04/3shell.png)

  3. Nikto ha trovato il file delle password, ed aprendo il link, scopro le password utilizzate![4psw](https://hacktips.it/wp-content/uploads/2016/04/4psw.png)

  4. Pagina della versione di PHP e una probabile vulnerabilità![5phpinfo](https://hacktips.it/wp-content/uploads/2016/04/5phpinfo.png)

Conclusioni

Nikto è un ottimo software per iniziare una fase di scanning di un obbiettivo, fornisce un’analisi dettagliata delle vulnerabilità presenti e il nome di esse, in modo da poter cercare tramite motore di ricerca come effettuare un’exploit di una specifica falla. Ovviamente da solo non serve a molto, ma se dopo un’analisi con esso si cerca su metasploit (o simile) una vulnerabilità, le probabilità di riuscire a penetrare un sistema aumentano considerevolmente.