Skip to content

Aprende cómo utilizar Nikto para identificar posibles fallos en tu web

5/5 - (1 voto)
nikto

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.

¿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:

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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:
Instalación Nikto

¿Como actualizar Nikto?

nikto -update ya no funciona, para actualizar Nikto situate en la carpeta que tiene la aplicación y ejecuta:

git pull

nikto actualizar

¿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

nikto example

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.

nikto -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í>
nikto que es
que es nikto

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:

nikto -output

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

nikto como usar

Resolvemos los niveles 0 y 1 que son muy fáciles y nos proporcionan una contraseña para conectarnos al nivel 2.

nikto como usar

Ponemos las credenciales y tenemos esta aplicación web:

nikto ejemplo

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

nikto como usar

Ahora es cuando usamos nikto contra esta aplicación.

como se usa nikto

Entramos en el directorio /files

como se usa nikto

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.