
ReconHound est un outil de reconnaissance web basé sur Python conçu pour les testeurs d'intrusion, les chasseurs de bugs et les hackers éthiques. Il prend en charge l'énumération de répertoires et de fichiers, l'énumération de sous-domaines, le fuzzing et la découverte d'hôtes virtuels (vhost).
ReconHound est un outil de reconnaissance web basé sur Python, conçu pour les testeurs d'intrusion, les chasseurs de bugs et les hackers éthiques. Il permet d'identifier les chemins cachés, les fichiers, les sous-domaines, les paramètres de requête, les hôtes virtuels et les points d'entrée vulnérables au fuzzing, ce qui en fait une solution polyvalente pour la reconnaissance web approfondie.
Analyse multithreadée pour une énumération web à haute vitesse
Prend en charge :
Découverte de répertoires et de fichiers
Énumération de sous-domaines
Détection d'hôtes virtuels via l'en-tête Host
Fuzzing de paramètres de requête
Fuzzing à n'importe quel endroit de l'URL à l'aide d'un espace réservé FUZZ personnalisé
Sauvegarde des résultats au format JSON
Gère élégamment les interruptions et sauvegarde les résultats partiels
ReconHound doit être utilisé de manière responsable et légale. Toute utilisation non autorisée de cet outil pour scanner, fuzzer ou tester des sites web sans autorisation explicite est illégale et contraire à l'éthique. L'auteur n'est pas responsable de toute mauvaise utilisation ou des conséquences juridiques résultant de l'utilisation de cet outil.
1. Cloner le dépôt :
git clone https://gitlab.com/s_r_e_e_r_a_j/ReconHound.git
2. Se déplacer dans le répertoire ReconHound :
cd ReconHound
3. Installer les dépendances :
pip3 install -r requirements.txt
Note pour les utilisateurs de Kali, Parrot, Ubuntu 23.04+, Arch Linux :
Si vous rencontrez une erreur du type :
error: externally-managed-environment
alors utilisez :
pip3 install -r requirements.txt --break-system-packages
4. Exécuter le script install.py pour l'installation :
sudo python3 install.py
Tapez ensuite y pour installer
5. Lancer l'outil :
reconhound [options]
dir – Énumération de répertoires et fichiers
Exemple :
reconhound dir -u https://example.com -w /path/to/wordlist/wordlist.txt -e .php,.html -t 20 -o /path/to/save/dir_results.json
sub – Énumération de sous-domaines
Exemple :
reconhound sub -d example.com -w /path/to/wordlist/wordlist.txt -t 30 -o /path/to/save/sub_results.json
vhost – Découverte d'hôtes virtuels
Exemple :
reconhound vhost -i 192.0.2.1 --domain example.com -w /path/to/wordlist/wordlist.txt -t 25 -o /path/to/save/vhost_results.json
fuzz – Fuzzing de paramètres de requête
Exemple :
reconhound fuzz -u "https://example.com/page.php?id=FUZZ" -p id -w /path/to/wordlist/wordlist.txt -t 20 -o /path/to/save/fuzz_results.json
reconhound fuzz -u "https://example.com/login?username=admin&password=FUZZ" -p password -w /path/to/wordlist/wordlist.txt -t 15 -o /path/to/save/fuzz_results.json
fuzzany – Fuzzer n'importe où dans l'URL
Exemple :
reconhound fuzzany -u "https://example.com/FUZZ/login" -w /path/to/wordlist/wordlist.txt -t 15 -o /path/to/save/fuzzany_results.json
reconhound fuzzany -u "https://example.com?FUZZ=admin" -w /path/to/wordlist/wordlist.txt -t 15 -o /path/to/save/fuzzany_results.json
reconhound fuzzany -u "https://example.com/login?username=admin&password=FUZZ" -w /path/to/wordlist/wordlist.txt -t 15 -o /path/to/save/fuzzany_results.json
Mode dir
reconhound dir --help
Mode sub
reconhound sub --help
Mode vhost
reconhound vhost --help
Mode fuzz
reconhound fuzz --help
Mode fuzzany
reconhound fuzzany --help
Exécutez le script install.py
sudo python3 install.py
Tapez ensuite n pour désinstaller
Ce projet est sous licence MIT.
| Option | Description |
|---|
-u, --url | URL cible (par ex. https://example.com) |
-w, --wordlist | Chemin vers la wordlist de répertoires/fichiers |
-e, --extensions | Extensions de fichiers séparées par des virgules (par ex. .php,.html,.js)(optionnel) |
-t, --threads | Nombre de threads à utiliser (par défaut : 10)(optionnel) |
-o, --output | Fichier pour sauvegarder les résultats (format JSON,out.json)(optionnel) |
| Option | Description |
|---|
-d, --domain | Domaine cible (par ex. example.com) |
-w, --wordlist | Chemin vers la wordlist de sous-domaines |
-t, --threads | Nombre de threads à utiliser, défaut(10)(optionnel) |
-o, --output | Fichier pour sauvegarder les résultats (format JSON,out.json)(optionnel) |
| Option | Description |
|---|
-i, --ip | Adresse IP cible (par ex. 192.0.2.1)(IP du site web cible) |
-d, --domain | Nom de domaine réel utilisé dans l'en-tête Host (domaine du site web cible)(par ex. "example.com") |
-w, --wordlist | Wordlist d'hôtes virtuels (par ex. admin, dev, test) |
-t, --threads | Nombre de threads à utiliser, défaut:10 (optionnel) |
-o, --output | Fichier pour sauvegarder les résultats (format JSON,out.json)(optionnel) |
| Option | Description |
|---|
-u, --url | URL cible avec FUZZ dans le paramètre (par ex. ?id=FUZZ) |
-p, --param | Nom du paramètre à fuzzer (par ex. id) |
-w, --wordlist | Wordlist de payloads à injecter dans le paramètre |
-t, --threads | Nombre de threads à utiliser, défaut:10 (optionnel) |
-o, --output | Fichier pour sauvegarder les résultats (format JSON,out.json)(optionnel) |
| Option | Description |
|---|
-u, --url | URL contenant FUZZ dans le chemin ou la requête (par ex. /FUZZ/login) |
-w, --wordlist | Wordlist pour remplacer FUZZ |
-t, --threads | Nombre de threads à utiliser, défaut:10(optionnel) |
-o, --output | Fichier pour sauvegarder les résultats (format JSON,out.json)(optionnel) |