RED TEAM
  • Presentación
  • Apuntes Linux
  • Apuntes Blue Team
  • Apuntes Python
  • Ricardev github
  • RECON
    • OSINT
    • DESCUBRIENDO LA RED
      • NMAP NSE
    • SNIFFING
      • TCPDUMP
  • TECHNIQUES
    • FUERZA BRUTA
      • HYDRA
      • MEDUSA
      • JOHN THE RIPPER
      • NCRACK
      • RAINBOW TABLES
      • CHEATSHEET
    • CLAVES RSA DÉBILES
  • WEB HACKING
    • FUZZING
      • GOBUSTER
      • WFUZZ
      • OTRAS HERRAMIENTAS DE RECONOCIMIENTO WEB
    • OWASP TOP 10
      • A1-2017. SQL INJECTION
        • LOGIN FORM BYPASS
        • EXTRACCIÓN DE INFORMACIÓN.
        • SQLI MODIFIED HEADERS
        • BOOLEAN BLIND SQLI
        • TIME-BASED BLIND SQLI
        • AUTOMATIC INJECTION
      • A2-2017. ATAQUES A SISTEMAS DE AUTENTICACIÓN
      • A3-2017 - EXPOSICIÓN DE DATOS SENSIBLES
      • A4-2017. XXE
      • A5-2017. CONTROL DE ACCESO VULNERABLE
      • A6-2017. SEGURIDAD MAL CONFIGURADA
      • A7-2017. XSS
      • A8-2017. DESERIALIZACIÓN INSEGURA
      • A9-2017. USO DE COMPONENTES CON VULNERABILIDADES CONOCIDAS
      • A10-2017. REGISTRO Y MONITOREO INSUFICIENTE
    • SERVICIOS WEB
      • APACHE TOMCAT (RCE)
      • PRTG NETWORK MONITOR (RCE)
  • SERVICES HACKING (BOTH)
    • 20,21 - FTP
      • FTP BOUNCE ATTACK - ESCANEO
      • FTP BOUNCE ATTACK- DESCARGA DE OTRA FTP
    • 23 - TELNET
    • 25, 465 587 - SMTP
    • 111, 2049 - RPCBIND Y NFS
    • 161,162,10161,10162/udp - SNMP
      • SNMP (RCE Linux)
    • 445 - SMB
      • ETERNALBLUE
    • 3306 - MYSQL
  • SERVICES HACKING (LINUX)
    • 3632 - DISTCCD
  • SERVICES HACKING (WINDOWS)
    • 135, 539 - MSRPC
    • 389, 636 - LDAP / LDAPS
    • 1443 - MSSQL
  • ACTIVE DIRECTORY HACKING
    • CREANDO UN LABORATORIO DE AD
      • 1. Instalación de Windows Server 2016
      • 2. ROL DE ACTIVE DIRECTORY
      • 3. MALAS PRÁCTICAS NECESARIAS
    • CONCEPTOS
      • SPN Y KERBEROS
    • ENUMERACIÓN
      • BLOODHOUND
    • ATAQUES
      • SMB RELAY
      • NTLM RELAY
      • KERBEROASTING
      • AS_REP ROASTING
  • PRIVESC
    • WINDOWS
    • LINUX
      • LXD/LXC GROUP
  • EXFILTRACIÓN
    • EXFILTRANDO INFORMACIÓN
  • SHELL AND POWERSHELL TRICKS
    • Transfiriendo datos (traducir)
    • MEJORANDO SHELL A TTY INTERACTIVA (Traducir)
  • PWN LINUX
    • CREANDO UN LABORATORIO SIN MITIGACIONES
    • TEORÍA
      • ESTRUCTURA DE UN BINARIO DE LINUX
        • HERRAMIENTAS
      • ENSAMBLADOR
      • CONVENCIÓN DE LLAMADAS
      • MITIGACIONES
      • SYSCALL Y SHELLCODE
      • FORMAT STRING
      • RETURN-ORIENTED PROGRAMMING
        • GADGETS
    • ESTRATEGIAS DE EXPLOIT
      • STACK EXPLOITS
        • ATAQUE “SMASH THE STACK” SENCILLO
        • ATAQUE RET2WIN
        • ATAQUE RET2SHELLCODE
        • ATAQUE FORMAT STRING RET2SHELLCODE 2 BYTES
        • ATAQUE FORMAT STRING RET2SHELLCODE 4 BYTES
        • CANARY BYPASS
        • ATAQUE RET2LIBC
    • PRÁCTICA
      • PHOENIX
        • SETUP
        • STACK-ZERO amd64
        • STACK-ONE amd64
        • STACK-TWO amd64
        • STACK-THREE amd64
        • STACK-FOUR amd64
        • STACK-FIVE amd64
        • STACK-SIX amd64
        • FORMAT-ZERO amd64
