Introducción
Nikto es un popular escáner de servidores web de código abierto que realiza pruebas exhaustivas contra servidores web para múltiples elementos, incluyendo más de 6700 archivos/programas potencialmente peligrosos, comprobaciones de versiones desactualizadas de más de 1250 servidores y problemas específicos de versión en más de 270 servidores.
Si bien un escaneo predeterminado es exhaustivo, también puede consumir mucho tiempo y generar una gran cantidad de salida. Para evaluaciones más específicas, Nikto proporciona la opción -Tuning. Esta función le permite especificar qué tipos de pruebas ejecutar, haciendo que sus escaneos sean más rápidos y enfocados.
En este laboratorio, aprenderá a usar la opción -Tuning para controlar el comportamiento de escaneo de Nikto. Practicará la ejecución de escaneos con diferentes niveles de ajuste para encontrar vulnerabilidades específicas y comparar los resultados.
Comprender el propósito de la opción -Tuning
En este paso, aprenderá sobre la opción -Tuning y las diferentes categorías de pruebas que puede controlar. La opción -Tuning le ayuda a enfocar el escaneo en áreas específicas de interés, ahorrando tiempo y reduciendo el ruido en la salida.
Nikto categoriza sus pruebas en varios tipos. Puede usar un número o una letra para seleccionar una categoría específica. Veamos las principales opciones de ajuste disponibles. Puede verlas consultando la información de ayuda.
Ejecute el siguiente comando para mostrar el menú de ayuda de Nikto:
nikto -h
Desplácese por la salida y encuentre la sección -Tuning. Se verá similar a esto:
-Tuning
Tuning options control the test that Nikto will use against a target.
By default, Nikto runs the default set of tests. The tuning options
are a bitwise value, so they can be combined (e.g. -Tuning 12).
The options are:
0 - File Upload
1 - Interesting File / Seen in logs
2 - Misconfiguration / Default File
3 - Information Disclosure
4 - Injection (XSS/Script/HTML)
5 - Remote File Retrieval - Inside Web Root
6 - Denial of Service
7 - Remote File Retrieval - Server Wide
8 - Command Execution / Remote Shell
9 - SQL Injection
a - Authentication Bypass
b - Software Identification
c - Remote Source Inclusion
x - Reverse Tuning Options (i.e., include all except specified)
Como puede ver, cada número corresponde a una categoría de prueba específica. Por ejemplo, 1 es para "Interesting File" (Archivo interesante) y 2 es para "Misconfiguration" (Error de configuración). La opción x es especial; invierte la lógica, indicando a Nikto que ejecute todas las pruebas excepto las que usted especifique.
Ejecutar un escaneo con -Tuning 1 para Archivos Interesantes
En este paso, realizará un escaneo enfocado para buscar únicamente "Archivos Interesantes". Este tipo de escaneo busca archivos que pueden no estar enlazados directamente desde la aplicación web, pero que podrían contener información sensible, como archivos de respaldo, archivos de configuración o logs. Nuestro script de configuración creó un archivo config.bak para este propósito.
Usaremos la opción -Tuning 1 para indicarle a Nikto que ejecute solo las pruebas de la categoría "Interesting File / Seen in logs" (Archivo interesante / Visto en logs). El servidor web se está ejecutando en 127.0.0.1 en el puerto 8000.
Ejecute el siguiente comando en su terminal:
nikto -h http://127.0.0.1:8000 -Tuning 1
Una vez que el escaneo se complete, verá una salida similar a la siguiente. Observe que Nikto encontró el archivo config.bak.
- Nikto v2.5.0
---------------------------------------------------------------------------
+ Target IP: 127.0.0.1
+ Target Hostname: 127.0.0.1
+ Target Port: 8000
+ Start Time: ...
---------------------------------------------------------------------------
+ Server: SimpleHTTP/0.6 Python/3.10.6
+ /config.bak: A backup file was found.
+ 1 host(s) tested
Esto demuestra cómo puede encontrar rápidamente archivos potencialmente sensibles sin ejecutar un escaneo completo y que consume mucho tiempo.
Ejecutar un escaneo con -Tuning 2 para Errores de Configuración
En este paso, utilizará la opción -Tuning 2 para escanear errores de configuración comunes del servidor y archivos predeterminados. Una configuración errónea común es permitir la indexación de directorios, que lista el contenido de un directorio si no hay un archivo de índice (como index.html) presente. El servidor Python simple que estamos utilizando tiene este comportamiento.
Ejecutemos un escaneo enfocado únicamente en errores de configuración.
Ejecute este comando:
nikto -h http://127.0.0.1:8000 -Tuning 2
La salida mostrará hallazgos relacionados con errores de configuración. Debería ver un mensaje que indica que la indexación de directorios está habilitada.
- Nikto v2.5.0
---------------------------------------------------------------------------
+ Target IP: 127.0.0.1
+ Target Hostname: 127.0.0.1
+ Target Port: 8000
+ Start Time: ...
---------------------------------------------------------------------------
+ Server: SimpleHTTP/0.6 Python/3.10.6
+ /: Directory indexing is enabled.
+ 1 host(s) tested
Tenga en cuenta que este escaneo no informó sobre el archivo config.bak porque limitamos las pruebas a la categoría "Misconfiguration" (Error de configuración).
Usar -Tuning x para realizar un escaneo de ajuste inverso
En este paso, aprenderá a usar el ajuste inverso. A veces, desea ejecutar un escaneo amplio pero excluir una categoría específica de pruebas que sabe que son irrelevantes o demasiado ruidosas. La opción x en -Tuning le permite hacer esto.
Por ejemplo, digamos que desea ejecutar todas las pruebas excepto las verificaciones de "Archivos Interesantes". Puede lograr esto combinando x con 1.
Ejecute el siguiente comando para realizar un escaneo inverso que excluya las pruebas de "Archivos Interesantes":
nikto -h http://127.0.0.1:8000 -Tuning x1
Observe la salida. Verá varios hallazgos, como la configuración errónea de indexación de directorios, pero el archivo config.bak no será reportado.
- Nikto v2.5.0
---------------------------------------------------------------------------
+ Target IP: 127.0.0.1
+ Target Hostname: 127.0.0.1
+ Target Port: 8000
+ Start Time: ...
---------------------------------------------------------------------------
+ Server: SimpleHTTP/0.6 Python/3.10.6
+ The anti-clickjacking X-Frame-Options header is not present.
+ The X-Content-Type-Options header is not set. This could allow the user agent to render the content of the site in a different fashion to the MIME type.
+ /: Directory indexing is enabled.
...
+ 1 host(s) tested
El ajuste inverso es una forma poderosa de personalizar sus escaneos eliminando verificaciones específicas que no son necesarias para su evaluación actual.
Comparar la salida de diferentes niveles de ajuste
En este último paso práctico, combinará varias opciones de ajuste para crear un escaneo más completo, pero aún así personalizado. La opción -Tuning acepta múltiples valores para ejecutar pruebas de todas las categorías especificadas.
Ejecutemos un escaneo que combine la búsqueda de "Archivos Interesantes" (1) y "Errores de Configuración" (2).
Ejecute el siguiente comando:
nikto -h http://127.0.0.1:8000 -Tuning 12
Ahora, examine la salida. Verá que Nikto informa hallazgos de ambas categorías. Encontrará tanto el archivo config.bak como el problema de indexación de directorios.
- Nikto v2.5.0
---------------------------------------------------------------------------
+ Target IP: 127.0.0.1
+ Target Hostname: 127.0.0.1
+ Target Port: 8000
+ Start Time: ...
---------------------------------------------------------------------------
+ Server: SimpleHTTP/0.6 Python/3.10.6
+ /: Directory indexing is enabled.
+ /config.bak: A backup file was found.
+ 1 host(s) tested
Al comparar los resultados de este escaneo con los anteriores, puede ver claramente cómo la opción -Tuning le permite controlar con precisión el alcance de su evaluación de seguridad. Puede mezclar y combinar opciones para construir el escaneo exacto que necesita.
Resumen
En este laboratorio, ha aprendido a controlar eficazmente el comportamiento de escaneo de Nikto utilizando la opción -Tuning. Esta potente función es esencial para realizar evaluaciones de seguridad web eficientes y enfocadas.
Ha practicado:
- Comprender las diferentes categorías de pruebas disponibles en Nikto.
- Ejecutar un escaneo enfocado en "Archivos Interesantes" usando
-Tuning 1. - Escanear "Errores de Configuración" usando
-Tuning 2. - Realizar un escaneo inverso para excluir pruebas específicas usando
-Tuning x. - Combinar múltiples opciones de ajuste para crear un perfil de escaneo personalizado.
Al dominar la opción -Tuning, puede mejorar significativamente su flujo de trabajo con Nikto, permitiéndole centrarse rápidamente en tipos específicos de vulnerabilidades y reducir el tiempo dedicado a analizar los resultados del escaneo.


