
ReconHound é uma ferramenta de reconhecimento web baseada em Python projetada para testadores de penetração, caçadores de bugs e hackers éticos. Ela suporta enumeração de diretórios e arquivos, enumeração de subdomínios, fuzzing e descoberta de hosts virtuais (vhost).
ReconHound é uma ferramenta de reconhecimento web baseada em Python, desenvolvida para testadores de penetração, caçadores de bugs e hackers éticos. Ela ajuda a identificar caminhos ocultos, arquivos, subdomínios, parâmetros de consulta, hosts virtuais e endpoints passíveis de fuzzing — tornando-se uma solução versátil para reconhecimento web profundo.
Varredura multithread para enumeração web de alta velocidade
Suporte para:
Descoberta de diretórios e arquivos
Enumeração de subdomínios
Detecção de host virtual via cabeçalho Host
Fuzzing de parâmetros de consulta
Fuzzing em qualquer parte da URL usando um espaço reservado FUZZ personalizado
Salva resultados no formato JSON
Lida graciosamente com interrupções e salva resultados parciais
O ReconHound deve ser usado de forma responsável e legal. O uso não autorizado desta ferramenta para escanear, fazer fuzzing ou testar sites sem permissão explícita é ilegal e antiético. O autor não se responsabiliza por qualquer uso indevido ou consequências legais decorrentes do uso desta ferramenta.
1. Clone o repositório:
git clone https://gitlab.com/s_r_e_e_r_a_j/ReconHound.git
2. Navegue até o diretório ReconHound:
cd ReconHound
3. Instale as dependências:
pip3 install -r requirements.txt
Nota para usuários de Kali, Parrot, Ubuntu 23.04+, Arch Linux:
Se você vir um erro como:
error: externally-managed-environment
então use:
pip3 install -r requirements.txt --break-system-packages
4. Execute o script install.py para instalação:
sudo python3 install.py
Em seguida, digite y para instalar
5. Execute a ferramenta
reconhound [opções]
dir – Enumeração de Diretórios e Arquivos
Exemplo:
reconhound dir -u https://example.com -w /caminho/para/wordlist/wordlist.txt -e .php,.html -t 20 -o /caminho/para/salvar/dir_results.json
sub – Enumeração de Subdomínios
Exemplo:
reconhound sub -d example.com -w /caminho/para/wordlist/wordlist.txt -t 30 -o /caminho/para/salvar/sub_results.json
vhost – Descoberta de Host Virtual
Exemplo:
reconhound vhost -i 192.0.2.1 --domain example.com -w /caminho/para/wordlist/wordlist.txt -t 25 -o /caminho/para/salvar/vhost_results.json
fuzz – Fuzzing de Parâmetros de Consulta
Exemplo:
reconhound fuzz -u "https://example.com/page.php?id=FUZZ" -p id -w /caminho/para/wordlist/wordlist.txt -t 20 -o /caminho/para/salvar/fuzz_results.json
reconhound fuzz -u "https://example.com/login?username=admin&password=FUZZ" -p password -w /caminho/para/wordlist/wordlist.txt -t 15 -o /caminho/para/salvar/fuzz_results.json
fuzzany – Fuzzing em Qualquer Lugar na URL
Exemplo:
reconhound fuzzany -u "https://example.com/FUZZ/login" -w /caminho/para/wordlist/wordlist.txt -t 15 -o /caminho/para/salvar/fuzzany_results.json
reconhound fuzzany -u "https://example.com?FUZZ=admin" -w /caminho/para/wordlist/wordlist.txt -t 15 -o /caminho/para/salvar/fuzzany_results.json
reconhound fuzzany -u "https://example.com/login?username=admin&password=FUZZ" -w /caminho/para/wordlist/wordlist.txt -t 15 -o /caminho/para/salvar/fuzzany_results.json
modo dir
reconhound dir --help
modo sub
reconhound sub --help
modo vhost
reconhound vhost --help
modo fuzz
reconhound fuzz --help
modo fuzzany
reconhound fuzzany --help
Execute o script install.py
sudo python3 install.py
Em seguida, digite n para desinstalar
Este projeto está licenciado sob a licença MIT
| Opção | Descrição |
|---|
-u, --url | URL alvo (ex.: https://example.com) |
-w, --wordlist | Caminho para wordlist de diretórios/arquivos |
-e, --extensions | Extensões de arquivo separadas por vírgula (ex.: .php,.html,.js)(opcional) |
-t, --threads | Número de threads a usar (padrão: 10)(opcional) |
-o, --output | Arquivo para salvar os resultados (formato JSON, out.json)(opcional) |
| Opção | Descrição |
|---|
-d, --domain | Domínio alvo (ex.: example.com) |
-w, --wordlist | Caminho para wordlist de subdomínios |
-t, --threads | Número de threads a usar, padrão(10)(opcional) |
-o, --output | Arquivo para salvar os resultados (formato JSON, out.json)(opcional) |
| Opção | Descrição |
|---|
-i, --ip | Endereço IP alvo (ex.: 192.0.2.1)(IP do site alvo) |
-d, --domain | Nome de domínio real usado no cabeçalho Host (domínio do site alvo)(ex.: "example.com") |
-w, --wordlist | Wordlist de hosts virtuais (ex.: admin, dev, test) |
-t, --threads | Número de threads a usar, padrão:10 (opcional) |
-o, --output | Arquivo para salvar os resultados (formato JSON, out.json)(opcional) |
| Opção | Descrição |
|---|
-u, --url | URL alvo com FUZZ no parâmetro (ex.: ?id=FUZZ) |
-p, --param | Nome do parâmetro para fuzzing (ex.: id) |
-w, --wordlist | Wordlist de payloads para injetar no parâmetro |
-t, --threads | Número de threads a usar, padrão:10 (opcional) |
-o, --output | Arquivo para salvar os resultados (formato JSON, out.json)(opcional) |
| Opção | Descrição |
|---|
-u, --url | URL contendo FUZZ no caminho ou consulta (ex.: /FUZZ/login) |
-w, --wordlist | Wordlist para substituir FUZZ |
-t, --threads | Número de threads a usar, padrão:10(opcional) |
-o, --output | Arquivo para salvar os resultados (formato JSON, out.json)(opcional) |