Con tecnología de GitBook
En esta página
  • FUZZING DE RUTAS Y ARCHIVOS
  • FUZZING DE PARAMETROS DE LA URL
  • FUZZING DE POST REQUESTS
  • FUZZING DE COOKIES
  • FUZZING ENCABEZADOS PERSONALIZADOS
  • FUZZEANDO METODOS HTTP
  • ESCRIBIENDO EL RESULTADO EN UN ARCHIVO

¿Te fue útil?

  1. WEB HACKING
  2. FUZZING

WFUZZ

Articulo sobre la herramienta wfuzz y su utilización.

AnteriorGOBUSTERSiguienteOTRAS HERRAMIENTAS DE RECONOCIMIENTO WEB

Última actualización hace 3 años

¿Te fue útil?

Este artículo es una traducción de la wiki oficial de wfuzz.

FUZZING DE RUTAS Y ARCHIVOS

Wfuzz puede ser utilizado para buscar contenido oculto en servidores web, como por ejemplo archivos y directorios, permitiendo encontrar vectores de ataque escondidos. Es importante tener en cuenta que gran parte del exito de esta tarea se debe a la elección de un buen diccionario.

Sin embargo, debido a la limitada cantidad de plataformas que ofrecen servicio de servidor web, las instalaciones predeterminadas y los recursos conocidos como por ejemplo logs o directorios de administración, un número considerable de recursos pueden ser localizados en lugares predecibles de la red. Por este motivo, realizar un ataque de fuerza bruta sobre estos contenidos se convierte en una tarea más asequible.

Aquí tenemos un ejemplo de Wfuzz buscando directorios comunes:

wfuzz -w wordlist/general/common.txt http://testphp.vulnweb.com/FUZZ

FUZZING DE PARAMETROS DE LA URL

Muchas veces queremos fuzzear algún tipo de dato que se encuentra en las busquedas de la URL (normalmente vienen en esta forma url?dato=valor). Esto lo podemos conseguir facilmente utilizando la palabra clave FUZZ en donde debería ir el valor.

wfuzz -z range,0-10 --hl 97 http://testphp.vulnweb.com/listproducts.php?cat=FUZZ

FUZZING DE POST REQUESTS

Si queremos fuzzear algún tipo de dato que se encuentra encriptado como lo haría un formulario HTML, solo hace falta pasarle a WFUZZ el parámetro -d:

wfuzz -z file,wordlist/others/common_pass.txt -d "uname=FUZZ&pass=FUZZ" --hc 302 http://testphp.vulnweb.com/userinfo.php

FUZZING DE COOKIES

Para enviar sus propias cookies al servidor, por ejemplo, para asociar una solicitud a una session HTTP, se puede utilizar el parámetro -b (si hay varias cookies tendremos que repetirlo, como en el ejemplo):

wfuzz -z file,wordlist/general/common.txt -b cookie=value1 -b cookie2=value2 http://testphp.vulnweb.com/FUZZ

El comando de arriba generaría la siguiente solicitud HTTP:

