← retour aux outils back to tools

# hosthunter

Outil de découverte de vhosts et de sous-domaines utilisant des sources OSINT. Identifie les noms d'hôtes virtuels sur des adresses IP en interrogeant des certificats SSL, Shodan, Censys, et d'autres sources de données publiques. Virtual host and subdomain discovery tool using OSINT sources. Identifies virtual hostnames on IP addresses by querying SSL certificates, Shodan, Censys, and other public data sources.

↗ https://github.com/SpiderLabs/HostHunter

## Overview

HostHunter discovers virtual hostnames associated with IP addresses using passive OSINT techniques. It queries SSL/TLS certificate transparency logs, Shodan, Censys, and other sources to find all hostnames resolving to a given IP — crucial for scoping engagements where a single IP hosts multiple domains.

## Installation

    pip3 install hosthunter
    # or
    git clone https://github.com/SpiderLabs/HostHunter
    cd HostHunter
    pip3 install -r requirements.txt

## Basic Usage

Discover virtual hosts for a single IP

    hosthunter 93.184.216.34

Scan multiple IPs

    hosthunter 93.184.216.34 8.8.8.8

Read IPs from file

    hosthunter -f targets.txt

Save results to CSV

    hosthunter -f targets.txt -o results.csv

## With API Keys

    # Set Shodan API key (expands results significantly)
    export SHODAN_API_KEY="your_key_here"
    hosthunter -f targets.txt

    # Set Censys credentials
    export CENSYS_API_ID="your_id"
    export CENSYS_API_SECRET="your_secret"
    hosthunter -f targets.txt

## Scanning Options

Specify output format

    hosthunter -f ips.txt -o results.csv

Verbose output

    hosthunter -f ips.txt -v

Screenshots (requires gowitness/aquatone)

    hosthunter -f ips.txt -s

## Workflow Example

Step 1: Get IP range from WHOIS/ASN

    whois target.com | grep -i "cidr\|network"

Step 2: Generate IP list

    fping -ag 185.50.100.0/24 2>/dev/null > live_ips.txt

Step 3: Find all vhosts

    hosthunter -f live_ips.txt -o vhosts.csv

Step 4: Add discovered hosts to /etc/hosts for further testing

    cat vhosts.csv | cut -d, -f1,2 | awk -F, '{print $2"\t"$1}' >> /etc/hosts

## Tips

- Add Shodan/Censys API keys — passive sources dramatically expand results
- Useful for finding forgotten subdomains that share an IP with the main target
- SSL certificate SANs often reveal internal hostnames and development environments
- Combine with virtual host fuzzing (ffuf -H “Host: FUZZ”) for active discovery
- Look for staging/dev vhosts — often have weaker security than production

Help / Man page

    hosthunter [options] [IP...]

    -f FILE     Input file with IPs (one per line)
    -o FILE     Output CSV file
    -v          Verbose output
    -s          Take screenshots

    Environment variables:
      SHODAN_API_KEY     Shodan API key
      CENSYS_API_ID      Censys API ID
      CENSYS_API_SECRET  Censys API secret

## Vue d’ensemble

HostHunter découvre les noms d’hôtes virtuels associés à des adresses IP en utilisant des techniques OSINT passives. Il interroge les journaux de transparence des certificats SSL/TLS, Shodan, Censys, et d’autres sources pour trouver tous les noms d’hôtes résolvant vers une IP donnée : crucial pour délimiter le périmètre de missions où une seule IP héberge plusieurs domaines.

## Installation

    pip3 install hosthunter
    # ou
    git clone https://github.com/SpiderLabs/HostHunter
    cd HostHunter
    pip3 install -r requirements.txt

## Utilisation de base

    # Découvrir les vhosts pour une seule IP
    hosthunter 93.184.216.34

    # Scanner plusieurs IPs
    hosthunter 93.184.216.34 8.8.8.8

    # Lire les IPs depuis un fichier
    hosthunter -f targets.txt

    # Sauvegarder les résultats en CSV
    hosthunter -f targets.txt -o results.csv

## Avec des clés API

    # Définir la clé API Shodan (élargit significativement les résultats)
    export SHODAN_API_KEY="your_key_here"
    hosthunter -f targets.txt

    # Définir les identifiants Censys
    export CENSYS_API_ID="your_id"
    export CENSYS_API_SECRET="your_secret"
    hosthunter -f targets.txt

## Options de scan

    # Spécifier le format de sortie
    hosthunter -f ips.txt -o results.csv

    # Sortie verbeuse
    hosthunter -f ips.txt -v

    # Captures d'écran (nécessite gowitness/aquatone)
    hosthunter -f ips.txt -s

## Exemple de flux de travail

    # Étape 1 : obtenir la plage IP depuis WHOIS/ASN
    whois target.com | grep -i "cidr\|network"

    # Étape 2 : générer la liste d'IPs
    fping -ag 185.50.100.0/24 2>/dev/null > live_ips.txt

    # Étape 3 : trouver tous les vhosts
    hosthunter -f live_ips.txt -o vhosts.csv

    # Étape 4 : ajouter les hôtes découverts à /etc/hosts pour des tests plus approfondis
    cat vhosts.csv | cut -d, -f1,2 | awk -F, '{print $2"\t"$1}' >> /etc/hosts

## Conseils

- Ajoutez des clés API Shodan/Censys : les sources passives élargissent considérablement les résultats
- Utile pour trouver des sous-domaines oubliés qui partagent une IP avec la cible principale
- Les SAN des certificats SSL révèlent souvent des noms d’hôtes internes et des environnements de développement
- Combinez avec du fuzzing de vhost actif (ffuf -H “Host: FUZZ”) pour une découverte active
- Cherchez les vhosts de staging/dev : ils ont souvent une sécurité plus faible que la production

Aide / Page de manuel

    hosthunter [options] [IP...]

    -f FILE     Input file with IPs (one per line)
    -o FILE     Output CSV file
    -v          Verbose output
    -s          Take screenshots

    Environment variables:
      SHODAN_API_KEY     Shodan API key
      CENSYS_API_ID      Censys API ID
      CENSYS_API_SECRET  Censys API secret