Nikto es un scanner de servidores web open source el cual revisa el servidor objetivo contra una lista de 3500 ficheros peligrosos en más de 250 servidores. Es muy bueno a la hora de probar tu sistema de IDS o tu firewall para las aplicaciones de tu empresa.
Cada fallo que encuentre nikto no quiere decir que realmente sea un problema, pero sí un punto en tu contra si lo que buscas es que tu aplicación y/o tu servidor web esté seguro. El manual lo tenéis haciendo click aquí.
Las opciones más comunes las tenéis aquí:
Options:
-Cgidirs+ Escanea esos directorios de CGI: ‘none’, ‘all’, o valores como ‘/cgi/’
-cookies Devuelve las cookies encontradas
-evasion+ Técnica de evasión de IDS (1-9, más abajo)
-findonly Encuentra los puertos de http(s). No hace nada más.
-Format Salva el fichero (-o) formato: htm, csv o txt (defecto).
-generic Hace un escaneo genérico completo.
-host+ Host objetivo.
-id+ Autenticación para usar, el formato es usuario:password
-mutate+ Mutar las pruebas (más abajo)
-nolookup No resuelve el host destino.
-output+ Escribe la salida en el fichero que se le especifique.
-port+ Puerto. (defecto 80).
-root+ Especificar desde qué directorio empezar, el formato es: /directorio
-ssl Forzar el uso de SSL en el puerto destino.
-timeout Tiempo máximo de espera (por defecto 10 segundos).
-useproxy Usar el proxy especificado en config.txt
-Version Saca por pantalla la versión de los plugins y de la base de datos (del nikto).
-vhost+ Host virtual (para la cabecera del host).
-404+ Tratar las páginas con este contenido como 404 (not found) + requiere un valor.
Estas opciones no pueden ser abreviadas:
-config+ usar este fichero de configuración
-debug modo debug (más información en la salida del comando).
-dbcheck revisa la sintaxis de scan_database.db y user_scan_database.db
-update actualiza la base de datos y los plugins de cirt.net
-verbose modo verbose (más información).
Técnicas de evasión de IDS: (estas no las traduzco, porque creo que es mejor dejarlas así).
1 Random URI encoding (non-UTF8)
2 Directory self-reference (/./)
3 Premature URL ending
4 Prepend long random string
5 Fake parameter
6 TAB as request spacer
7 Random case sensitivity
8 Use Windows directory separator (\)
9 Session splicing
Mutation Techniques:
1 Prueba todos los ficheros con todos los directorios raíz.
2 Ficheros y directorios con password.
3 Hace una lista probando nombres de usuario vía Apache con peticiones tipo /~ususario
4 Hace una lista de los usuarios vía cgiwrap (/cgi-bin/cgiwrap/~usuario)
Como siempre, más información en la página web y en su manual. Muy recomendable.