Introdução
Gobuster é uma ferramenta poderosa usada para brute-force de URIs (diretórios e arquivos), subdomínios DNS, buckets Amazon S3 e muito mais. No contexto de cibersegurança e testes de penetração, descobrir subdomínios é uma etapa crítica na fase de reconhecimento. Conhecer os endereços IP associados a esses subdomínios pode fornecer insights valiosos sobre a infraestrutura de rede de uma organização, ajudando a identificar potenciais vetores de ataque ou configurações incorretas.
Este laboratório irá guiá-lo através do uso do Gobuster para realizar a enumeração de subdomínios DNS. Especificamente, você aprenderá como alavancar uma flag particular para exibir os endereços IP juntamente com os subdomínios descobertos, aprimorando sua capacidade de mapear efetivamente a infraestrutura do alvo.
Executar um Scan DNS Básico com Gobuster
Nesta etapa, você realizará um scan básico de subdomínios DNS usando o Gobuster. Isso demonstrará a saída padrão de um scan DNS, que normalmente lista apenas os subdomínios descobertos sem seus endereços IP correspondentes. Usaremos example.com como nosso domínio alvo e uma wordlist comum para subdomínios.
Primeiro, certifique-se de que o Gobuster está instalado. Se não estiver, você pode instalá-lo usando sudo apt install gobuster.
Agora, execute o seguinte comando em seu terminal:
gobuster dns -d example.com -w /usr/share/wordlists/dirb/common.txt -q
gobuster dns: Especifica que queremos realizar um scan de subdomínios DNS.-d example.com: Defineexample.comcomo o domínio alvo.-w /usr/share/wordlists/dirb/common.txt: Especifica a wordlist a ser usada para brute-force de subdomínios. Esta é uma wordlist comum disponível em muitas distribuições Linux.-q: Suprime o banner e a saída de progresso, mostrando apenas os resultados.
Você verá uma lista de subdomínios encontrados para example.com. Observe que apenas os nomes dos subdomínios são exibidos.
Found: www.example.com
Found: mail.example.com
Found: ftp.example.com
Found: blog.example.com
Found: dev.example.com
Reexecutar o Scan com a Flag -i
Nesta etapa, você reexecutará o scan DNS do Gobuster, mas desta vez incluirá a flag -i. A flag -i instrui o Gobuster a exibir os endereços IP associados a cada subdomínio descoberto. Isso é crucial para obter uma visão mais completa da infraestrutura do alvo.
Execute o seguinte comando em seu terminal:
gobuster dns -d example.com -w /usr/share/wordlists/dirb/common.txt -i -q
A única diferença em relação ao comando anterior é a adição da flag -i.
Observe a saída com atenção. Agora você deverá ver os endereços IP listados ao lado de cada subdomínio descoberto.
Found: www.example.com (93.184.216.34)
Found: mail.example.com (93.184.216.34)
Found: ftp.example.com (93.184.216.34)
Found: blog.example.com (93.184.216.34)
Found: dev.example.com (93.184.216.34)
Os endereços IP mostrados aqui são para example.com, que normalmente aponta para um único IP para todos os seus subdomínios para fins de demonstração. Em um cenário do mundo real, você pode ver endereços IP diferentes para subdomínios diferentes, indicando servidores ou serviços distintos.
Comparar a Saída com e sem a Flag -i
Nesta etapa, você comparará visualmente a saída dos dois comandos Gobuster anteriores. Essa comparação destacará a diferença significativa que a flag -i faz no processo de reconhecimento.
Lembre-se da saída da Etapa 1 (sem -i):
Found: www.example.com
Found: mail.example.com
Found: ftp.example.com
Found: blog.example.com
Found: dev.example.com
E a saída da Etapa 2 (com -i):
Found: www.example.com (93.184.216.34)
Found: mail.example.com (93.184.216.34)
Found: ftp.example.com (93.184.216.34)
Found: blog.example.com (93.184.216.34)
Found: dev.example.com (93.184.216.34)
A principal diferença é a presença de (IP_ADDRESS) ao lado de cada subdomínio quando a flag -i é usada. Essa informação adicional é crucial para entender a infraestrutura subjacente. Sem os endereços IP, você conhece apenas os nomes dos subdomínios. Com eles, você sabe para onde esses subdomínios resolvem, o que pode indicar servidores específicos, serviços em nuvem ou diferentes partes de uma rede.
Essa comparação demonstra como uma flag simples pode aprimorar significativamente a utilidade de seus esforços de reconhecimento.
Identificar os Endereços IP Associados a Cada Subdomínio
Nesta etapa, você identificará e anotará especificamente os endereços IP associados aos subdomínios descobertos na etapa anterior. Embora example.com possa mostrar o mesmo IP para todos os subdomínios, em um cenário do mundo real, esta etapa envolveria a identificação de endereços IP potencialmente distintos.
Da saída do comando na Etapa 2:
Found: www.example.com (93.184.216.34)
Found: mail.example.com (93.184.216.34)
Found: ftp.example.com (93.184.216.34)
Found: blog.example.com (93.184.216.34)
Found: dev.example.com (93.184.216.34)
Você pode ver que, para example.com, todos os subdomínios listados resolvem para o endereço IP 93.184.216.34.
Em um cenário de reconhecimento real, se você estivesse escaneando um domínio diferente, poderia encontrar:
sub1.target.comresolvendo para192.168.1.10sub2.target.comresolvendo para192.168.1.11cdn.target.comresolvendo para203.0.113.50(um IP de CDN)admin.target.comresolvendo para10.0.0.5(um IP interno, se exposto)
Identificar esses IPs distintos ajuda em:
- Impressão Digital do Servidor (Server Fingerprinting): IPs diferentes podem indicar servidores, sistemas operacionais ou software de servidor web diferentes.
- Identificação de Serviços em Nuvem: IPs pertencentes a provedores de nuvem conhecidos (AWS, Azure, GCP) podem revelar o uso de serviços específicos de nuvem.
- Segmentação de Rede: Diferentes faixas de IP podem sugerir diferentes segmentos de rede ou departamentos dentro de uma organização.
Esta etapa enfatiza a importância não apenas de encontrar subdomínios, mas também de entender sua localização na rede.
Compreender Como Isso Ajuda no Mapeamento de Infraestrutura
Nesta etapa final, você entenderá as implicações mais amplas da exibição de endereços IP em resultados de varredura de DNS, particularmente como isso auxilia no mapeamento de infraestrutura durante o reconhecimento.
O mapeamento de infraestrutura é o processo de criação de um diagrama detalhado ou de uma compreensão da rede e dos sistemas de um alvo. Ao combinar a enumeração de subdomínios com a resolução de endereços IP, você obtém várias vantagens:
- Identificação de Provedores de Hospedagem: Diferentes faixas de IP geralmente pertencem a diferentes provedores de hospedagem (por exemplo, AWS, Google Cloud, DigitalOcean). Saber disso pode ajudá-lo a entender onde diferentes partes da infraestrutura de uma organização estão hospedadas.
- Descoberta de Serviços Ocultos: Às vezes, subdomínios podem apontar para serviços internos ou menos conhecidos que não estão diretamente vinculados do site principal. A resolução de seus IPs pode revelar se eles estão no mesmo servidor, em um servidor diferente ou até mesmo em um segmento de rede diferente.
- Identificação de Superfícies de Ataque: Se vários subdomínios resolverem para o mesmo IP, isso pode indicar um único servidor hospedando vários serviços, potencialmente consolidando vetores de ataque. Por outro lado, IPs distintos sugerem serviços distribuídos, cada um com suas próprias vulnerabilidades potenciais.
- Contornando WAFs/CDNs: Se um domínio principal estiver atrás de um Web Application Firewall (WAF) ou Content Delivery Network (CDN), encontrar subdomínios que resolvem para o IP de origem (o IP real do servidor) pode permitir que você contorne o WAF/CDN e interaja diretamente com o servidor.
- Análise de Segmentação de Rede: Diferentes blocos de endereços IP podem indicar diferentes departamentos, localizações geográficas ou segmentos de rede dentro de uma organização. Isso ajuda a entender a estrutura da rede interna do alvo.
Ao usar a flag -i com o Gobuster, você transforma uma simples lista de subdomínios em uma valiosa inteligência de infraestrutura, aprimorando significativamente suas capacidades de reconhecimento. Essas informações são críticas para o planejamento de etapas subsequentes de testes de penetração, como varredura de portas, análise de vulnerabilidades e ataques direcionados.
Resumo
Neste laboratório, você aprendeu a usar o Gobuster de forma eficaz para enumeração de subdomínios DNS e, mais importante, como exibir os endereços IP associados a cada subdomínio descoberto. Você começou realizando uma varredura DNS básica com o Gobuster, observou sua saída padrão e, em seguida, executou a varredura novamente com a flag -i para incluir endereços IP. Através da comparação, você compreendeu a diferença crítica que essa flag faz. Finalmente, você explorou como a identificação desses endereços IP é fundamental para o mapeamento abrangente de infraestrutura e reconhecimento em cibersegurança. Essa habilidade é inestimável para obter insights mais profundos sobre o cenário de rede de um alvo e identificar potenciais superfícies de ataque.
