
Ferramenta passiva de descoberta de subdomínios que agrega resultados de múltiplas fontes online via CLI, suportando stdin/stdout, saída JSONL e configuração de chave de API para fluxos de trabalho automatizados de reconhecimento.
xsubfind3r é um utilitário de linha de comando projetado para descobrir subdomínios de um determinado domínio de forma simples e eficiente. Ele funciona coletando informações de várias fontes passivas, ou seja, não interage diretamente com o alvo, mas sim reúne dados já disponíveis publicamente. Isso torna xsubfind3r uma ferramenta poderosa para pesquisadores de segurança, profissionais de TI e qualquer pessoa que queira obter insights sobre os subdomínios associados a um domínio.
stdin e stdout para fácil integração em fluxos de trabalho automatizadosVisite a página de versões e encontre o arquivo apropriado para seu sistema operacional e arquitetura. Baixe o arquivo pelo seu navegador ou copie o URL e recupere-o com wget ou curl:
... com wget:
wget https://github.com/hueristiq/xsubfind3r/releases/download/v<version>/xsubfind3r-<version>-linux-amd64.tar.gz
... ou, com curl:
curl -OL https://github.com/hueristiq/xsubfind3r/releases/download/v<version>/xsubfind3r-<version>-linux-amd64.tar.gz
... em seguida, extraia o binário:
tar xf xsubfind3r-<version>-linux-amd64.tar.gz
[!TIP] Os passos acima, download e extração, podem ser combinados em um único passo com este comando:
curl -sL https://github.com/hueristiq/xsubfind3r/releases/download/v<version>/xsubfind3r-<version>-linux-amd64.tar.gz | tar -xzv
[!NOTE] Em sistemas Windows, você deve conseguir clicar duas vezes no arquivo zip para extrair o executável
xsubfind3r.
... mova o binário xsubfind3r para algum lugar no seu PATH. Por exemplo, em sistemas GNU/Linux e OS X:
sudo mv xsubfind3r /usr/local/bin/
[!NOTE] Usuários do Windows podem seguir Como: Adicionar Locais de Ferramentas à Variável de Ambiente PATH para adicionar
xsubfind3rao seuPATH.
Antes de instalar a partir do código fonte, certifique-se de que o Go esteja instalado no seu sistema. Você pode instalar o Go seguindo as instruções oficiais para seu sistema operacional. Para isso, assumiremos que o Go já está instalado.
go install -v github.com/hueristiq/xsubfind3r/cmd/xsubfind3r@latest
Clone o repositório
git clone https://github.com/hueristiq/xsubfind3r.git
Compile o utilitário
cd xsubfind3r/cmd/xsubfind3r && \
go build .
Mova o binário xsubfind3r para algum lugar no seu PATH. Por exemplo, em sistemas GNU/Linux e OS X:
sudo mv xsubfind3r /usr/local/bin/
Usuários do Windows podem seguir Como: Adicionar Locais de Ferramentas à Variável de Ambiente PATH para adicionar xsubfind3r ao seu PATH.
[!CAUTION] Embora a versão de desenvolvimento seja uma boa maneira de dar uma olhada nas funcionalidades mais recentes do
xsubfind3rantes de serem lançadas, esteja ciente de que pode conter bugs. As versões oficialmente lançadas geralmente serão mais estáveis.
Se você tem o Docker instalado, pode usar xsubfind3r através de sua imagem:
Baixe a imagem Docker usando:
docker pull hueristiq/xsubfind3r:latest
Execute xsubfind3r usando a imagem:
docker run --rm hueristiq/xsubfind3r:latest -h
xsubfind3r funcionará logo após a instalação. No entanto, algumas fontes exigem chaves de API para funcionar. Essas chaves podem ser adicionadas a um arquivo de configuração em $HOME/.config/xsubfind3r/config.yaml, criado na primeira execução, ou definidas como variáveis de ambiente.
Exemplo de variáveis de ambiente para chaves de API:
XSUBFIND3R_KEYS_BEVIGIL=your_bevigil_key
XSUBFIND3R_KEYS_CENSYS=your_censys_key
Para começar a usar xsubfind3r, abra seu terminal e execute o seguinte comando para obter uma lista de opções:
xsubfind3r -h
Aqui está a aparência da mensagem de ajuda:
_ __ _ _ _____
__ _____ _ _| |__ / _(_)_ __ __| |___ / _ __
\ \/ / __| | | | '_ \| |_| | '_ \ / _` | |_ \| '__|
> <\__ \ |_| | |_) | _| | | | | (_| |___) | |
/_/\_\___/\__,_|_.__/|_| |_|_| |_|\__,_|____/|_|
v1.2.0
USAGE:
xsubfind3r [OPTIONS]
CONFIGURATION:
-c, --configuration string (default: $HOME/.config/xsubfind3r/config.yaml)
INPUT:
-d, --domain string[] target domain
-l, --list string target domains file path
For multiple domains, use comma(,) separated value with `--domain`,
specify multiple `--domains`, load from file with `--list` or load from stdin.
SOURCES:
--sources bool list supported sources
-u, --sources-to-use string[] comma(,) separated sources to use
-e, --sources-to-exclude string[] comma(,) separated sources to exclude
OUTPUT:
--jsonl bool output in JSONL(ines)
-o, --output string output write file path
-O, --output-directory string output write directory path
-m, --monochrome bool stdout in monochrome
-s, --silent bool stdout in silent mode
-v, --verbose bool stdout in verbose mode
Contribuições são bem-vindas e encorajadas! Sinta-se à vontade para enviar Pull Requests ou reportar Issues. Para mais detalhes, consulte as diretrizes de contribuição.
Um grande obrigado a todos os contribuidores pelo apoio contínuo!
Este pacote está licenciado sob a licença MIT. Você é livre para usar, modificar e distribuí-lo, desde que siga os termos da licença. O texto completo da licença pode ser encontrado no repositório - Texto completo da licença MIT.