Uno de los pasos principales para atacar una aplicación de Internet es enumerar directorios y archivos ocultos. Hacerlo a menudo puede generar información valiosa que facilita la ejecución de un ataque en particular, dejando menos espacio para errores y pérdida de tiempo. Hay muchas herramientas disponibles para tratar de hacer esto, pero no todas son iguales. Gobuster, un escáner de registros escrito en Go Language, vale la pena buscarlo. En directorios populares, los escáneres de fuerza bruta como DirBuster y DIRB funcionan de manera elegante, pero a menudo pueden ser lentos y sensibles a los errores. Gobuster puede ser una implementación Go de esas herramientas y se puede obtener en un conveniente formato de línea de comandos. El beneficio principal que Gobuster tiene sobre otros escáneres de directorios es la velocidad. Como lenguaje de programación, se entiende que Go es rápido. También tiene una excelente ayuda para la concurrencia, por lo que Gobuster puede beneficiarse de múltiples subprocesos para un procesamiento más rápido. Sin embargo, la única derrota de Gobuster es la falta de exploración recursiva de directorios. Para los directorios, de un nivel bastante profundo, se necesitará otro escaneo, desafortunadamente. A menudo, esto no es gran cosa, y otros escáneres pueden intensificar y llenar los vacíos de Gobuster en esta área.
Pasos de instalación de la herramienta Gobuster en el sistema operativo Linux
Paso 1:
Cree un directorio de trabajo para mantener las cosas ordenadas, luego cámbielo.
~# mkdir gobuster ~# cd gobuster/
Paso 2:
Necesitamos instalar Gobuster Tool ya que no está incluido en Kali Linux de forma predeterminada.
~/gobuster# apt-get install gobuster
Paso 3:
Luego, simplemente escriba gobuster en la terminal para ejecutar la herramienta para su uso.
~/gobuster# gobuster -h
Paso 4:
Instalación de Seclists adicionales para directorios y archivos de fuerza bruta
~/gobuster# apt-get install seclists
De forma predeterminada, las listas de palabras en Kali se encuentran en el directorio /usr/share/wordlists.
¿Cómo usar la herramienta Gobuster para escanear?
Las herramientas de Gobuster se pueden iniciar desde la terminal o la interfaz de línea de comandos. Solo tiene que ejecutar el comando usando la sintaxis a continuación.
gobuster [Mode][Options]
Comprender Gobuster [Modo]
Después de ingresar el comando «gobuster» en una terminal, es obligatorio proporcionar el modo o especificar el propósito de la herramienta para la que se está ejecutando.
La herramienta Gobuster tiene muchos modos:
- dir: el modo clásico de fuerza bruta de directorios o Enumeración de URI para directorios y archivos.
El modo Dir en Gobuster se usa principalmente para encontrar contenido adicional en un dominio de destino específico o su subdominio. Esta información adicional puede incluir directorios ocultos o archivos ocultos que pueden contener datos confidenciales. En el modo Dir, podemos usar la opción «-u» para especificar el dominio o subdominio de destino que desea buscar en los directorios y archivos ocultos. Además, la opción «-w» seleccionará la lista de palabras que desea utilizar para la fuerza bruta.
- dns: modo de fuerza bruta del subdominio DNS o enumeración de subdominios
El modo DNS en Gobuster Tool se utiliza principalmente para enumerar subdominios en el dominio de destino. Puede usar este modo para encontrar algunos subdominios ocultos o no identificables para un dominio de destino determinado. En este modo, puede usar la opción «-d» para especificar el dominio de destino que desea encontrar como subdominio y la opción «-w» le permite seleccionar la lista de palabras que desea usar para fuerza bruta.
- vhost: modo de fuerza bruta de host virtual o enumeración de hosts virtuales (¡no es lo mismo que DNS!)
Finalmente, el modo Vhost en Gobuster se usa para encontrar los hosts virtuales en el servidor de la víctima. El alojamiento virtual se realiza cuando las empresas alojan varios nombres de dominio en un solo servidor o clúster del servidor. El alojamiento virtual permite que un servidor comparta sus datos y recursos con varios otros nombres de host. La identificación de nombres de host en un servidor puede revelar contenido web adicional que pertenece a una empresa. En el modo host, verifica si los subdominios existen visitando la URL formada y verificando la dirección IP.
En su mayoría, utilizará la herramienta Gobuster para buscar directorios y archivos. En este caso, el modo dir le resultará útil.
gobuster dir [options]
Comprender Gobuster [Opciones]
Después de ingresar al modo específico según el requisito, debe especificar las opciones. La herramienta Gobuster tiene una larga lista de opciones; para explorarlos, simplemente puede leer la página de ayuda escribiendo «gobuster -h». Puede usar «gobuster dns -h» para explorar las opciones que están específicamente relacionadas con el modo dns).
Algunos ejemplos de opciones son:
- -o, –string de salida Archivo de salida para escribir los resultados (predeterminado en stdout)
- -q, –quiet No imprima el banner y otros ruidos
- -t, –threads int Número de subprocesos simultáneos (predeterminado 10)
- -v, –verbose Salida detallada (errores)
Especificación de destino
Entonces, mientras usamos la herramienta, debemos especificar el «-u» seguido de una URL de destino, una dirección IP o un nombre de host. Esta opción es obligatoria, ya que hay un objetivo especificado para obtener resultados.
Algunos de los ejemplos muestran cómo utilizar esta opción.
- gobuster dir -u https://www.geeksforgeeks.org/
- gobuster dir -u https://www.webscantest.com
- directorio de gobuster -u 192.168.21.154
Tenga en cuenta que estos ejemplos no funcionarán si no se especifica la opción obligatoria «-u».
Especificación de lista de palabras
Gobuster Tool enumera directorios y archivos ocultos en el dominio de destino realizando un ataque de fuerza bruta. Un ataque de fuerza bruta consiste en hacer coincidir una lista de palabras o una combinación de palabras con la esperanza de que el término correcto esté presente en la lista. Entonces, Gobuster realiza un ataque brutal. Para forzar un ataque, necesitamos especificar una colección de palabras, es decir, una lista de palabras. Entonces, para proporcionar esta lista de palabras, debe escribir la opción «-w», seguida de la ruta de la lista de palabras donde se encuentra. Podemos usar un archivo de lista de palabras que ya está presente en el sistema.
gobuster dir -u https://www.geeksforgeeks.org/ -w /usr/share/wordlists/big.txt
Enumeración de archivos
Gobuster Tool puede enumerar archivos ocultos junto con los directorios remotos. Gobuster nos permite usar la opción «-x» seguida de las extensiones de archivo que desea buscar.
Considere el siguiente ejemplo:
gobuster dir -u https://www.geeksforgeeks.com w /usr/share/wordlists/big.txt -x php,html,htm
En este comando, estamos buscando específicamente archivos que tengan extensiones php, htm o html.
Uso de la herramienta Gobuster con un ejemplo
1. Obtención de la ruta completa para un directorio o archivo
La opción «-e» se usa para completar la URL de impresión al extraer cualquier archivo oculto o directorios ocultos.
gobuster dir -e -u geeksforgeeks.org -w /usr/share/wordlists/dirb/common.txt –comodín
2. Ocultar código de estado
El uso del modo «sin estado» de la opción -n imprime la salida de los resultados sin presentar el código de estado.
gobuster dir -u geeksforgeeks.org -w /usr/share/wordlists/dirb/common.txt -n –wildcard
3. Deshabilitar pancarta
La herramienta Gobuster agrega constantemente el banner para definir la breve introducción de las opciones aplicadas al lanzar un ataque de fuerza bruta. Al usar la opción -q, podemos deshabilitar la bandera para ocultar datos adicionales.
gobuster dir -u geeksforgeeks.org -w /usr/share/wordlists/dirb/common.txt -q –wildcard
4. Establecer número de subprocesos
El uso de la opción -t permite que se implemente la cantidad de parámetros de subprocesos mientras se fuerzan brutamente los nombres o directorios de los subdominios.
gobuster dns -d geeksforgeeks.org -t 100 -w /usr/share/wordlists/dirb/common.txt –comodín
5. Obtener direcciones IP de subdominio
El uso de la opción -i permite el parámetro IP, que debería mostrar las IP de los subdominios seleccionados.
gobuster dns -d geeksforgeeks.org -t 100 -w /usr/share/wordlists/dirb/common.txt -i –wildcard
El modo DNS está cubierto en este comando
6. Tiempo de espera
El uso de la opción –timeout permite el parámetro de tiempo de espera para las requests HTTP, y 5 segundos es el límite de tiempo predeterminado para la solicitud HTTP.
gobuster dir –timeout 5s -u geeksforgeeks.org -t 100 -w /usr/share/wordlists/dirb/common.txt –wildcard
7. Adición de barra inclinada
Estoy usando la opción -f aquí para agregar la barra diagonal mientras realizo un ataque de fuerza bruta en la URL de destino.
gobuster dir -u geeksforgeeks.org -w /usr/share/wordlists/dirb/common.txt -f –wildcard
8. Enumeración de directorios con lista de extensiones específicas
Hay muchos escenarios en los que necesitamos extraer los directorios de una extensión específica sobre el servidor de la víctima, y luego podemos usar el parámetro -X de este escaneo. Este parámetro permite el nombre de la extensión del archivo y luego explora los archivos de extensión dados en el servidor o computadora de la víctima.
gobuster dir -u geeksforgeeks.org -w /usr/share/wordlists/dirb/common.txt -x .php –comodín
9. Seguir redirección
El uso de las opciones -r permite redirigir los parámetros, redirigir las requests HTTP a otro y cambiar el código de estado de un directorio o archivo.
gobuster dir -u geeksforgeeks.org -w /usr/share/wordlists/dirb/common.txt -q –wildcard
gobuster dir -u geeksforgeeks.org -r -w /usr/share/wordlists/dirb/common.txt -q –wildcard
10. AUTORIZACIÓN HTTP (-u usuario: contraseña)
Los mecanismos de autenticación/autenticación HTTP se basan todos en el uso del código de estado 401 y el encabezado de respuesta WWW-Authenticate. Los mecanismos de autenticación HTTP más utilizados son los primarios. El cliente envía el nombre de usuario y la contraseña de datos codificados en base64 sin cifrar.
Entonces, para evitar este tipo de autenticación con la ayuda de Gobuster, hemos usado el siguiente comando:
gobuster dir -u http://testphp.vulnweb.com/login.php -w /usr/share/wordlists/dirb/common.txt -U prueba -P prueba –comodín
11. Procesamiento de fuerza Fuerza bruta
Termina obteniendo el nombre del subdominio si cumple con algún DNS comodín, que es un dominio inexistente. Por lo tanto, utiliza la opción –wildcard para permitir que los parámetros continúen el ataque incluso si hay algún dominio comodín.
gobuster dir -u geeksforgeeks.org -w /usr/share/wordlists/dirb/common.txt –comodín
12. Ocultar proceso de extracción
El uso de la opción -z cubre el proceso de obtención de nombres de subdominios mientras se realizan ataques de fuerza bruta.
gobuster dns -d geeksforgeeks.org -t 100 -w /usr/share/wordlists/dirb/common.txt -z –comodín
13. Extracción de registros CNAME
El uso de la opción –cn habilita el parámetro Registros CNAME de los subdominios obtenidos y sus registros CNAME.
gobuster dns -d geeksforgeeks.org -t 100 -w /usr/share/wordlists/dirb/common.txt -c –wildcard
14. URL del proxy
El uso de la opción –p permite usar la URL del proxy para todas las requests; por defecto, funciona en el puerto 1080. Como puede ver, al examinar la IP de la red de la víctima en el navegador web, muestra un «Error de acceso prohibido», lo que significa que esta página web está funcionando al revés por algún proxy.
gobuster dir -p ‘https://18.172.30:3128’ -u ‘http://18.192.172.30/’ -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt –comodín
Ejemplo :
Ahora que todo está configurado e instalado, estamos listos para usar Gobuster. Vamos a ejecutarlo contra nuestra víctima con los parámetros predeterminados.
Target for Scanning : https://testphp.vulnweb.com
kali@kali:~$gobuster dir -u testphp.vulnweb.com -w /usr/share/wordlists/dirb/common.txt
De la captura de pantalla anterior, estamos enumerando directorios en https://testphp.vulnweb.com.
La lista de palabras utilizada para el escaneo se encuentra en /usr/share/wordlists/dirb/common.txt
De la captura de pantalla anterior, hemos identificado el panel de administración mientras forzábamos directorios. Después de abrir el navegador web y escribir la URL de nuestro objetivo, https://testphp.vulnweb.com/ y dar el directorio identificado /admin/, proporcionaremos los contenidos disponibles en ese directorio. Al ser un investigador de seguridad, puede probar la funcionalidad de esa página web.
Conclusión
En este artículo, aprendimos sobre Gobuster, un escáner de directorios de fuerza bruta escrito en el lenguaje de programación Go. Primero, aprendimos cómo instalar la herramienta y algunas listas de palabras valiosas que no se encuentran en Kali de forma predeterminada. A continuación, lo comparamos con nuestro objetivo y exploramos muchas de las variadas opciones con las que se envía. Gobuster es un escáner de directorios rápido y potente que debería ser una parte esencial de la colección de cualquier hacker, y ahora ya sabe cómo usarlo.
Publicación traducida automáticamente
Artículo escrito por gauravgandal y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA