Establecer un Retraso Entre Solicitudes de Escaneo en Nikto

Kali LinuxBeginner
Practicar Ahora

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.

Por defecto, Nikto envía solicitudes al servidor de destino tan rápido como puede. Si bien esto es eficiente, puede ser fácilmente detectado por sistemas de seguridad y puede generar una carga pesada en el servidor de destino. La opción -Pause le permite controlar el ritmo del escaneo añadiendo un retraso entre cada prueba.

En este laboratorio, aprenderá a utilizar la opción -Pause en Nikto para realizar escaneos más lentos y menos intrusivos.

Comprender el propósito de la opción -Pause

En este paso, aprenderá sobre la opción -Pause en Nikto. Esta opción se utiliza para especificar un retraso en segundos entre cada solicitud de escaneo. Esta es una característica crucial para realizar escaneos sigilosos o para probar sistemas frágiles que podrían no manejar bien un alto volumen de solicitudes.

Comencemos viendo la información de ayuda de Nikto para ver la descripción de la opción -Pause. Esta es una buena práctica para comprender la funcionalidad de las opciones de cualquier herramienta.

Ejecute el siguiente comando en la terminal:

nikto -Help

Desplácese por la salida y busque la opción -Pause. Verá una descripción que explica su función.

...
-Pause <seconds>      Pausa entre pruebas (segundos, entero o flotante)
...

Esto confirma que -Pause acepta un número (entero o flotante) que representa los segundos de espera entre cada prueba.

Ejecutar un escaneo con -Pause 5 para esperar 5 segundos entre pruebas

En este paso, realizará un escaneo de Nikto utilizando la opción -Pause. Nuestro entorno de laboratorio tiene un servidor web simple ejecutándose en http://localhost:8000 para que lo escanee.

Estableceremos una pausa de 5 segundos entre cada prueba. Esto significa que Nikto esperará 5 segundos después de enviar una solicitud antes de enviar la siguiente.

Ejecute el siguiente comando en su terminal para iniciar el escaneo:

nikto -h http://localhost:8000 -Pause 5

Analicemos el comando:

  • nikto: El comando para ejecutar el escáner Nikto.
  • -h http://localhost:8000: La opción -h (o -host) especifica el host de destino. En este caso, es nuestro servidor de prueba local.
  • -Pause 5: Esto le indica a Nikto que haga una pausa de 5 segundos entre cada prueba que realiza.

Después de ejecutar el comando, comenzará el escaneo. Verá la salida aparecer en la terminal.

Observar el ritmo más lento del escaneo

En este paso, observará la salida del comando que ejecutó en el paso anterior. No necesita ejecutar ningún comando nuevo aquí.

Mire la terminal donde se está ejecutando el escaneo de Nikto. Debería notar que las nuevas líneas de salida, que representan los resultados de pruebas individuales, aparecen mucho más lentamente de lo que lo harían en un escaneo predeterminado. Habrá una brecha notable de 5 segundos entre la aparición de cada nuevo resultado de prueba en la pantalla.

Aquí hay un ejemplo de cómo podría verse la salida, con cada línea apareciendo después de un retraso:

- Nikto v2.5.0
---------------------------------------------------------------------------
+ Target IP:          127.0.0.1
+ Target Hostname:    localhost
+ Target Port:        8000
+ Start Time:         2023-10-27 10:30:00 (GMT0)
---------------------------------------------------------------------------
+ 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.
... (nuevas líneas aparecen cada 5 segundos) ...

Este ritmo deliberado es el resultado directo de usar la opción -Pause 5. Un escaneo completo puede llevar una cantidad significativa de tiempo con esta configuración. Puede detener el escaneo en cualquier momento presionando Ctrl+C en la terminal. Para este laboratorio, puede dejarlo ejecutarse durante un minuto para observar el efecto y luego detenerlo antes de continuar.

Analizar cómo esto puede ayudar a evadir firewalls con limitación de tasa

En este paso, discutiremos una razón principal relacionada con la seguridad para usar la opción -Pause: evadir las defensas de limitación de tasa.

Muchos sistemas de seguridad modernos, como los Firewalls de Aplicaciones Web (WAF) y los Sistemas de Detección de Intrusos (IDS), emplean la limitación de tasa como un mecanismo de defensa. La limitación de tasa funciona rastreando el número de solicitudes de una única dirección IP durante un período de tiempo específico. Si el número de solicitudes excede un umbral predefinido (por ejemplo, 100 solicitudes por minuto), el sistema podría bloquear temporal o permanentemente esa dirección IP.

Un escaneo de Nikto predeterminado es muy agresivo y envía cientos o miles de solicitudes en un tiempo muy corto. Este comportamiento casi con certeza activaría cualquier regla de limitación de tasa, haciendo que el escaneo sea bloqueado y sus resultados sean incompletos e inexactos.

Al usar -Pause 5, cambia la tasa de solicitudes del escaneo a una solicitud cada 5 segundos, lo que se traduce en solo 12 solicitudes por minuto. Esta tasa mucho más baja es mucho más probable que pase desapercibida por las defensas de limitación de tasa simples, permitiendo que su escaneo se complete con éxito sin ser bloqueado. Esto convierte la opción -Pause en una herramienta valiosa para pruebas de penetración más sigilosas.

Usar esta opción para escanear sistemas frágiles o sensibles

En este paso, exploraremos otro caso de uso importante para la opción -Pause: escanear sistemas frágiles o sensibles de manera responsable.

Los escaneos agresivos y de alta velocidad no solo corren el riesgo de ser detectados; también pueden afectar negativamente la estabilidad del sistema objetivo. Un servidor web, especialmente uno antiguo, con poca potencia o mal configurado, podría tener dificultades para manejar una avalancha repentina de solicitudes de un escáner. Esto puede llevar a una degradación severa del rendimiento, haciendo que la aplicación sea lenta o no responda para los usuarios legítimos, o en el peor de los casos, podría causar que el servicio web o el servidor completo colapse.

Cuando se le encarga evaluar un entorno de producción en vivo o un sistema conocido por ser frágil, causar una denegación de servicio es poco profesional y contraproducente.

Usar la opción -Pause es una parte clave para realizar una evaluación de seguridad responsable y profesional. Al ralentizar el escaneo, reduce significativamente la carga en el servidor objetivo, minimizando el riesgo de interrumpir su operación normal. Esto asegura que sus pruebas de seguridad no interfieran con las operaciones comerciales.

Resumen

En este laboratorio, ha aprendido a controlar la velocidad de un escaneo del servidor web Nikto utilizando la opción -Pause.

Practicó la ejecución de un escaneo con un retraso de 5 segundos entre solicitudes y observó cómo esto ralentizaba drásticamente el ritmo del escaneo. También exploró los dos beneficios principales de esta técnica:

  1. Sigilo: Ralentizar las solicitudes ayuda a evadir las reglas simples de limitación de tasa implementadas en firewalls y sistemas de detección de intrusos.
  2. Estabilidad: Reducir la tasa de solicitudes minimiza la carga en el servidor objetivo, lo cual es crucial al escanear sistemas de producción frágiles, con poca potencia o críticos.

Dominar la opción -Pause es un paso importante para convertirse en un profesional de la seguridad más eficaz y responsable.