Vhost Fuzzing

Vhosts vs. Sub-domains

A principal diferença entre VHosts e subdomínios é que um VHost é basicamente um 'subdomínio' servido no mesmo servidor e tem o mesmo IP, de modo que um único IP pode servir dois ou mais sites diferentes.

Vhosts Fuzzing

Para procurar VHosts, sem adicionar manualmente a lista de palavras inteira ao nosso arquivo /etc/hosts, estaremos confundindo os cabeçalhos HTTP, especificamente o Host: cabeçalho.

ffuf -w /opt/useful/SecLists/Discovery/DNS/subdomains-top1million-5000.txt:FUZZ -u http://academy.htb:PORT/ -H 'Host: FUZZ.academy.htb'

Filtering

Ffufoferece a opção de combinar ou filtrar um código HTTP específico, tamanho de resposta ou quantidade de palavras. Podemos ver isso com ffuf -h:

$ ffuf -h
...SNIP...
MATCHER OPTIONS:
  -mc              Match HTTP status codes, or "all" for everything. (default: 200,204,301,302,307,401,403)
  -ml              Match amount of lines in response
  -mr              Match regexp
  -ms              Match HTTP response size
  -mw              Match amount of words in response

FILTER OPTIONS:
  -fc              Filter HTTP status codes from response. Comma separated list of codes and ranges
  -fl              Filter by amount of lines in response. Comma separated list of line counts and ranges
  -fr              Filter regexp
  -fs              Filter HTTP response size. Comma separated list of sizes and ranges
  -fw              Filter by amount of words in response. Comma separated list of word counts and ranges
<...SNIP...>

Neste caso, não podemos usar correspondência, pois não sabemos qual seria o tamanho da resposta de outros VHosts. Sabemos o tamanho da resposta dos resultados incorretos, que, como visto no teste acima, é 900, e podemos filtrá-lo com -fs 900. Agora, vamos repetir o mesmo comando anterior, adicionar o sinalizador acima e ver o que obtemos:

$ ffuf -w /opt/useful/SecLists/Discovery/DNS/subdomains-top1million-5000.txt:FUZZ -u http://academy.htb:PORT/ -H 'Host: FUZZ.academy.htb' -fs 900

Last updated