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
Was this helpful?