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/HostHunterOverview
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