Controlar la velocidad de escaneo con hilos en Gobuster

Beginner
Practicar Ahora

Introducción

En este laboratorio, explorará cómo gestionar la velocidad de escaneo de Gobuster, una popular herramienta de fuerza bruta de directorios y archivos, manipulando su número de hilos. Comprender cómo ajustar el número de hilos es crucial para un escaneo eficiente y para minimizar el impacto en los servidores de destino. Aprenderá a ejecutar escaneos con recuentos de hilos predeterminados, aumentados y disminuidos, observando las implicaciones prácticas de cada configuración. Esta experiencia práctica proporcionará información sobre la optimización de sus esfuerzos de reconocimiento, al tiempo que se tiene en cuenta la etiqueta de red y la estabilidad del objetivo.

Ejecutar un escaneo con el número de hilos predeterminado (10)

En este paso, iniciará un escaneo de Gobuster utilizando su número de hilos predeterminado, que suele ser 10. Esto le proporcionará una comprensión básica de su rendimiento y el formato de salida. Gobuster intentará descubrir directorios y archivos en un servidor web local que se ha configurado para este laboratorio.

Abra su terminal y ejecute el siguiente comando:

gobuster dir -u http://127.0.0.1:8080 -w /tmp/wordlist.txt
  • gobuster dir: Especifica que desea realizar un escaneo de fuerza bruta de directorios/archivos.
  • -u http://127.0.0.1:8080: Establece la URL de destino para el escaneo. En este laboratorio, estamos apuntando a un servidor HTTP local que se ejecuta en el puerto 8080.
  • -w /tmp/wordlist.txt: Especifica la lista de palabras (wordlist) a utilizar para el proceso de fuerza bruta. Este archivo contiene nombres comunes de directorios y archivos.

Observe la salida. Verá a Gobuster iniciando el escaneo, indicando el número de hilos que se están utilizando (por defecto 10), y luego listando cualquier directorio o archivo descubierto. Preste atención a la rapidez con la que aparecen los resultados.

===============================================================
Gobuster vX.X.X-XXXXXX
===============================================================
[+] Url:            http://127.0.0.1:8080
[+] Threads:        10
[+] Wordlist:       /tmp/wordlist.txt
[+] Status codes:   200,204,301,302,307,401,403
[+] User Agent:     gobuster/X.X.X
[+] Timeout:        10s
===============================================================
XXXX/XX/XX XX:XX:XX Starting gobuster in directory enumeration mode
===============================================================
/admin                (Status: 200)
/login                (Status: 200)
/secret               (Status: 200)
/index                (Status: 200)
===============================================================
XXXX/XX/XX XX:XX:XX Finished
===============================================================

La salida muestra la configuración utilizada para el escaneo, incluida la URL, la lista de palabras y, lo que es importante, el número de hilos. Las rutas descubiertas como /admin, /login, /secret y /index se enumeran con sus respectivos códigos de estado HTTP.

Aumentar el número de hilos a 50 con la bandera -t

En este paso, aumentará el número de hilos utilizados por Gobuster a 50. Esto se hace utilizando la bandera -t, que le permite especificar el número deseado de hilos concurrentes. Un mayor número de hilos generalmente conduce a un escaneo más rápido, ya que se envían más solicitudes simultáneamente.

Ejecute el siguiente comando en su terminal:

gobuster dir -u http://127.0.0.1:8080 -w /tmp/wordlist.txt -t 50
  • -t 50: Esta nueva bandera establece el número de hilos en 50.

Observe la salida nuevamente. Debería notar que el escaneo se completa mucho más rápido que con los 10 hilos predeterminados. La salida inicial confirmará que se están utilizando 50 hilos.

===============================================================
Gobuster vX.X.X-XXXXXX
===============================================================
[+] Url:            http://127.0.0.1:8080
[+] Threads:        50
[+] Wordlist:       /tmp/wordlist.txt
[+] Status codes:   200,204,301,302,307,401,403
[+] User Agent:     gobuster/X.X.X
[+] Timeout:        10s
===============================================================
XXXX/XX/XX XX:XX:XX Starting gobuster in directory enumeration mode
===============================================================
/admin                (Status: 200)
/login                (Status: 200)
/secret               (Status: 200)
/index                (Status: 200)
===============================================================
XXXX/XX/XX XX:XX:XX Finished
===============================================================

Observe la línea [+] Threads: 50 en la salida, que confirma que se está utilizando el número de hilos especificado. El escaneo debería completarse casi instantáneamente debido a la pequeña lista de palabras y al objetivo local.

Observar el aumento de la velocidad de escaneo

En este paso, compararemos explícitamente los tiempos de escaneo para confirmar visualmente el impacto de aumentar el número de hilos. Si bien los pasos anteriores proporcionaron una observación cualitativa, este paso tiene como objetivo reforzar el concepto.

Aunque los escaneos anteriores fueron muy rápidos debido a la pequeña lista de palabras y al servidor local, debería haber notado una diferencia significativa en el tiempo que tardó en aparecer la salida. Cuando aumentó los hilos de 10 a 50, el escaneo se completó casi instantáneamente.

Para ilustrar mejor la diferencia de velocidad, imagine que la lista de palabras contuviera miles o millones de entradas, y el servidor de destino fuera remoto con mayor latencia. En tales escenarios, la diferencia entre 10 y 50 hilos sería drásticamente más aparente, reduciendo potencialmente el tiempo de escaneo de horas a minutos.

