Filebuster Fuzzer Web Extremadamente Rápido y Flexible

Filebuster: Fuzzer Web Extremadamente Rápido y Flexible

Los investigadores de seguridad llevan mucho tiempo utilizando herramientas como escáneres para encontrar bugs, pero estas herramientas son limitadas: sólo pueden encontrar los bugs para los que están programadas. Sin embargo, los investigadores de seguridad experimentados utilizan “fuzzers” para encontrar bugs en los programas.

Fuzzing y Fuzzers

Un fuzzer web es una herramienta automatizada de pruebas de seguridad de aplicaciones web. Está diseñada para detectar y demostrar la presencia de una amplia variedad de bugs y fallos de seguridad en sitios web.

¡Filebuster es un fuzzer HTTP / script de descubrimiento de contenido con un montón de características y construido para ser fácil de usar y rápido!

Utiliza una de las clases HTTP más rápidas del mundo (de PERL) – Furl::HTTP. También el modelado de hilos está optimizado para ejecutarse lo más rápido posible.

Características

Tiene un montón de características como:

  • Patrones Regex en listas de palabras
  • Soporta proxy HTTP/HTTPS/SOCKS
  • Permite múltiples listas de palabras utilizando comodines
  • Extensiones de archivos adicionales
  • Tiempos de espera y reintentos ajustables
  • Retrasos/aceleración ajustables
  • Ocultación de resultados en función del código HTTP, la longitud o las palabras en los headers o body
  • Compatibilidad con cookies personalizadas
  • Soporte para encabezados personalizadas
  • Admite varias versiones del protocolo TLS
  • Detección automática de TTY
  • Escaneos recursivos
  • Listas de palabras integradas con cargas útiles (payloads) personalizadas
  • Codificación inteligente automática
  • Filtrado automático de resultados

Actualizado

Filebuster se actualiza con frecuencia. Se añadirán nuevas funciones con regularidad.

Instalación

Ejecución del script Perl

Se requiere la versión 5.10 o superior de Perl

FileBuster recurre en muchas ocasiones a bibliotecas de terceros. Sin embargo, pueden ser fácilmente instaladas con el siguiente comando:

cpan -T install YAML Furl Benchmark Net::DNS::Lite List::MoreUtils IO::Socket::SSL URI::Escape HTML::Entities IO::Socket::Socks::Wrapper URI::URL Cache::LRU IO::Async::Timer::Periodic IO::Async::Loop

La opción -T hará que la instalación sea mucho más rápida, pero si tienes problemas, elimínala para permitir que CPAN realice las pruebas por paquete.

Instalación

Filebuster es un script en Perl, por lo que no es necesario instalarlo. Sin embargo, la mejor manera de utilizar Filebuster es creando un enlace simbólico en un directorio incluido en la ruta. Por ejemplo:

ln -s /ruta/de/filebuster.pl /usr/local/bin/filebuster

Entonces podrás utilizarlo en todo el sistema

Binario empaquetado

Debido a que la instalación de todas las dependencias a veces no es posible, se proporciona un binario pre-empaquetado con todas las dependencias incorporadas. Funciona incluso en las distribuciones de Linux más pequeñas.

Esto se logró utilizando Perl Packer pp. Puedes descargar la última versión desde la sección Releases.

Si quieres empaquetarlo tú mismo, revisa los pasos del flujo de trabajo de la Acción y allí encontrarás todos los comandos que necesitas ejecutar.

Ejecutar en docker

Tendrás que empezar por construir el docker:

docker build -t filebuster .
Instalar Filebuster desde docker
Instalar Filebuster desde docker

Después, puedes ejecutarlo así:

docker run -ti --init --rm filebuster -u http://sitioweb/

Si necesita utilizar listas de palabras personalizadas, recuerda asignar el archivo, por ejemplo

docker run -ti --init --rm -v /ruta/de/wordlist.txt:/filebuster/mywordlist.txt filebuster -u http://sitioweb/ -w /filebuster/mywordlist.txt

Puedes crear un alias en tu shell, y hacerlo (casi) sin problemas:

alias filebuster="docker run -ti --init --rm filebuster"

Ahora puedes simplemente ejecutarlo:

filebuster -u http://sitioweb/
Comando de uso de filebuster
Comando de uso de filebuster

Sintaxis y uso

En su forma más básica, Filebuster puede ejecutarse simplemente utilizando la siguiente sintaxis:

filebuster -u http://sitio-web/ 

Si quiere hacer fuzz en la parte final de la URL, no necesitas usar la etiqueta {fuzz} para indicar dónde inyectar.

El parámetro wordlist (-w) no es obligatorio a partir de la versión 0.9.1. Si no se especifica, Filebuster intentará encontrar y cargar la lista de palabras “Fast” (dentro del directorio) automáticamente.

Argumentos más comunes

  • -w – Rutas de acceso a las listas de palabras a usar. Puedes especificar una lista aquí y FileBuster ignorará automáticamente los duplicados.
  • --hc – oculta los códigos de respuesta especificados. Por ejemplo, --hc 403,400
  • --hs – oculta las respuestas que contienen una cadena en el cuerpo/body de la respuesta. Por ejemplo, --hs "does not exist"
  • --hsh – oculta las respuestas que contienen una cadena en las cabeceras. Es útil para ignorar las redirecciones a las páginas de inicio de sesión, por ejemplo, --hsh "login.aspx"
  • -e – FileBuster probará todas las entradas de la lista de palabras con las extensiones proporcionadas también. Por ejemplo, -e aspx,ashx,asmx

Para la ayuda completa de la sintaxis con ejemplos, simplemente ejecuta:

filebuster --help
Comando de ayuda para filebuster
Comando de ayuda para filebuster

Un ejemplo más complejo:

filebuster -u http://sitioweb/{fuzz}.jsp -w /ruta/de/wordlist.txt -t 3 -x http://127.0.0.1:8080 --hs "Error"

Esto permitiría fuzzear un sitio web con 3 hilos para encontrar páginas JSP, utilizando un proxy local y ocultando todas las respuestas con “Error” en el cuerpo/body.

Listas de palabras

El autor ha creado algunas listas de palabras basadas en diferentes fuentes de la web junto con sus propios payloads personalizados encontrados durante sus pentests e investigaciones. Puedes encontrarlas en el directorio wordlists. Si necesitas más listas de palabras, deberías consultar el gran repositorio SecLists.

My Cart Close (×)

Tu carrito está vacío
Ver tienda