Enumerar Registos DNS no Nmap

NmapBeginner
Pratique Agora

Introdução

Neste laboratório, você aprenderá como enumerar registros DNS usando o script dns-brute do Nmap. O objetivo é descobrir nomes de hosts e subdomínios válidos associados a um endereço IP alvo, revelando informações valiosas sobre a infraestrutura da rede alvo.

Você executará o script dns-brute contra um IP alvo, fará a varredura da porta DNS, adicionará verbosidade para obter uma saída detalhada, salvará os resultados em um arquivo, revisará os registros DNS no terminal Xfce e comparará os resultados com uma varredura UDP. Essa experiência prática fornecerá a você habilidades práticas em enumeração DNS usando o Nmap.

Executar enumeração DNS com nmap --script dns-brute 192.168.1.1

Nesta etapa, usaremos o script dns-brute do Nmap para realizar a enumeração DNS contra um endereço IP alvo. A enumeração DNS é o processo de descobrir nomes de hosts e subdomínios válidos para um determinado domínio, consultando servidores DNS. Isso pode revelar informações valiosas sobre a infraestrutura da rede alvo.

O script dns-brute funciona tentando resolver uma grande lista de nomes de subdomínios comuns contra o servidor DNS do alvo. Se um subdomínio existir, o servidor DNS retornará um endereço IP, indicando que o subdomínio é válido.

Primeiro, vamos entender o comando que usaremos:

  • nmap: Esta é a ferramenta de mapeamento de rede que estamos usando.
  • --script dns-brute: Isso informa ao Nmap para usar o script dns-brute.
  • 192.168.1.1: Este é o endereço IP alvo. Substitua-o pelo endereço IP real que você deseja escanear.

Agora, vamos executar o comando. Abra seu terminal Xfce e digite o seguinte comando:

nmap --script dns-brute 192.168.1.1

Observação: Substitua 192.168.1.1 pelo endereço IP real do alvo que você deseja escanear. Se você não tiver um alvo específico, pode usar um endereço IP local como 127.0.0.1 (localhost), mas pode não obter resultados interessantes.

A saída mostrará o Nmap tentando resolver vários nomes de subdomínios. Se algum subdomínio for encontrado, ele será exibido junto com seus respectivos endereços IP.

Exemplo de saída (a saída que você vê dependerá do alvo):

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:00 UTC
NSE: Starting dns-brute scan
NSE: DNS Brute-force hostnames: 216.58.216.142
google.com A 216.58.216.142
www.google.com A 216.58.216.142
mail.google.com A 216.58.216.142
NSE: Finished dns-brute scan
Nmap done: 1 IP address (1 host up) scanned in 5.00 seconds

Esta saída mostra que o script dns-brute encontrou os subdomínios google.com, www.google.com e mail.google.com associados ao endereço IP 216.58.216.142.

Varredura da porta DNS com nmap --script dns-brute -p 53 127.0.0.1

Nesta etapa, focaremos em escanear a porta DNS (porta 53) usando o Nmap e o script dns-brute. Ao especificar a porta, podemos direcionar nossos esforços de enumeração DNS para a porta DNS padrão, o que geralmente é mais eficiente.

Vamos detalhar o comando:

  • nmap: A ferramenta de varredura de rede.
  • --script dns-brute: Especifica o script dns-brute para enumeração DNS.
  • -p 53: Esta opção informa ao Nmap para escanear apenas a porta 53, que é a porta padrão para DNS.
  • 127.0.0.1: Este é o endereço IP alvo. Neste caso, estamos usando 127.0.0.1, que se refere à máquina local (localhost).

Agora, abra seu terminal Xfce e execute o seguinte comando:

nmap --script dns-brute -p 53 127.0.0.1

Este comando executará o script dns-brute especificamente contra a porta 53 no localhost. Como 127.0.0.1 normalmente não hospeda um servidor DNS com muitos registros, os resultados podem ser limitados. No entanto, isso demonstra como direcionar uma porta específica para enumeração DNS.

Exemplo de saída (a saída que você vê pode variar):

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:05 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000072s latency).

PORT   STATE SERVICE
53/tcp open  domain
| dns-brute:
|_  records-from-AXFR: No zone transfer allowed.

Nmap done: 1 IP address (1 host up) scanned in 2.50 seconds

Neste exemplo, o Nmap mostra que a porta 53 está aberta e executando o serviço domain (DNS). O script dns-brute tenta uma transferência de zona (AXFR), mas é negado. Esta é uma medida de segurança comum para evitar acesso não autorizado aos registros DNS.

Adicionar verbosidade com nmap -v --script dns-brute 192.168.1.1

Nesta etapa, adicionaremos verbosidade ao nosso comando Nmap. A verbosidade aumenta a quantidade de informações que o Nmap exibe durante a varredura, o que pode ser útil para entender o que o Nmap está fazendo e para solucionar quaisquer problemas.

