En este artículo encontrarás una guía completa de la herramienta Nikto, con ejemplos prácticos.
se trata de una herramienta de hacking ético para aplicaciones web.
Para hacer un informe de vulnerabilidades en profundidad de una aplicación web debemos usar otras herramientas como OWASP ZAP o BURPSUITE, pero con Nikto vamos a obtener resultados preliminares muy buenos y con muy poco esfuerzo.
Vamos a ver como.
Índice
¿Qué es Nikto?
Nikto es una herramienta de escaneo de vulnerabilidades web de código abierto que se utiliza para identificar vulnerabilidades de seguridad en sitios web.
Características de Nikto
Nikto es una herramienta de escaneo de vulnerabilidades de código abierto que se utiliza para encontrar vulnerabilidades comunes en aplicaciones web. Aquí están algunas de las características clave de Nikto:
- Escaneo de vulnerabilidades: Nikto es capaz de escanear una amplia gama de vulnerabilidades comunes en aplicaciones web, incluyendo inyecciones SQL, archivos no asegurados, puertas traseras, vulnerabilidades de servidor y muchos otros.
- Interfaz de línea de comandos: Nikto se ejecuta en la línea de comandos y es compatible con varias plataformas, lo que permite una fácil integración con scripts y procesos automatizados.
- Configuraciones personalizadas: Nikto puede ser configurado para adaptarse a las necesidades específicas de un usuario, lo que incluye la posibilidad de agregar plugins personalizados, establecer el nivel de riesgo, configurar las reglas de exclusión y muchas otras opciones avanzadas.
- Informes detallados: La herramienta es capaz de generar informes detallados que incluyen información sobre las vulnerabilidades encontradas, los sistemas escaneados y los detalles de configuración.
- Amplia compatibilidad: Nikto es compatible con una amplia gama de servidores web y plataformas, incluyendo Apache, IIS, Unix y Windows, lo que lo hace útil en una variedad de entornos.
- Actualizaciones regulares: La herramienta es actualizada regularmente con nuevas vulnerabilidades y características, lo que asegura que la herramienta siempre esté actualizada y pueda encontrar las últimas vulnerabilidades.
¿Cómo instalar Nikto?
Estos son los comandos a ejecutar en tu máquina Linux:
git clone https://github.com/sullo/nikto cd nikto/program git checkout nikto-2.5.0 cd nikto/program ./nikto.pl -h http://www.example.com
Aquí tienes una captura de pantalla del proceso:
¿Como actualizar Nikto?
nikto -update ya no funciona, para actualizar Nikto situate en la carpeta que tiene la aplicación y ejecuta:
git pull
¿Cómo usar Nikto?
Escaneo inicial con Nikto
Para poder hacer un test de intrusión, hay que estar autorizado, o que los servidores sean propios.
Hacer un test de intrusión de un servidor al que no estamos autorizado o que no sea nuestro puede ser delito.
La escusa de que estamos haciendo una prueba de intrusión no es válida, ya que es la misma escusa que usan los cibercriminales al ser atrapados.
sintaxis:
nikto -h sitioautorizado.com
Aquí tienes un ejemplo de ejecución contra un sitio web 192.168.1.1
Escaneo con de una aplicación web en un puerto no estandar
Las aplicaciones web corren en el puerto tcp 80 para http y en el tcp 443 para https, pero algunas aplicaciones web están levantadas en puertos no estandar, como por ejemplo tcp 8080, 8081, etc.
Para decir a nikto que analice estos puertos se usa el parámetro -port.
Escaneo de una aplicación web con nikto que requiere autenticación
./nikto.pl -h natas2.natas.labs.overthewire.org -id natas2:<contraseña aquí>
Almacenar el resultado en un fichero
Es útil almacenar el escaneo realizado por nikto en un fichero, para poder analizarlo detenidamente, o poder compararlo con otras ejecuciones posteriores, para ello se usa el parámetro -output ficherosalida.txt
Ejemplo:
Ejemplo completo de uso de Nikto
Para mostrar este ejemplo vamos a usar una aplicación web de laboratorio de ciberseguridad en concreto esta de OverTheWire:
https://overthewire.org/wargames/natas/natas2.html
Resolvemos los niveles 0 y 1 que son muy fáciles y nos proporcionan una contraseña para conectarnos al nivel 2.
Ponemos las credenciales y tenemos esta aplicación web:
Pulsamos Ctrl-U para ver en el código fuente de la página y como indica el mensaje, vemos las credenciales del nivel 2 pero tenemos que conseguir las del nivel 3 usuario natas3
Ahora es cuando usamos nikto contra esta aplicación.
Entramos en el directorio /files
y vemos que tiene dos ficheros, el fichero users.txt tiene las credenciales.
Conclusión
Nikto es una herramienta ideal para un análisis rápido de una aplicación web, nos va a informar ficheros, directorios interesantes a la hora de hacer un test de intrusión y posibles problemas de seguridad de la aplicación web.
Es interesante para un primer análisis inicial rápido, luego para profundizar en el estudio de la seguridad de la aplicación podemos usar otras heramientas más precisas pero que requieren más esfuerzo como OWASP ZAP.