> For the complete documentation index, see [llms.txt](https://hacking-notes.jord4n.pro/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://hacking-notes.jord4n.pro/pt-br/reconnaissance/subdomains.md).

# Subdomínios

Técnicas de enumeração de subdomínios para descobrir registros DNS públicos, entradas de transparência de certificados, hosts indexados e infraestrutura exposta.

A enumeração de subdomínios expande a superfície de ataque do alvo ao descobrir hosts públicos, registros DNS, hosts virtuais, entradas de transparência de certificados e infraestrutura indexada.

{% hint style="info" %}
Existem várias técnicas para descobrir os subdomínios associados a um site. Essas técnicas podem ser realizadas usando ferramentas online ou diretamente do console, e variam de acordo com os objetivos e os recursos disponíveis. Aqui estão várias ferramentas que você pode usar para essa tarefa, com comandos de exemplo detalhados.
{% endhint %}

## Gobuster:

> O Gobuster é uma ferramenta muito popular para descobrir subdomínios rapidamente, realizando consultas DNS em um site. Ele usa uma lista de palavras para testar diferentes combinações de subdomínios. Aqui está um exemplo de uso na linha de comando:

```bash
gobuster vhost -u https://website.com --append-domain -w /usr/share/SecLists/Discovery/DNS/subdomains-top1million-110000.txt -t 100
```

* **-u**: Especifica a URL do site-alvo.
* **-w**: Define o caminho do arquivo de palavras a ser usado para testar subdomínios.
* **-t**: Define o número de threads (neste caso, 100), o que aumenta a velocidade da busca.
* /| grep -v "403": ignora respostas HTTP 403.

<figure><img src="https://783634792-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-35ae065696aabc65359688f6e6e94e5871227cc4%2Fimage%20(1081).png?alt=media" alt=""><figcaption></figcaption></figure>

## Wfuzz:

> O Wfuzz é outra ferramenta de fuzzing que permite testar diferentes subdomínios explorando respostas HTTP. Para pesquisar subdomínios, use o seguinte comando:

```bash
wfuzz -c -t 100 -w /usr/share/SecLists/Discovery/DNS/subdomains-top1million-5000.txt -H "Host: FUZZ.website.com" https://website.com
```

* **-c**: ativa o modo colorido para melhorar a legibilidade dos resultados.
* **-t 20**: define o número de threads simultâneas (aqui, 20) para acelerar o processo.
* **-H "Host: FUZZ.website.com"**: substitua "FUZZ" por cada valor da lista para testar possíveis subdomínios.
* **--hc=404**: ignora respostas HTTP 404.

<figure><img src="https://783634792-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-eebcd6339da3c4d77f53017f997f2b0fe5c2dc27%2Fimage%20(1082).png?alt=media" alt=""><figcaption></figcaption></figure>

## **Sublist3r**

> O Sublist3r é uma ferramenta em Python projetada para enumerar subdomínios de sites usando OSINT. Ele usa vários mecanismos de busca, como Google, Yahoo, Bing, Baidu e Ask, além de outras fontes como Netcraft, Virustotal, ThreatCrowd, DNSdumpster e ReverseDNS1.

* **Sublist3r**: Ferramenta para enumerar subdomínios, por exemplo:/ `sublist3r -d website.com`

<figure><img src="https://783634792-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-74b9ebd3455982b3108fdf563b52aa41f2a0495a%2Fimage%20(622).png?alt=media" alt="" width="518"><figcaption></figcaption></figure>

## Google Dorks:

> Google Dorks são consultas especiais que permitem usar o Google para encontrar informações específicas. Para descobrir os subdomínios de um site, você pode usar a seguinte consulta:

```makefile
site:*.website.com
```

Este comando exibirá todos os subdomínios indexados de **website.com** usando o índice do Google. Essa técnica é particularmente útil para obter rapidamente uma lista de subdomínios publicamente acessíveis.

<figure><img src="https://783634792-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-66a3006559b5e06f03ac149bd65ce1b759901838%2F%7BAA38A940-2299-4F46-B65F-FC7056F8DA2A%7D.png?alt=media" alt=""><figcaption></figcaption></figure>

## DNSDumpster:

> [DNSDumpster ](https://dnsdumpster.com/)é uma ferramenta online gratuita usada para coletar informações sobre o Sistema de Nomes de Domínio (DNS) de um site. Ela é particularmente útil em testes de penetração (pentesting) para obter informações sobre a infraestrutura de rede de uma organização. Usando o DNSDumpster, você pode acessar detalhes dos registros DNS públicos de um domínio e descobrir componentes-chave da infraestrutura, como:

* Os servidores.
* Os subdomínios.
* Os endereços IP associados.
* Outros serviços de rede.

<figure><img src="https://783634792-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-b585c9b58fb1efc68c6c0ad43a8b11c0ce534d9f%2F%7BDBF2DD2D-392C-4C3E-AAD8-6F31141AFD5F%7D.png?alt=media" alt=""><figcaption></figcaption></figure>

## Enumeração Passiva de Domínio

Use primeiro fontes passivas para coletar subdomínios candidatos sem tocar diretamente na infraestrutura do alvo. Substitua `target.com` pelo domínio autorizado.

```bash
export TARGET="target.com"
```

### Transparência de Certificados

Consulta `crt.sh` e revise a saída JSON bruta:

```bash
curl -s "https://crt.sh/?q=${TARGET}&output=json" | jq .
```

Extraia hostnames únicos dos resultados de transparência de certificados:

```bash
curl -s "https://crt.sh/?q=${TARGET}&output=json" \
  | jq -r '.[] | .name_value, .common_name' \
  | sed 's/\*\.//g' \
  | sort -u
```

### Project Sonar

Colete subdomínios, TLDs relacionados e resultados de DNS reverso de conjuntos de dados públicos no estilo do Project Sonar:

```bash
curl -s "https://sonar.omnisint.io/subdomains/${TARGET}" | jq -r '.[]' | sort -u
curl -s "https://sonar.omnisint.io/tlds/${TARGET}" | jq -r '.[]' | sort -u
curl -s "https://sonar.omnisint.io/all/${TARGET}" | jq -r '.[]' | sort -u
```

Consulta reversa de DNS para um IP ou um intervalo CIDR:

```bash
curl -s "https://sonar.omnisint.io/reverse/192.0.2.10" | jq -r '.[]' | sort -u
curl -s "https://sonar.omnisint.io/reverse/192.0.2.0/24" | jq -r '.[]' | sort -u
```

### Coleta de Múltiplas Fontes

Execute `theHarvester` em várias fontes configuradas:

```bash
while read -r source; do
  theHarvester -d "${TARGET}" -b "$source" -f "${source}-${TARGET}"
done < sources.txt
```

### Resolver Subdomínios em IPs

Converta os subdomínios confirmados em uma lista única de IPs:

```bash
while read -r subdomain; do
  host "$subdomain" | awk '/has address/ {print $4}'
done < subdomains.txt | sort -u > ip-addresses.txt
```

### Enriquecer IPs com Shodan

Use o Shodan para revisar os serviços expostos de cada endereço IP resolvido:

```bash
while read -r ip; do
  shodan host "$ip"
done < ip-addresses.txt
```

## Recursos Adicionais de OSINT

O Phonebook e outros recursos públicos de OSINT estão centralizados em [Pesquisa de Pessoas e Vazamentos](/pt-br/hacking-tools/osint/people-and-breach-research.md). A infraestrutura de sites, o Shodan e os recursos de URLs arquivadas estão centralizados em [Sites e Infraestrutura](/pt-br/hacking-tools/osint/websites-and-infrastructure.md).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://hacking-notes.jord4n.pro/pt-br/reconnaissance/subdomains.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