A opção -v no Nmap habilita o modo verbose. Usar -v uma vez aumenta o nível de verbosidade. Você pode usar -vv para uma saída ainda mais detalhada.

Vamos analisar o comando que usaremos:

  • nmap: A ferramenta de varredura de rede.
  • -v: Habilita o modo verbose, fornecendo uma saída mais detalhada.
  • --script dns-brute: Especifica o script dns-brute para enumeração DNS.
  • 192.168.1.1: O endereço IP alvo. Lembre-se de substituir este pelo endereço IP real que você deseja escanear.

Agora, abra seu terminal Xfce e digite o seguinte comando:

nmap -v --script dns-brute 192.168.1.1

Observação: Substitua 192.168.1.1 pelo endereço IP real do alvo que você deseja escanear.

A saída será mais detalhada do que nas etapas anteriores. Você verá informações sobre o progresso da varredura, os scripts sendo executados e quaisquer erros ou avisos que ocorram.

Exemplo de saída (a saída que você vê dependerá do alvo e das condições da rede):

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:10 UTC
NSE: Starting dns-brute scan
NSE: Loaded 1795 records from /usr/share/nmap/nselib/data/dns-brute.lst
massdns: warning: id 4255 (inbound): query timed out
massdns: warning: id 4256 (inbound): query timed out
massdns: warning: id 4257 (inbound): query timed out
massdns: warning: id 4258 (inbound): query timed out
massdns: warning: id 4259 (inbound): query timed out
NSE: DNS Brute-force hostnames: 192.168.1.1
Nmap scan report for 192.168.1.1
Host is up (0.0020s latency).
Not shown: 999 filtered ports
PORT   STATE SERVICE
22/tcp open  ssh

NSE: Finished dns-brute scan
Nmap done: 1 IP address (1 host up) scanned in 10.00 seconds

A saída verbose mostra mais detalhes sobre a operação do script dns-brute, incluindo o número de registros carregados e quaisquer avisos encontrados durante a varredura. Isso pode ser útil para diagnosticar problemas ou entender o comportamento do script.

Salvar resultados DNS com nmap --script dns-brute -oN dns.txt 127.0.0.1

Nesta etapa, aprenderemos como salvar os resultados de nossa varredura Nmap em um arquivo. Isso é útil para análise posterior ou para fins de relatório. O Nmap oferece várias opções para salvar a saída em diferentes formatos. Aqui, usaremos o formato de saída normal (-oN).

Vamos detalhar o comando:

  • nmap: A ferramenta de varredura de rede.
  • --script dns-brute: Especifica o script dns-brute para enumeração DNS.
  • -oN dns.txt: Esta opção informa ao Nmap para salvar a saída no formato normal em um arquivo chamado dns.txt. O arquivo será salvo em seu diretório atual (~/project).
  • 127.0.0.1: O endereço IP alvo. Neste caso, estamos usando 127.0.0.1, que se refere à máquina local (localhost).

Agora, abra seu terminal Xfce e execute o seguinte comando:

nmap --script dns-brute -oN dns.txt 127.0.0.1

Após a conclusão da varredura, um arquivo chamado dns.txt será criado em seu diretório ~/project. Este arquivo conterá a saída do Nmap em um formato legível por humanos.

Para verificar se o arquivo foi criado e contém os resultados da varredura, você pode usar o comando cat para exibir o conteúdo do arquivo:

cat dns.txt

Exemplo de saída (a saída que você vê pode variar):

## Nmap 7.80 scan initiated Fri Oct 27 10:15:00 2023
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000072s latency).
PORT   STATE SERVICE
53/tcp open  domain
| dns-brute:
|_  records-from-AXFR: No zone transfer allowed.

## Nmap done at Fri Oct 27 10:15:02 2023 -- 1 IP address (1 host up) scanned in 2.50 seconds

Esta saída mostra o conteúdo do arquivo dns.txt, que inclui o relatório da varredura Nmap para localhost.

Revisar registros DNS no terminal Xfce

Nesta etapa, revisaremos os registros DNS que foram identificados nas etapas anteriores. Usaremos o comando cat para visualizar o conteúdo do arquivo dns.txt que criamos anteriormente. Isso nos permitirá examinar a saída do script dns-brute e entender quais informações foram descobertas.

Abra seu terminal Xfce e digite o seguinte comando:

cat dns.txt

Este comando exibirá o conteúdo do arquivo dns.txt em seu terminal.

A saída será semelhante a esta (a saída exata dependerá do alvo e dos resultados da enumeração DNS):

## Nmap 7.80 scan initiated Fri Oct 27 10:20:00 2023
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000072s latency).
PORT   STATE SERVICE
53/tcp open  domain
| dns-brute:
|_  records-from-AXFR: No zone transfer allowed.

