🏠 Virtual Hosts (VHosts)

Permiten a un único servidor alojar múltiples sitios o servicios, diferenciándolos por dominio, subdominio, IP o puerto.

🧠 ¿Qué es un VHost?

Un servidor web como Apache, Nginx o IIS puede servir varios sitios desde la misma IP gracias a los virtual hosts.

📌 Se basa en el encabezado HTTP Host para determinar a qué sitio debe responder.


🔍 VHosts vs Subdominios

Concepto 🌐 Subdominios 🏠 VHosts
Definición Extensión de un dominio principal Configuración dentro del servidor web
Ejemplo blog.ejemplo.com ServerName blog.ejemplo.com
Requiere entrada DNS ✅ Sí ❌ No necesariamente (puede usarse el archivo /etc/hosts)
Control desde servidor web ❌ No ✅ Sí
Casos comunes Panel de admin, staging, blog Alojar múltiples sitios en el mismo server

🔗 Tipos de Virtual Hosting

Tipo 🧾 Nombre 🌐 IP 🔌 Puerto ✅ Pros ⚠️ Contras
Name-based Ahorra IPs, fácil configuración Problemas con SSL antiguo
IP-based Aislamiento total, útil con SSL Requiere muchas IPs
Port-based Rápido para testing Pide especificar puerto en la URL

🛠️ Herramientas para descubrir VHosts

Herramienta 🚀 Descripción
Gobuster Fuzzing del header Host
Feroxbuster Alternativa rápida escrita en Rust
ffuf Fuzzer ultra rápido y flexible

🧪 Ejemplo con Gobuster:

gobuster vhost -u http://inlanefreight.htb:43987 -w /usr/share/seclists/Discovery/DNS/subdomains-top1million-110000.txt --append-domain

{77CE530F-D7FB-4A73-AB27-547A621D8CE1}.png

Opción Descripción
-u Dirección IP objetivo
-w Lista de posibles subdominios
--append-domain Añade el dominio base a cada palabra
-t 30 Threads (paralelismo)
-o vhosts.txt Guarda resultados

📌 Nota: Algunos VHosts no existen en DNS. Puedes forzarlos añadiéndolos a tu /etc/hosts.

⚙️ Cómo funciona el proceso

  1. 🌐 Usuario solicita blog.ejemplo.com.

  2. 📤 El navegador incluye Host: blog.ejemplo.com en la solicitud HTTP.

  3. 🧠 El servidor analiza el encabezado y selecciona el VHost correcto.

  4. 📁 Sirve archivos desde /var/www/blog.


🎯 Consejos de enumeración


🚨 Advertencia

⚠️ El VHost fuzzing puede generar mucho tráfico y ser detectado por IDS/WAF.
¡No lo ejecutes sin autorización en entornos reales!