tags: nikto scansione_web_server nikto_nmap Scanning
Quando usare Nikto?
Nikto è particolarmente utile dopo aver identificato un server web con Nmap (ad esempio, una porta 80 o 443 aperta). In altre parole, Nmap ti dice cosa c’è (un server web), mentre Nikto cerca di capire quanto è vulnerabile quel server web.
Come si integra Nikto con Nmap?
Puoi usare Nmap per identificare le porte aperte e i servizi in esecuzione, e poi usare Nikto per analizzare i server web trovati. Ecco un flusso di lavoro tipico:
-
Scansione con Nmap: Esegui una scansione con Nmap per identificare le porte aperte e i servizi in esecuzione. Ad esempio:
nmap -sC -sV <indirizzo_ip_target> -
Identificazione di server web: Analizza l’output di Nmap per trovare porte che indicano la presenza di un server web (ad esempio, 80/http, 443/https, 8080/http-proxy).
-
Scansione con Nikto: Usa Nikto per scansionare il server web identificato. Ad esempio:
nikto -h <indirizzo_ip_target>Se il server web utilizza HTTPS (porta 443), devi specificarlo:
nikto -h https://<indirizzo_ip_target>Oppure, se il server web è su una porta non standard (ad esempio, 8080):
nikto -h <indirizzo_ip_target> -p 8080 #Si possono anche impostare più porte contemporaneamente: nikto -h 10.10.10.1 -p 80,8000,8080
Esempio pratico:
Supponiamo che la scansione Nmap mostri:
80/tcp open http
443/tcp open https
Useresti Nikto così:
Bash
nikto -h <indirizzo_ip_target>
nikto -h https://<indirizzo_ip_target>
Nikto e Nmap insieme: un approccio più avanzato
È possibile integrare Nikto con Nmap usando gli script NSE (Nmap Scripting Engine). Esiste uno script di Nmap chiamato http-nikto che automatizza l’esecuzione di Nikto su un target identificato come server web. Per usarlo:
Bash
nmap --script http-nikto <indirizzo_ip_target>
Questo comando esegue una scansione Nmap e, se rileva un server web, esegue automaticamente Nikto su di esso.
Limitazioni di Nikto:
- Falsi positivi: Nikto può a volte segnalare falsi positivi, quindi è importante verificare manualmente i risultati.
- Non rileva tutte le vulnerabilità: Nikto si basa su un database di vulnerabilità note, quindi potrebbe non rilevare vulnerabilità zero-day o configurazioni errate molto specifiche.
- Può essere rumoroso: Le scansioni di Nikto possono generare un traffico significativo e quindi essere facilmente rilevate dai sistemi di intrusion detection (IDS).
Plug-in
Puoi vedere tutti i plug-in di Nikto con il seguente comando:
nikto --list-pluginsCe ne sono di molto interessanti come quello che verifica la vulnerabilità ms-010-17, la scadenza del certificato ssl, test specifici per Drupal, ecc.
Per usare un determinato plug-in possiamo aggiungere la flag -Plugin con a fianco il nome del plug-in che vogliamo utilizzare come per esempio:
nikto -h 10.10.10.1 -Plugin apacheuserQuesto plug-in cerca utenti direttamente sul web server Apache.
Tuning
Se vogliamo approfondire la scansione in modo più dettagliato possiamo utilizzare l’opzione Tuning che ci permette di fare attacchi specifici, i più utlizzati sono:
| Category Name | Description | Tuning Option |
| File Upload | Search for anything on the web server that may permit us to upload a file. This could be used to upload a reverse shell for an application to execute. | 0 |
| Misconfigurations / Default Files | Search for common files that are sensitive (and shouldn’t be accessible such as configuration files) on the web server. | 2 |
| Information Disclosure | Gather information about the web server or application (i.e. verison numbers, HTTP headers, or any information that may be useful to leverage in our attack later) | 3 |
| Injection | Search for possible locations in which we can perform some kind of injection attack such as XSS or HTML | 4 |
| Command Execution | Search for anything that permits us to execute OS commands (such as to spawn a shell) | 8 |
| SQL Injection | Look for applications that have URL parameters that are vulnerable to SQL Injection | 9 |
Contenuti da mostrare
Quando effettuiamo una scansione con nikto non tutti i dati ci vengono forniti per chiarezza, ma possiamo ottenerli comunque tramite la flag -Display:
| Argument | Description | Reasons for Use |
| 1 | Show any redirects that are given by the web server. | Web servers may want to relocate us to a specific file or directory, so we will need to adjust our scan accordingly for this. |
| 2 | Show any cookies received | Applications often use cookies as a means of storing data. For example, web servers use sessions, where e-commerce sites may store products in your basket as these cookies. Credentials can also be stored in cookies. |
| E | Output any errors | This will be useful for debugging if your scan is not returning the results that you expect! |
Salvare
Possiamo salvare il contenuto della scansione tramite la flag -o che ci permette di avere i risultati in formato html:
nikto -h http://ip_address -o report.html