## Nmap done at Fri Oct 27 10:20:02 2023 -- 1 IP address (1 host up) scanned in 2.50 seconds

Vamos analisar a saída:

  • Nmap scan report for localhost (127.0.0.1): Isso indica que a varredura foi realizada na máquina local.
  • PORT STATE SERVICE: Esta seção mostra as portas abertas no alvo.
  • 53/tcp open domain: Isso indica que a porta 53 (a porta DNS padrão) está aberta e executando o serviço de domínio.
  • dns-brute: Esta seção mostra os resultados do script dns-brute.
  • records-from-AXFR: No zone transfer allowed.: Isso indica que o alvo não permite transferências de zona, o que é uma medida de segurança para evitar acesso não autorizado às informações DNS.

Neste exemplo, o script dns-brute não encontrou nenhum registro DNS específico porque as transferências de zona não são permitidas. No entanto, se o alvo permitisse transferências de zona ou se o script dns-brute encontrasse quaisquer outros registros DNS, eles seriam listados nesta seção.

Ao revisar a saída do script dns-brute, você pode obter informações valiosas sobre a configuração DNS do alvo e identificar potenciais vulnerabilidades.

Comparar com varredura UDP no terminal Xfce

Nesta etapa, faremos uma varredura UDP na porta DNS (53) e compararemos os resultados com a varredura TCP que realizamos anteriormente. Compreender as diferenças entre as varreduras TCP e UDP é crucial para um reconhecimento de rede abrangente.

O DNS normalmente usa os protocolos TCP e UDP. O UDP é geralmente usado para consultas DNS padrão, enquanto o TCP é usado para transferências de zona ou quando o tamanho da resposta excede o limite do UDP.

Para realizar uma varredura UDP na porta 53, use o seguinte comando Nmap em seu terminal Xfce:

nmap -sU -p 53 127.0.0.1

Vamos detalhar o comando:

  • nmap: A ferramenta de varredura de rede.
  • -sU: Especifica uma varredura UDP.
  • -p 53: Especifica a porta 53 (DNS).
  • 127.0.0.1: O endereço IP alvo (localhost).

Execute o comando e observe a saída. Pode parecer algo assim:

Starting Nmap 7.80 ( https://nmap.org ) at Fri Oct 27 10:25:00 2023
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000072s latency).

PORT   STATE         SERVICE
53/udp open|filtered domain

Nmap done: 1 IP address (1 host up) scanned in 3.50 seconds

Agora, vamos comparar esta saída com a varredura TCP que realizamos anteriormente (usando --script dns-brute -p 53 127.0.0.1). Você pode consultar a saída que viu na etapa 2 ou executar novamente a varredura TCP:

nmap -sT -p 53 127.0.0.1

(Observação: -sT especifica uma varredura TCP connect, que é o padrão se nenhum tipo de varredura for especificado.)

A saída da varredura TCP pode ser semelhante a esta:

Starting Nmap 7.80 ( https://nmap.org ) at Fri Oct 27 10:26:00 2023
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000072s latency).

PORT   STATE SERVICE
53/tcp open  domain

Nmap done: 1 IP address (1 host up) scanned in 0.50 seconds

Principais diferenças a serem observadas:

  • STATE (ESTADO): A varredura UDP pode mostrar open|filtered enquanto a varredura TCP mostra open. open|filtered significa que o Nmap não pode determinar com certeza se a porta está aberta ou filtrada devido à natureza do UDP. O UDP é sem conexão, então o Nmap não recebe uma "conexão recusada" definitiva como faz com o TCP.
  • Reliability (Confiabilidade): As varreduras TCP são geralmente mais confiáveis para determinar se uma porta está aberta por causa do handshake de três vias. As varreduras UDP podem ser menos confiáveis devido à perda de pacotes e à falta de um protocolo orientado à conexão.

Em resumo, a comparação de varreduras TCP e UDP fornece uma imagem mais completa dos serviços de rede do alvo. Embora o TCP seja frequentemente preferido por sua confiabilidade, as varreduras UDP podem revelar serviços que podem não ser aparentes apenas com o TCP.

Resumo

Neste laboratório, exploramos a enumeração DNS usando o script dns-brute do Nmap. Aprendemos como descobrir nomes de host e subdomínios válidos para um determinado domínio, consultando servidores DNS. O laboratório demonstrou como executar o comando nmap --script dns-brute <target_ip> para identificar subdomínios associados a um endereço IP alvo.

Além disso, o laboratório destacou a importância de especificar o endereço IP alvo corretamente e interpretar a saída para identificar os subdomínios descobertos e seus respectivos endereços IP. Também abordamos o uso da verbosidade e o salvamento da saída em um arquivo para revisão posterior.