
Búsqueda de hosts virtuales entre dominios no resolubles.
Búsqueda de hosts virtuales entre dominios no resolubles.
git clone https://github.com/dariusztytko/vhosts-sieve.git
pip3 install -r vhosts-sieve/requirements.txt
Obtenga una lista de subdominios (por ejemplo, usando Amass)
$ amass enum -v -passive -o domains.txt -d example.com -d example-related.com
Use vhosts-sieve.py para encontrar hosts virtuales
$ python3 vhosts-sieve.py -d domains.txt -o vhosts.txt
Logs dir: None
Max domains to resolve: -1
Max IPs to scan: -1
Max vhost candidates to check: -1
Ports to scan: [80, 443, 8000, 8008, 8080, 8443]
SNI enabled: False
Threads number: 16
Timeout HTTP: 5.0s
Timeout TCP: 3.0s
Verbose: False
User agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:68.0) Gecko/20100101 Firefox/68.0
Resolving 12 domains...
Scanning 1 IPs...
Finding vhosts (active IPs: 1, vhost candidates: 7)...
Saved results (4 vhosts)
El archivo de salida contiene los hosts virtuales descubiertos en el siguiente formato
165.22.264.81 80 http False zxcv.example.com 301
165.22.264.81 443 https False zxcv.example.com 200 dev.example.com 200 admin.example.com 401
Cada línea contiene la siguiente información:
Las respuestas de los hosts virtuales descubiertos se pueden registrar (opción -l, --logs-dir).
Para descubrir hosts virtuales, se realizan los siguientes pasos:
La validación de candidatos a host virtual se realiza de la siguiente manera:
Tenga en cuenta que el código de estado de la respuesta no se tiene en cuenta. La suposición principal es que cualquier cosa que no sea la respuesta de referencia merece ser analizada en detalle. Incluso respuestas 4xx y 5xx.
Para el protocolo HTTPS, puede ser útil enviar el nombre del candidato a host virtual a través del encabezado Host y SNI (extensión TLS). Esto puede permitir atravesar un proxy SNI mal configurado. Use la opción --enable-sni para habilitar el modo SNI.
Para redes grandes con miles de subdominios, puede llevar muchas horas verificar todos los candidatos a host virtual. Las siguientes opciones se pueden usar para acelerar el proceso:
Además, se recomienda usar la opción -v (verbosidad) para ver los resultados de forma continua.
Consulte el CHANGELOG