hacktricks/network-services-pentesting/pentesting-dns.md

439 lines
33 KiB
Markdown
Raw Normal View History

2022-10-02 19:15:35 +00:00
# 53 - Pentesting DNS
2022-04-28 16:01:33 +00:00
<details>
2023-04-25 18:35:28 +00:00
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
2022-04-28 16:01:33 +00:00
* Você trabalha em uma **empresa de cibersegurança**? Você quer ver sua **empresa anunciada no HackTricks**? ou você quer ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
2023-06-06 18:56:34 +00:00
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
* **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-me** no **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe seus truques de hacking enviando PRs para o** [**repositório hacktricks**](https://github.com/carlospolop/hacktricks) **e** [**repositório hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
2022-04-28 16:01:33 +00:00
</details>
<figure><img src="../.gitbook/assets/image (1) (1) (2) (4).png" alt=""><figcaption></figcaption></figure>
[**DragonJAR Security Conference é um evento internacional de cibersegurança**](https://www.dragonjarcon.org/) com mais de uma década que será realizado nos dias 7 e 8 de setembro de 2023 em Bogotá, Colômbia. É um evento de alto conteúdo técnico onde são apresentadas as últimas pesquisas em espanhol que atraem hackers e pesquisadores de todo o mundo.\
2023-06-06 18:56:34 +00:00
Registre-se agora no link abaixo e não perca esta grande conferência!:
{% embed url="https://www.dragonjarcon.org/" %}
## **Informações básicas**
O Sistema de Nomes de Domínio (DNS) é a lista telefônica da Internet. Os seres humanos acessam informações online por meio de nomes de domínio, como nytimes.com ou espn.com. Os navegadores da web interagem por meio de endereços de Protocolo de Internet (IP). O DNS traduz nomes de domínio em [endereços IP](https://www.cloudflare.com/learning/dns/glossary/what-is-my-ip-address/) para que os navegadores possam carregar recursos da Internet.\
De [aqui](https://www.cloudflare.com/learning/dns/what-is-dns/).
2023-06-06 18:56:34 +00:00
**Porta padrão:** 53
```
PORT STATE SERVICE REASON
53/tcp open domain Microsoft DNS 6.1.7601 (1DB15D39) (Windows Server 2008 R2 SP1)
5353/udp open zeroconf udp-response
53/udp open domain Microsoft DNS 6.1.7601 (1DB15D39) (Windows Server 2008 R2 SP1)
```
2023-06-06 18:56:34 +00:00
### Diferentes Servidores DNS
Informações de [https://academy.hackthebox.com/module/112/section/1069](https://academy.hackthebox.com/module/112/section/1069)
2023-06-06 18:56:34 +00:00
| **Tipo de Servidor** | **Descrição** |
2022-10-02 19:15:35 +00:00
| ------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `Servidor Raiz DNS` | Os servidores raiz do DNS são responsáveis pelos domínios de nível superior (`TLD`). Como última instância, eles só são solicitados se o servidor de nomes não responder. Assim, um servidor raiz é uma interface central entre os usuários e o conteúdo na Internet, pois ele vincula domínio e endereço IP. A [Corporação da Internet para Atribuição de Nomes e Números](https://www.icann.org/) (`ICANN`) coordena o trabalho dos servidores de nomes raiz. Existem `13` desses servidores raiz ao redor do mundo. |
| `Servidor de Nomes Autoritativo`| Servidores de nomes autoritativos possuem autoridade sobre uma zona específica. Eles respondem apenas a consultas de sua área de responsabilidade, e suas informações são vinculativas. Se um servidor de nomes autoritativo não puder responder a uma consulta do cliente, o servidor de nomes raiz assume nesse ponto. |
2023-06-06 18:56:34 +00:00
| `Servidor de Nomes Não Autoritativo` | Servidores de nomes não autoritativos não são responsáveis por uma zona DNS específica. Em vez disso, eles coletam informações sobre zonas DNS específicas por conta própria, o que é feito usando consultas DNS recursivas ou iterativas. |
| `Servidor DNS em Cache` | Servidores DNS em cache armazenam em cache informações de outros servidores de nomes por um período especificado. O servidor de nomes autoritativo determina a duração desse armazenamento. |
2023-06-06 18:56:34 +00:00
| `Servidor de Encaminhamento` | Servidores de encaminhamento executam apenas uma função: eles encaminham consultas DNS para outro servidor DNS. |
| `Resolvedor` | Resolvedores não são servidores DNS autoritativos, mas realizam a resolução de nomes localmente no computador ou roteador. |
2022-10-02 19:15:35 +00:00
2023-06-06 18:56:34 +00:00
## Enumeração
2022-10-02 19:15:35 +00:00
### **Banner Grabbing**
O DNS não possui um "banner" para ser obtido. O equivalente mais próximo é uma consulta mágica para `version.bind. CHAOS TXT`, que funcionará na maioria dos servidores BIND.\
Você pode realizar essa consulta usando o `dig`:
```bash
dig version.bind CHAOS TXT @DNS
```
Se isso não funcionar, você pode usar técnicas de fingerprinting para determinar a versão do servidor remoto - a ferramenta [`fpdns`](https://github.com/kirei/fpdns) é uma opção para isso, mas existem outras.
2023-06-06 18:56:34 +00:00
Você também pode obter o banner com um script do **nmap**:
```
--script dns-nsid
```
2023-06-06 18:56:34 +00:00
### **Qualquer registro**
2023-06-06 18:56:34 +00:00
O registro **ANY** solicitará ao servidor DNS que **retorne** todas as **entradas** disponíveis que **ele está disposto a divulgar**.
2022-10-02 19:15:35 +00:00
```bash
dig any victim.com @<DNS_IP>
```
2023-06-06 18:56:34 +00:00
### **Transferência de Zona**
2022-10-02 19:15:35 +00:00
2023-06-06 18:56:34 +00:00
Este procedimento é abreviado como `Transferência de Zona Completa Assíncrona` (`AXFR`).
```bash
dig axfr @<DNS_IP> #Try zone transfer without domain
dig axfr @<DNS_IP> <DOMAIN> #Try zone transfer guessing the domain
2021-06-20 12:09:34 +00:00
fierce --domain <DOMAIN> --dns-servers <DNS_IP> #Will try toperform a zone transfer against every authoritative name server and if this doesn'twork, will launch a dictionary attack
```
### Mais informações
```bash
dig ANY @<DNS_IP> <DOMAIN> #Any information
dig A @<DNS_IP> <DOMAIN> #Regular DNS request
dig AAAA @<DNS_IP> <DOMAIN> #IPv6 DNS request
dig TXT @<DNS_IP> <DOMAIN> #Information
dig MX @<DNS_IP> <DOMAIN> #Emails related
dig NS @<DNS_IP> <DOMAIN> #DNS that resolves that name
dig -x 192.168.0.2 @<DNS_IP> #Reverse lookup
dig -x 2a00:1450:400c:c06::93 @<DNS_IP> #reverse IPv6 lookup
#Use [-p PORT] or -6 (to use ivp6 address of dns)
```
#### Automação
Automating tasks is a crucial aspect of DNS pentesting. It allows you to efficiently perform repetitive tasks and save time. There are various tools and scripts available that can help you automate different aspects of DNS pentesting.
##### Enumeration
Enumeration is an important phase in DNS pentesting, and automating this process can be very beneficial. Tools like `dnsenum`, `dnsrecon`, and `fierce` can be used to automate DNS enumeration. These tools can help you gather information about DNS servers, subdomains, and other DNS records.
##### Zone Transfer
Automating zone transfer can help you quickly identify misconfigured DNS servers that allow zone transfers. Tools like `dnsrecon` and `axfr` can be used to automate zone transfer testing. These tools attempt to transfer the entire DNS zone from the target server and provide you with the results.
##### Brute-Forcing
Brute-forcing DNS subdomains can be a time-consuming task if done manually. However, automating this process can significantly speed up the enumeration of subdomains. Tools like `dnsenum`, `dnsrecon`, and `sublist3r` can be used to automate DNS brute-forcing.
##### DNS Cache Poisoning
Automating DNS cache poisoning attacks can help you identify vulnerable DNS servers. Tools like `dnsspooq` and `mitm6` can be used to automate DNS cache poisoning attacks. These tools exploit vulnerabilities in DNS implementations to poison the DNS cache and redirect traffic.
##### DNS Tunneling
DNS tunneling can be used to bypass firewalls and exfiltrate data from a target network. Automating DNS tunneling can help you establish covert communication channels. Tools like `iodine` and `dnscat2` can be used to automate DNS tunneling.
##### DNS Rebinding
Automating DNS rebinding attacks can help you bypass network security measures and gain unauthorized access to internal resources. Tools like `singularity` and `rebind` can be used to automate DNS rebinding attacks. These tools exploit vulnerabilities in DNS implementations to establish a two-way communication channel with the target network.
Automating these tasks can greatly enhance your efficiency and effectiveness in DNS pentesting. However, it is important to use these tools responsibly and with proper authorization.
```bash
for sub in $(cat <WORDLIST>);do dig $sub.<DOMAIN> @<DNS_IP> | grep -v ';\|SOA' | sed -r '/^\s*$/d' | grep $sub | tee -a subdomains.txt;done
dnsenum --dnsserver <DNS_IP> --enum -p 0 -s 0 -o subdomains.txt -f <WORDLIST> <DOMAIN>
```
2023-06-06 18:56:34 +00:00
#### Usando nslookup
O comando `nslookup` é uma ferramenta de linha de comando usada para consultar servidores de nomes de domínio (DNS) e obter informações sobre registros DNS. Ele pode ser usado para verificar a resolução de nomes de domínio, encontrar o endereço IP associado a um nome de domínio e obter informações sobre registros DNS específicos, como registros MX, registros de alias (CNAME) e registros de serviço (SRV).
A sintaxe básica do comando `nslookup` é a seguinte:
```
nslookup <nome_do_domínio>
```
Isso retornará o endereço IP associado ao nome de domínio especificado. Você também pode usar o comando `nslookup` para consultar servidores de nomes de domínio específicos, especificando o servidor de nomes como um argumento adicional:
```
nslookup <nome_do_domínio> <servidor_de_nomes>
```
Isso enviará a consulta para o servidor de nomes especificado em vez de usar o servidor de nomes padrão configurado no sistema.
O comando `nslookup` também suporta várias opções que podem ser usadas para personalizar a consulta. Alguns exemplos de opções comuns incluem:
- `-type=<tipo_de_registro>`: Especifica o tipo de registro DNS a ser consultado, como A, MX, CNAME, etc.
- `-querytype=<tipo_de_registro>`: Uma opção alternativa para especificar o tipo de registro DNS a ser consultado.
- `-debug`: Ativa o modo de depuração, exibindo informações detalhadas sobre a consulta e a resposta do servidor de nomes.
Para obter uma lista completa de opções suportadas pelo comando `nslookup`, consulte a documentação do seu sistema operacional ou execute `nslookup -h` para exibir a ajuda do comando.
```bash
nslookup
> SERVER <IP_DNS> #Select dns server
> 127.0.0.1 #Reverse lookup of 127.0.0.1, maybe...
> <IP_MACHINE> #Reverse lookup of a machine, maybe...
```
### Módulos úteis do metasploit
Metasploit é uma poderosa ferramenta de teste de penetração que oferece uma ampla gama de módulos para explorar vulnerabilidades em sistemas de rede. Aqui estão alguns módulos úteis do Metasploit que podem ser usados durante um teste de penetração em serviços DNS:
- **auxiliary/scanner/dns/dns_cache_snoop**: Este módulo permite verificar o cache DNS de um servidor para obter informações sobre os registros armazenados em cache. Isso pode ser útil para identificar informações sensíveis que podem ser exploradas posteriormente.
- **auxiliary/scanner/dns/dns_enum**: Este módulo realiza uma enumeração de DNS para descobrir informações sobre um domínio, como registros de host, registros MX e registros NS. Isso pode ajudar a identificar possíveis pontos de entrada para ataques.
- **auxiliary/scanner/dns/dns_forward_lookup**: Este módulo realiza uma pesquisa de DNS para obter informações sobre um domínio ou um conjunto de domínios. Ele pode ser usado para verificar a existência de registros DNS específicos.
- **auxiliary/scanner/dns/dns_reverse_lookup**: Este módulo realiza uma pesquisa de DNS reversa para obter informações sobre um endereço IP. Isso pode ser útil para identificar os domínios associados a um determinado endereço IP.
- **auxiliary/scanner/dns/dns_srv_enum**: Este módulo realiza uma enumeração de DNS para descobrir informações sobre serviços específicos disponíveis em um domínio. Isso pode ajudar a identificar serviços vulneráveis que podem ser explorados.
Esses são apenas alguns exemplos de módulos úteis do Metasploit para testes de penetração em serviços DNS. O Metasploit oferece uma ampla gama de módulos adicionais que podem ser explorados para identificar e explorar vulnerabilidades em sistemas de rede.
```bash
auxiliary/gather/enum_dns #Perform enumeration actions
```
### Scripts nmap úteis
Nmap é uma ferramenta de varredura de rede amplamente utilizada para descobrir hosts e serviços em uma rede. Ele possui uma ampla gama de scripts embutidos que podem ser usados para testar a segurança de serviços específicos. Aqui estão alguns scripts nmap úteis para testes de penetração em serviços DNS:
- **dns-brute.nse**: Este script realiza uma busca de subdomínios usando uma lista de palavras-chave comuns. Ele pode ajudar a identificar subdomínios não autorizados ou mal configurados.
- **dns-cache-snoop.nse**: Este script verifica se um servidor DNS está vulnerável a ataques de cache snooping. Ele pode revelar informações confidenciais, como registros DNS armazenados em cache.
- **dns-zone-transfer.nse**: Este script verifica se um servidor DNS permite transferências de zona não autorizadas. Isso pode levar à divulgação de informações confidenciais sobre a infraestrutura de DNS.
- **dns-recursion.nse**: Este script verifica se um servidor DNS está configurado para permitir consultas recursivas. Isso pode ser explorado para realizar ataques de amplificação de DNS.
- **dns-update.nse**: Este script verifica se um servidor DNS está configurado para permitir atualizações dinâmicas. Isso pode ser explorado para realizar ataques de envenenamento de cache DNS.
Esses scripts podem ser executados usando o seguinte comando:
```
nmap -p 53 --script <nome_do_script> <alvo>
```
Substitua `<nome_do_script>` pelo nome do script desejado e `<alvo>` pelo endereço IP ou nome de domínio do servidor DNS que você deseja testar.
```bash
#Perform enumeration actions
nmap -n --script "(default and *dns*) or fcrdns or dns-srv-enum or dns-random-txid or dns-random-srcport" <IP>
```
### DNS - Reverse BF
O DNS (Domain Name System) é um serviço fundamental na infraestrutura da Internet que traduz nomes de domínio legíveis por humanos em endereços IP. No entanto, o DNS também pode ser explorado por hackers para obter informações valiosas sobre uma rede.
Uma técnica comum usada em testes de penetração é o Reverse BF (Brute Force), que envolve a enumeração de registros DNS reversos para descobrir informações sobre os sistemas e serviços em uma rede. Essa técnica é particularmente útil quando se deseja identificar hosts ocultos ou serviços mal configurados.
O Reverse BF começa com a identificação do intervalo de endereços IP da rede-alvo. Em seguida, o testador de penetração usa uma ferramenta automatizada para realizar uma varredura de DNS reverso nesse intervalo de endereços IP. A ferramenta tentará resolver cada endereço IP reverso em um nome de domínio legível por humanos.
Ao analisar os resultados da varredura, o testador de penetração pode identificar hosts adicionais que não foram divulgados anteriormente. Essas informações podem ser usadas para planejar ataques direcionados ou explorar vulnerabilidades específicas.
É importante ressaltar que o Reverse BF deve ser realizado apenas em sistemas e redes autorizados, como parte de um teste de penetração ético. O uso indevido dessa técnica pode ser considerado ilegal e resultar em consequências legais graves.
```bash
dnsrecon -r 127.0.0.0/24 -n <IP_DNS> #DNS reverse of all of the addresses
dnsrecon -r 127.0.1.0/24 -n <IP_DNS> #DNS reverse of all of the addresses
dnsrecon -r <IP_DNS>/24 -n <IP_DNS> #DNS reverse of all of the addresses
dnsrecon -d active.htb -a -n <IP_DNS> #Zone transfer
```
2021-04-02 19:21:43 +00:00
{% hint style="info" %}
Se você conseguir encontrar subdomínios que resolvem para endereços IP internos, você deve tentar realizar um reverse dns BF para os NSs do domínio solicitando essa faixa de IP.
2021-04-02 19:21:43 +00:00
{% endhint %}
2023-06-06 18:56:34 +00:00
Outra ferramenta para fazer isso: [https://github.com/amine7536/reverse-scan](https://github.com/amine7536/reverse-scan)
Você pode consultar faixas de IP reversas em [https://bgp.he.net/net/205.166.76.0/24#\_dns](https://bgp.he.net/net/205.166.76.0/24#\_dns) (essa ferramenta também é útil com BGP).
2022-10-02 19:15:35 +00:00
### DNS - Subdomains BF
```bash
2022-10-02 19:15:35 +00:00
dnsenum --dnsserver <IP_DNS> --enum -p 0 -s 0 -o subdomains.txt -f subdomains-1000.txt <DOMAIN>
dnsrecon -D subdomains-1000.txt -d <DOMAIN> -n <IP_DNS>
dnscan -d <domain> -r -w subdomains-1000.txt #Bruteforce subdomains in recursive way, https://github.com/rbsec/dnscan
```
### Servidores do Active Directory
Active Directory (AD) é um serviço de diretório desenvolvido pela Microsoft que armazena informações sobre objetos de rede, como usuários, grupos, computadores e recursos compartilhados. Durante um teste de penetração, é importante identificar e avaliar os servidores do Active Directory para encontrar possíveis vulnerabilidades e explorá-las.
Existem várias técnicas que podem ser usadas para pentestar servidores do Active Directory, incluindo:
- Enumeração de usuários: Identificar os usuários registrados no domínio do Active Directory é um passo importante para entender a estrutura e a segurança do ambiente. Isso pode ser feito usando ferramentas como o "enum4linux" ou o "ldapsearch".
- Enumeração de grupos: Além dos usuários, é importante identificar os grupos existentes no domínio do Active Directory. Isso pode fornecer informações sobre as permissões e os privilégios concedidos aos usuários. Ferramentas como o "enum4linux" ou o "ldapsearch" também podem ser usadas para essa finalidade.
- Enumeração de serviços: Identificar os serviços em execução nos servidores do Active Directory é crucial para entender a superfície de ataque. Isso pode ser feito usando ferramentas como o "nmap" ou o "enum4linux".
- Enumeração de políticas de grupo: As políticas de grupo são usadas para definir configurações de segurança em um domínio do Active Directory. Enumerar essas políticas pode fornecer informações valiosas sobre as configurações de segurança implementadas. Ferramentas como o "gpresult" ou o "Grouper2" podem ser usadas para essa finalidade.
- Exploração de vulnerabilidades conhecidas: Uma vez identificados os servidores do Active Directory e suas configurações, é possível explorar vulnerabilidades conhecidas para obter acesso não autorizado ou elevar privilégios. Isso pode ser feito usando ferramentas como o "Metasploit" ou o "Empire".
É importante lembrar que todas as atividades de pentest devem ser realizadas com permissão e dentro dos limites legais.
```bash
dig -t _gc._tcp.lab.domain.com
dig -t _ldap._tcp.lab.domain.com
dig -t _kerberos._tcp.lab.domain.com
dig -t _kpasswd._tcp.lab.domain.com
nslookup -type=srv _kerberos._tcp.<CLIENT_DOMAIN>
nslookup -type=srv _kerberos._tcp.domain.com
nmap --script dns-srv-enum --script-args "dns-srv-enum.domain='domain.com'"
```
2022-10-02 19:15:35 +00:00
### DNSSec
DNSSec (Domain Name System Security Extensions) é uma extensão de segurança para o protocolo DNS que visa proteger as consultas DNS contra ataques de envenenamento de cache e falsificação de resposta. O DNSSec utiliza criptografia de chave pública para garantir a autenticidade e integridade dos registros DNS.
O objetivo principal do DNSSec é evitar ataques como o envenenamento de cache, onde um invasor falsifica uma resposta DNS para redirecionar os usuários para um site malicioso. Com o DNSSec, os registros DNS são assinados digitalmente pelo servidor autoritativo, permitindo que os clientes verifiquem a autenticidade dos registros recebidos.
Para implementar o DNSSec, é necessário configurar chaves de assinatura (KSKs) e chaves de zona (ZSKs) no servidor DNS. As KSKs são usadas para assinar as chaves de zona, enquanto as ZSKs são usadas para assinar os registros DNS. Essas chaves são armazenadas em arquivos de chave e devem ser protegidas adequadamente para evitar o comprometimento da segurança.
Ao realizar um teste de penetração em um servidor DNS, é importante verificar se o DNSSec está implementado corretamente. Isso pode ser feito verificando se os registros DNS estão assinados digitalmente e se as chaves de assinatura estão configuradas corretamente. Além disso, é importante verificar se o servidor DNS está configurado para validar as respostas DNS recebidas de outros servidores.
Embora o DNSSec forneça uma camada adicional de segurança para o DNS, é importante observar que nem todos os domínios implementam o DNSSec. Portanto, é possível encontrar domínios que não possuem registros DNS assinados digitalmente.
```bash
#Query paypal subdomains to ns3.isc-sns.info
nmap -sSU -p53 --script dns-nsec-enum --script-args dns-nsec-enum.domains=paypal.com ns3.isc-sns.info
```
2022-10-02 19:15:35 +00:00
### IPv6
Força bruta usando solicitações "AAAA" para obter os endereços IPv6 dos subdomínios.
```bash
dnsdict6 -s -t <domain>
```
# Pentesting DNS
## Pentesting DNS Reverso
O DNS reverso é um processo que envolve a resolução de endereços IP em nomes de domínio. No entanto, em vez de resolver um endereço IP em um nome de domínio, o DNS reverso resolve um nome de domínio em um endereço IP. Isso é útil para identificar o proprietário de um determinado endereço IP.
### Técnica de Bruteforce no DNS Reverso usando endereços IPv6
O DNS reverso é amplamente utilizado para fins de segurança, pois pode ajudar a identificar atividades maliciosas na rede. Uma técnica comum usada durante a pentest é o bruteforce no DNS reverso usando endereços IPv6.
2023-06-06 18:56:34 +00:00
O bruteforce no DNS reverso usando endereços IPv6 envolve a tentativa de resolver nomes de domínio para cada endereço IPv6 possível em uma determinada faixa. Isso pode ser útil para identificar hosts ativos, descobrir serviços em execução em um determinado host e até mesmo encontrar informações sensíveis, como nomes de domínio internos.
2023-06-06 18:56:34 +00:00
Para realizar essa técnica, você pode usar ferramentas como o `dnsrecon` ou o `dnsenum`. Essas ferramentas permitem que você especifique uma faixa de endereços IPv6 e, em seguida, realizem uma consulta DNS reversa para cada endereço na faixa especificada.
É importante lembrar que essa técnica pode ser demorada, pois envolve a resolução de um grande número de endereços IPv6. Além disso, é essencial obter permissão adequada antes de realizar qualquer teste de penetração em um sistema ou rede.
```bash
dnsrevenum6 pri.authdns.ripe.net 2001:67c:2e8::/48 #Will use the dns pri.authdns.ripe.net
```
2022-10-02 19:15:35 +00:00
### DNS Recursion DDoS
Se **a recursão DNS estiver habilitada**, um atacante pode **falsificar** a **origem** no pacote UDP para fazer com que o **DNS envie a resposta para o servidor da vítima**. Um atacante pode abusar dos tipos de registro **ANY** ou **DNSSEC**, pois eles costumam ter respostas maiores.\
A maneira de **verificar** se um DNS suporta **recursão** é consultar um nome de domínio e **verificar** se a **flag "ra"** (_recursion available_) está na resposta:
```bash
dig google.com A @<IP>
```
2023-06-06 18:56:34 +00:00
**Não disponível**:
![](<../.gitbook/assets/image (275).png>)
2023-06-06 18:56:34 +00:00
**Disponível**:
![](<../.gitbook/assets/image (276).png>)
<figure><img src="../.gitbook/assets/image (1) (1) (2) (4).png" alt=""><figcaption></figcaption></figure>
[**A Conferência de Segurança DragonJAR é um evento internacional de cibersegurança**](https://www.dragonjarcon.org/) com mais de uma década que será realizada nos dias 7 e 8 de setembro de 2023 em Bogotá, Colômbia. É um evento de alto conteúdo técnico onde são apresentadas as últimas pesquisas em espanhol que atraem hackers e pesquisadores de todo o mundo.\
2023-06-06 18:56:34 +00:00
Registre-se agora no seguinte link e não perca esta grande conferência!:
{% embed url="https://www.dragonjarcon.org/" %}
### Envio de e-mail para uma conta inexistente
Do livro: Avaliação de Segurança de Rede (3ª edição)
Simplesmente enviar uma mensagem de e-mail para um endereço inexistente em um domínio-alvo muitas vezes revela informações úteis sobre a rede interna por meio de uma _notificação de não entrega_ (NDN).
```
Generating server: noa.nintendo.com
blah@nintendo.com
#550 5.1.1 RESOLVER.ADR.RecipNotFound; not found ##
Original message headers:
Received: from ONERDEDGE02.one.nintendo.com (10.13.20.35) by
onerdexch08.one.nintendo.com (10.13.30.39) with Microsoft SMTP Server (TLS)
id 14.3.174.1; Sat, 26 Apr 2014 16:52:22 -0700
Received: from barracuda.noa.nintendo.com (205.166.76.35) by
ONERDEDGE02.one.nintendo.com (10.13.20.35) with Microsoft SMTP Server (TLS)
id 14.3.174.1; Sat, 26 Apr 2014 16:51:22 -0700
X-ASG-Debug-ID: 1398556333-0614671716199b0d0001-zOQ9WJ
Received: from gateway05.websitewelcome.com (gateway05.websitewelcome.com [69.93.154.37]) by
barracuda.noa.nintendo.com with ESMTP id xVNPkwaqGgdyH5Ag for <blah@nintendo.com>; Sat,
26 Apr 2014 16:52:13 -0700 (PDT)
X-Barracuda-Envelope-From: chris@example.org
X-Barracuda-Apparent-Source-IP: 69.93.154.37
```
Os seguintes dados neste transcript são úteis:
2023-06-06 18:56:34 +00:00
* Nomes de host internos, endereços IP e layout de subdomínio
* O servidor de e-mail está executando o Microsoft Exchange Server 2010 SP3
* Um dispositivo da Barracuda Networks é usado para realizar filtragem de conteúdo
2023-06-06 18:56:34 +00:00
## Arquivos de configuração
```
host.conf
2022-10-02 19:15:35 +00:00
/etc/resolv.conf
/etc/bind/named.conf
/etc/bind/named.conf.local
/etc/bind/named.conf.options
/etc/bind/named.conf.log
/etc/bind/*
```
2023-06-06 18:56:34 +00:00
Configurações perigosas ao configurar um servidor Bind:
| **Opção** | **Descrição** |
| ----------------- | ------------------------------------------------------------------------------ |
| `allow-query` | Define quais hosts têm permissão para enviar solicitações ao servidor DNS. |
2023-06-06 18:56:34 +00:00
| `allow-recursion` | Define quais hosts têm permissão para enviar solicitações recursivas ao servidor DNS. |
| `allow-transfer` | Define quais hosts têm permissão para receber transferências de zona do servidor DNS. |
| `zone-statistics` | Coleta dados estatísticos das zonas. |
2021-08-12 12:57:59 +00:00
2023-06-06 18:56:34 +00:00
## Comandos Automáticos HackTricks
```
2021-08-12 12:57:59 +00:00
Protocol_Name: DNS #Protocol Abbreviation if there is one.
Port_Number: 53 #Comma separated if there is more than one.
Protocol_Description: Domain Name Service #Protocol Abbreviation Spelled out
2021-08-15 17:42:53 +00:00
Entry_1:
Name: Notes
Description: Notes for DNS
Note: |
#These are the commands I run every time I see an open DNS port
dnsrecon -r 127.0.0.0/24 -n {IP} -d {Domain_Name}
dnsrecon -r 127.0.1.0/24 -n {IP} -d {Domain_Name}
dnsrecon -r {Network}{CIDR} -n {IP} -d {Domain_Name}
dig axfr @{IP}
dig axfr {Domain_Name} @{IP}
nslookup
SERVER {IP}
127.0.0.1
{IP}
Domain_Name
exit
https://book.hacktricks.xyz/pentesting/pentesting-dns
2021-08-15 17:42:53 +00:00
Entry_2:
Name: Banner Grab
Description: Grab DNS Banner
Command: dig version.bind CHAOS TXT @DNS
2021-08-15 17:42:53 +00:00
Entry_3:
Name: Nmap Vuln Scan
Description: Scan for Vulnerabilities with Nmap
Command: nmap -n --script "(default and *dns*) or fcrdns or dns-srv-enum or dns-random-txid or dns-random-srcport" {IP}
2021-08-15 17:42:53 +00:00
Entry_4:
Name: Zone Transfer
Description: Three attempts at forcing a zone transfer
Command: dig axfr @{IP} && dix axfr @{IP} {Domain_Name} && fierce --dns-servers {IP} --domain {Domain_Name}
2021-08-15 17:42:53 +00:00
Entry_5:
Name: Active Directory
Description: Eunuerate a DC via DNS
Command: dig -t _gc._{Domain_Name} && dig -t _ldap._{Domain_Name} && dig -t _kerberos._{Domain_Name} && dig -t _kpasswd._{Domain_Name} && nmap --script dns-srv-enum --script-args "dns-srv-enum.domain={Domain_Name}"
Entry_6:
Name: consolesless mfs enumeration
Description: DNS enumeration without the need to run msfconsole
Note: sourced from https://github.com/carlospolop/legion
Command: msfconsole -q -x 'use auxiliary/scanner/dns/dns_amp; set RHOSTS {IP}; set RPORT 53; run; exit' && msfconsole -q -x 'use auxiliary/gather/enum_dns; set RHOSTS {IP}; set RPORT 53; run; exit'
2021-08-12 12:57:59 +00:00
```
<figure><img src="../.gitbook/assets/image (1) (1) (2) (4).png" alt=""><figcaption></figcaption></figure>
[**A Conferência de Segurança DragonJAR é um evento internacional de cibersegurança**](https://www.dragonjarcon.org/) com mais de uma década que será realizada nos dias 7 e 8 de setembro de 2023 em Bogotá, Colômbia. É um evento de alto conteúdo técnico onde são apresentadas as últimas pesquisas em espanhol que atraem hackers e pesquisadores de todo o mundo.\
2023-06-06 18:56:34 +00:00
Registre-se agora no seguinte link e não perca esta grande conferência!:
{% embed url="https://www.dragonjarcon.org/" %}
2022-04-28 16:01:33 +00:00
<details>
2023-04-25 18:35:28 +00:00
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
2022-04-28 16:01:33 +00:00
* Você trabalha em uma **empresa de cibersegurança**? Você quer ver sua **empresa anunciada no HackTricks**? ou você quer ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
2023-06-06 18:56:34 +00:00
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
* **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-me** no **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe seus truques de hacking enviando PRs para o** [**repositório hacktricks**](https://github.com/carlospolop/hacktricks) **e** [**repositório hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
2022-04-28 16:01:33 +00:00
</details>