La conclusión clave aquí es que más hilos permiten a Gobuster enviar más solicitudes de forma concurrente, lo que puede reducir drásticamente el tiempo total de escaneo, especialmente para listas de palabras grandes y objetivos receptivos.

No se requiere ningún comando específico para este paso, ya que es una observación basada en los dos pasos anteriores.

Disminuir el número de hilos a 5 para un escaneo más lento

Ahora, invertiremos el proceso y disminuiremos el número de hilos a 5. Esto demostrará cómo menos hilos conducen a un escaneo más lento. Si bien un escaneo más lento puede parecer contraproducente, puede ser necesario en ciertas situaciones, como al tratar con objetivos con límites de tasa (rate-limited) o para ser menos intrusivo.

Ejecute el siguiente comando en su terminal:

gobuster dir -u http://127.0.0.1:8080 -w /tmp/wordlist.txt -t 5
  • -t 5: Esto establece el número de hilos en 5, que es la mitad del valor predeterminado.

Observe la salida. Debería notar que el escaneo tarda un poco más en completarse en comparación con los 10 hilos predeterminados, y notablemente más que el escaneo con 50 hilos.

===============================================================
Gobuster vX.X.X-XXXXXX
===============================================================
[+] Url:            http://127.0.0.1:8080
[+] Threads:        5
[+] Wordlist:       /tmp/wordlist.txt
[+] Status codes:   200,204,301,302,307,401,403
[+] User Agent:     gobuster/X.X.X
[+] Timeout:        10s
===============================================================
XXXX/XX/XX XX:XX:XX Starting gobuster in directory enumeration mode
===============================================================
/admin                (Status: 200)
/login                (Status: 200)
/secret               (Status: 200)
/index                (Status: 200)
===============================================================
XXXX/XX/XX XX:XX:XX Finished
===============================================================

La línea [+] Threads: 5 confirma la reducción del número de hilos. Incluso con nuestra pequeña lista de palabras, debería percibir un ligero retraso en comparación con las ejecuciones anteriores. Esto ilustra la relación directa entre el número de hilos y la duración del escaneo.

Comprender el impacto de los hilos en el servidor de destino

En este paso final, discutiremos las implicaciones más amplias de ajustar el número de hilos, particularmente en lo que respecta al servidor de destino. Si bien aumentar los hilos puede acelerar su escaneo, también aumenta la carga en el servidor de destino.

Alto número de hilos (por ejemplo, 50 o más):

  • Ventajas: Finalización más rápida del escaneo.
  • Desventajas:
    • Mayor carga del servidor: Enviar muchas solicitudes simultáneamente puede sobrecargar el servidor de destino, lo que podría provocar una denegación de servicio (DoS) o una degradación del rendimiento.
    • Limitación de tasa/Bloqueo: Muchos servidores web y WAF (Web Application Firewalls) implementan limitación de tasa para prevenir ataques de fuerza bruta. Un alto número de hilos puede activar rápidamente estas defensas, lo que lleva a que su IP sea bloqueada temporal o permanentemente.
    • Congestión de red: Puede consumir un ancho de banda de red significativo, especialmente si el destino es remoto.
    • Sospecha: Las altas tasas de solicitud a menudo indican actividad maliciosa y pueden alertar a los equipos de seguridad.

Bajo número de hilos (por ejemplo, 1-5):

  • Ventajas:
    • Menor carga del servidor: Menos intrusivo y menos propenso a causar problemas de rendimiento en el destino.
    • Evitar la limitación de tasa: Las tasas de solicitud más lentas tienen menos probabilidades de activar los mecanismos de limitación de tasa, lo que permite que el escaneo continúe sin ser detectado durante más tiempo.
    • Sigilo: Parece más tráfico de usuario legítimo, lo que reduce la posibilidad de detección.
  • Desventajas:
    • Escaneo más lento: Tarda significativamente más en completarse, especialmente con listas de palabras grandes.

Elegir el número de hilos correcto:
El número óptimo de hilos depende de varios factores:

  • Capacidad del servidor de destino: ¿Cuánta carga puede manejar el servidor?
  • Latencia de red: Una latencia más alta puede requerir más hilos para mantener una velocidad decente.
  • Políticas de limitación de tasa: ¿Existen límites de tasa conocidos o WAF en su lugar?
  • Su objetivo: ¿Prioriza la velocidad o el sigilo?

Para la piratería ética y las pruebas de penetración, es crucial ser consciente de la estabilidad del objetivo y evitar causar cualquier interrupción. Siempre comience con un número de hilos más bajo y auméntelo gradualmente si el objetivo puede manejarlo y sus objetivos requieren resultados más rápidos.

No se requiere ningún comando específico para este paso, ya que se trata de una comprensión conceptual.

Resumen

En este laboratorio, ha aprendido con éxito cómo controlar la velocidad de escaneo de Gobuster ajustando el número de hilos utilizando la bandera -t. Comenzó ejecutando un escaneo con los 10 hilos predeterminados, luego lo aumentó a 50 para observar una mejora significativa en la velocidad y, finalmente, lo disminuyó a 5 para ver cómo el escaneo se ralentizaba.

Más importante aún, ha adquirido una comprensión del impacto crítico que el número de hilos tiene no solo en la duración del escaneo, sino también en el rendimiento del servidor de destino y sus mecanismos de seguridad. Ahora sabe que si bien más hilos significan escaneos más rápidos, también aumentan la carga del servidor y el riesgo de detección o bloqueo. Por el contrario, menos hilos ofrecen sigilo y reducen el impacto en el servidor a costa de la velocidad. Este conocimiento es vital para realizar un reconocimiento responsable y efectivo.