GET /attach HTTP/1.1  
Host: testphp.vulnweb.com  
Accept: */*  
Content-Type: application/x-www-form-urlencoded  
Cookie: cookie=value1; cookie2=value2  
User-Agent: Wfuzz/2.2  
Connection: close

Las cookies pueden tambien ser fuzzeadas, no solo alteradas:

wfuzz -z file,wordlist/general/common.txt -b cookie=FUZZ http://testphp.vulnweb.com/

FUZZING ENCABEZADOS PERSONALIZADOS

Si quiere añadir encabezados a una solicitud HTTP solo tiene que añadir el parámetro -H (si queremos añadir varios encabezados habrá que repetir en parámetro):

wfuzz -z file,wordlist/general/common.txt -H "myheader: headervalue" -H "myheader2: headervalue2" http://testphp.vulnweb.com/FUZZ

El comando de arriba generaría la siguiente solicitud HTTP:

GET /agent HTTP/1.1  
Host: testphp.vulnweb.com  
Accept: */*  
Myheader2: headervalue2  
Myheader: headervalue  
Content-Type: application/x-www-form-urlencoded  
User-Agent: Wfuzz/2.2  
Connection: close

Tambien puede modificar encabezados existentes, por ejemplo, personalizando el user agent:

wfuzz -z file,wordlist/general/common.txt -H "myheader: headervalue" -H "User-Agent: Googlebot-News" http://testphp.vulnweb.com/FUZZ

El comando de arriba generaría la siguiente solicitud HTTP:

GET /asp HTTP/1.1  
Host: testphp.vulnweb.com  
Accept: */*  
Myheader: headervalue  
Content-Type: application/x-www-form-urlencoded  
User-Agent: Googlebot-News  
Connection: close

Por último, tambien pueden ser fuzzeados:

wfuzz -z file,wordlist/general/common.txt -H "User-Agent: FUZZ" http://testphp.vulnweb.com/

FUZZEANDO METODOS HTTP

Los métodos HTTP (GET, HEAD, POST, TRACE, OPTIONS) tambien se pueden fuzzear utilizando el parámetro -X

wfuzz -z list,GET-HEAD-POST-TRACE-OPTIONS -X FUZZ http://testphp.vulnweb.com/

Tambien se puede especificar el método, por ejemplo -X HEAD.

If you want to perform the requests using a specific verb you can also use “-X HEAD”.

ESCRIBIENDO EL RESULTADO EN UN ARCHIVO

Wfuzz soporta la opción de escribir el resultado en un archivo en diferentes formatos. Esto lo ejecuta con unos plugins que se denominan "printers". Los printers disponibles se pueden averiguar ejecutando:

wfuzz -e printers

Por ejemplo, para escribir los resultados en un archivo en formato JSON podemos utilizar el siguiente comando:

wfuzz -f /tmp/outfile,json -w wordlist/general/common.txt http://testphp.vulnweb.com/FUZZ

Personalizar el Output

Utilizando el output por defecto (raw) tambien podemos seleccionar campos adicionales para que se muestren con el parametro -efield y el payload

When using the default or raw output you can also select additional FuzzResult’s fields to show, using –efield, together with the payload description:

$ wfuzz -z range --zD 0-1 -u http://testphp.vulnweb.com/artists.php?artist=FUZZ --efield r

El comando de arriba guardaría un output así, añadiendo la solicitud HTTP que se ha realizado.

...
000000001:   200        99 L     272 W    3868 Ch   0 | GET /artists.php?artist=0 HTTP/1.1
                                                    Content-Type: application/x-www-form-urlencoded
                                                    User-Agent: Wfuzz/2.4
                                                    Host: testphp.vulnweb.com
...

La wiki tiene más contenido que no me parece de gran utilidad en este momento. Permite:

  • Fuzzear autenticaciones (con --basic/ntlm/digest)

  • Activar el modo recursivo (con -R)

  • Fuzzear proxies (con -p)

Basic Usage — Wfuzz 2.1.4 documentation
Logo