githubEdit

VHosts

Virtual Host (vhost) enumeration discovers additional websites hosted on the same IP address but responding to different hostnames.

Why VHost Enumeration Matters

  • Web servers can host multiple sites on one IP using the Host header

  • Subdomains may not have DNS records (internal/dev sites)

  • Different vhosts may have different security postures

  • Can reveal admin panels, staging environments, APIs

Enumeration Techniques

# Basic vhost fuzzing
ffuf -w /usr/share/seclists/Discovery/DNS/subdomains-top1million-5000.txt \
  -u http://10.10.10.10 -H "Host: FUZZ.target.com" -fs 0

# Filter by response size (adjust based on default response)
ffuf -w /usr/share/seclists/Discovery/DNS/subdomains-top1million-20000.txt \
  -u http://10.10.10.10 -H "Host: FUZZ.target.com" -fs 4242

# Filter by status code
ffuf -w wordlist.txt -u http://10.10.10.10 -H "Host: FUZZ.target.com" -fc 400,404

# With HTTPS
ffuf -w wordlist.txt -u https://10.10.10.10 -H "Host: FUZZ.target.com" -fs 0

Using gobuster

Using wfuzz

Specialized Tools

Finding VHosts Without DNS

Adding Discovered VHosts

Wordlists for VHost Fuzzing

Last updated

Was this helpful?