DNS

Registros DNS

REGISTRO

DESCRIÇÃO

SOA (Start of Authority)

Responsável pelo domínio. Especifica o início de autoridade para uma zona DNS

A

Endereço IPv4

AAAA (Quad-A)

Endereço IPv6

NS (Name Server)

Servidores de Nomes DNS

CNAME (Canonical Name)

Apelido / Alias. Especifica um nome canônico para um alias

MX (Mail Exchange)

Servidor de E-mail. Um domínio pode possuir vários

PTR (Pointer)

Mapeia IP para nome, sendo o inverso do Registro A

HINFO (Host Information)

Informações sobre o host (por exemplo, o seu SO). Este raramente irá ser encontrado respondendo as requisições

TXT (Text String)

Utilizado para pegar informações como SPF e também pode nos trazer o range de IP's do alvo

CAA

Autoridade de Certificados que podem emitir certificados

LOC

Exibe a localização geográfica

ANY

Especifica um endereço IP's de computador

MB

Especifica um nome de domínio de caixa de correio

MG

Especifica um membro do grupo de email

MINFO

Especifica informações da caixa de correio ou da lista de mensagens

MR

Especifica o nome de domínio de renomeação de email

UID

Especifica o identificador de usuário

UINFO

Especifica as informações do usuário

WKS

Descreve um serviço conhecido

Host

Utilizando um servidor de DNS personalizado

host <ip> <dns_server>

Realizando consultas em subdomínios para ter um resultado melhor.

host -t <registro_dns> <domain>

SPF (Sender Policy Framework)

Identificando quais servidores estão autorizados a enviar e-mails em nome do seu domínio.

host -t txt <domain>

Abaixo segue uma tabela com os possíveis resultados que podemos ter utilizando o camando acima:

SPF

DESCRIÇÃO

Sem regsitro SPF

Vulnerável a falsificação de e-mail (Mail Spoofing)

v=spfl include:servidor.com ?all

Suscetível (neutro)

v=spfl include:servidor.com ~all

É tratado como suspeito, ou seja, envia o e-mail mas geralmente este vai cair na caixa de spam

v=spfl include:servidor.com -all

Configuraçao recomendada

NsLookup

Definindo o Tipo de Resgistro

nslookup -type=<registro_dns> <domain>

Pegando Informações sobre o DMARC

nslookup -type=txt _dmarc.<domain>

Enumeração DNS Windows Server

Caso seu alvo DNS seja um Windows Server com AD (Active Directory), há boas chances de reunir várias informações. Devido ao namespace AD ser baseado em DNS, a implementação do servidor DNS da Microsoft publica seviços de domínio, como AD e Kerberos, usando o registro DNS SRV (RFC 2052), que permite a localização de servidores pelo tipo de serviço (por exemplo: LDAP, FTP ou WWW) e protocolo TCP:

nslookup
ls -d <domain>

Na saída desse comando, observe o serviço de localização Global Catalog (_gc._tcp), Kerberos (_kerberos._tpc) e LDAP (_ldap._tcp). OBS.: Com o comando dig, podemos obter resultados semelhantes.

Alterando Server Local para Server Alvo

Define servidor do tipo NS

set type=ns

Site ou IP do alvo

site.com.br

Verifica o servidor DNS local

server

Define o servidor DNS alvo como local

server <resultado_internet_address>

Verifica se o DNS agora é realmente o do alvo

server

Verifica se o host tem suporte SIP. Caso seja um servidor de DNS diferente do que está configurado em /etc/resolv.conf, adicione-o no final do comando.

nslookup -type=srv _sip._tcp.<domain.com>

DIG

Reconhecimento de Servidores de E-mail

dig -t MX <site>
# ou
dig <site> MX

OBS.: Caso queira retornar somente o necessário, adicione o parâmetro +short ou +nocomments para remover os comentários.

Reconhecimento de Servidores DNS

dig -t NS <site>
# ou
dig <site> NS

DNS Reverso

Vá no terminal e digite:

# -x = Realiza de fato a consulta reversa
# +noall = Não trás todas as informações (ignora o que não é relevante)
# +answer = Retorna quem são os servidres de autoridade
dig +nocmd +noall +answer -x <ip>

Reconhecimento de Informações Sobre Registro SOA (Start of Authority)

dig -t soa <ip>

Resolvendo nome de domínio através do IP

dig -x <ip>

Bisbilhotando Cache de DNS

Utilize essa técnica para deduzir se os clientes do servidor visitaram ou não um site específico. Caso não tenha processado uma solicitação para um host em particular, o servidor responde com a flag Answer contendo o valor 0 (zero). Uma vez que o servidor tenha processado um pedido para o nome de host, a flag Answer irá conter o valor 1:

dig @<ip_dns> <www.exemplo.com> A +norecurse

CNAME

As vezes não localizamos o CNAME do nosso domínio alvo, então as vezes é necessário colocar um www antes do domínio.

dig CNAME <domain.com>

DNSSEC

Verificando a Key ID da chave de Assinatura e os algorítmos utilizados para criar KSK e ZSK.

dig DNSKEY <domain.com> +multiline

Verificando o Registro RRSIG A

dig A <domain.com> +multiline +noadditional +dnssec

Salt usado no hash utilizado para calcular o NSEC3

dig NSEC3PARAM <domain.com>

Verificando quantos registros RRSIG existem em um determinado domínio

dig RRSIG <domain.com> +short

Enumeração de BIND (Berkeley Internet Name Domain)

O BIND é um conhecido servidor DNS para UNIX. Além de ser suscetível a transferências de zonas DNS, o BIND vem com um registro dentro da classe CHAOS, version.bind, que contém informações da instalação BIND carregadas no servidor alvo. Para realizar a enumeração, execute:

dig @<ip> version.bind txt chaos

DnsEnum

Enumeração

dnsenum --enum <site.com.br>

Corrigindo Erros

Caso receba o erro abaixo, utilize o comando sudo apt install cpanminus para corrigir:

Warning: can't load Net::Whois::IP module, whois queries disabled.
Warning: can't load WWW::Mechanize module, Google scraping desabled.

Depois execute os seguintes comandos:

tar -xzvf Net-Whois-IP-1.04.tar.gz
cd Net-Whois-IP-1.04
sudo perl Makefile.PL
sudo make
sudo make test
sudo make install

Brute Force

dnsenum -f <dicionario> -r <site>

DnsRecon

Enumerando

dnsrecon -d <domain.com> -g

Brute Force

dnsrecon -d <domain.com> -D <wordlist.txt> -t brt

Reconhecendo a rede interna do Servidor DNS

dnsrecon -r 127.0.0.0/24 -n <ip_dns_server>
dnsrecon -r <range_ip_dns_server>/24 -n <ip_dns_server>

DnsMap

Procurando Sub-domínios

dnsmap <site>

Dnscan

./dnscan.py -d <domain.com> -w <wordlist.txt>

Spoofy

python3 spoofy.py -d <domain.com> -o stdout

Sites

https://toolbox.googleapps.com/apps/main/
https://mxtoolbox.com

https://dnsdumpster.com/
https://virustotal.com

# DnScan
https://github.com/rbsec/dnscan

# Spoofy
https://github.com/MattKeeley/Spoofy

Last updated