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

450 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 greatly speed up your testing. Tools like `dnsrecon`, `dnsenum`, and `fierce` can be used to automate DNS enumeration. These tools can help you discover subdomains, gather information about DNS servers, and perform zone transfers.
##### Brute-Forcing
Brute-forcing is another common technique used in DNS pentesting. It involves guessing subdomains or hostnames by trying different combinations. Tools like `dnsrecon`, `dnsenum`, and `fierce` can also be used for brute-forcing. These tools have built-in wordlists and can perform dictionary attacks to guess subdomains.
##### Zone Transfers
Automating zone transfers can help you quickly gather information about a target's DNS infrastructure. Tools like `dnsrecon`, `dnsenum`, and `fierce` can be used to automate zone transfers. These tools can attempt zone transfers and retrieve valuable information such as subdomains, IP addresses, and DNS records.
##### DNS Cache Poisoning
DNS cache poisoning is a technique used to manipulate DNS cache data. Automating DNS cache poisoning can help you test the vulnerability of a target's DNS infrastructure. Tools like `dnsspooq` and `mitm6` can be used to automate DNS cache poisoning attacks.
##### DNS Tunneling
DNS tunneling is a technique used to bypass network security measures by encapsulating non-DNS traffic within DNS packets. Automating DNS tunneling can help you establish covert communication channels. Tools like `iodine` and `dnscat2` can be used to automate DNS tunneling.
##### DNS Rebinding
DNS rebinding is a technique used to bypass the same-origin policy of web browsers. Automating DNS rebinding can help you exploit vulnerabilities in web applications. Tools like `singularity` and `rebind` can be used to automate DNS rebinding attacks.
Automating these tasks can significantly 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
The `nslookup` command is a powerful tool for querying DNS (Domain Name System) servers to obtain information about domain names and IP addresses. It is commonly used in network services pentesting to gather information about a target's DNS configuration.
To use `nslookup`, open a command prompt and type `nslookup` followed by the domain name or IP address you want to query. By default, `nslookup` will display the IP address of the queried domain name and the name of the DNS server that provided the response.
Here is an example of using `nslookup` to query the IP address of a domain name:
```
$ nslookup example.com
```
This will return the IP address associated with the domain name `example.com`.
You can also use `nslookup` to perform reverse DNS lookups by querying an IP address to obtain the corresponding domain name. To do this, simply type the IP address instead of the domain name:
```
$ nslookup 192.168.1.1
```
This will return the domain name associated with the IP address `192.168.1.1`.
In addition to querying DNS servers, `nslookup` can also be used to set the DNS server to be used for subsequent queries. This can be useful when testing different DNS configurations. To set the DNS server, use the `server` command followed by the IP address of the DNS server:
```
$ nslookup
> server 8.8.8.8
```
This will set the DNS server to `8.8.8.8` for all subsequent queries.
`nslookup` is a versatile tool that can provide valuable information during network services pentesting. By understanding how to use it effectively, you can gather important details about a target's DNS infrastructure.
```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 oferecidos por um domínio. Isso pode ajudar a identificar serviços expostos que podem ser alvos de ataques.
Esses módulos do Metasploit podem ser usados para identificar vulnerabilidades e explorar serviços DNS durante um teste de penetração. No entanto, é importante lembrar que o uso dessas ferramentas deve ser feito de forma ética e legal, com a devida autorização do proprietário do sistema-alvo.
```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 variedade 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. É útil para identificar subdomínios ocultos ou mal configurados que podem ser explorados.
- **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 sensíveis sobre a infraestrutura de rede.
- **dns-update.nse**: Este script verifica se um servidor DNS permite atualizações dinâmicas não autorizadas. Isso pode ser explorado para modificar registros DNS ou realizar ataques de envenenamento de cache.
- **dns-recursion.nse**: Este script verifica se um servidor DNS está configurado para permitir consultas recursivas de qualquer host. Isso pode ser explorado para realizar ataques de amplificação de DNS.
Esses scripts podem ser executados usando o comando `nmap` seguido do alvo e do script desejado. Por exemplo:
```
nmap -p 53 --script dns-brute.nse example.com
```
Lembre-se de que o uso desses scripts em um ambiente de produção sem permissão adequada pode ser ilegal e antiético. Sempre obtenha permissão por escrito antes de realizar testes de penetração em qualquer sistema.
```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 processo de Reverse BF começa com a identificação do intervalo de endereços IP a serem testados. Em seguida, o hacker usa uma ferramenta de enumeração DNS para consultar os registros PTR (Pointer) do DNS reverso para cada endereço IP no intervalo. Esses registros PTR fornecem informações sobre o nome do host associado a um determinado endereço IP.
Ao analisar os registros PTR, o hacker pode descobrir hosts que não estão listados publicamente e, assim, identificar possíveis alvos para ataques. Além disso, a análise dos registros PTR pode revelar informações sobre serviços mal configurados ou vulnerabilidades que podem ser exploradas.
É importante ressaltar que o Reverse BF é uma técnica invasiva e deve ser realizada apenas em sistemas e redes autorizados. O uso indevido dessa técnica pode resultar em violações de privacidade e até mesmo em ações legais.
Em resumo, o Reverse BF é uma técnica de teste de penetração que envolve a enumeração de registros DNS reversos para descobrir informações sobre sistemas e serviços em uma rede. Essa técnica pode ser útil para identificar hosts ocultos e serviços mal configurados, mas deve ser usada com responsabilidade e dentro dos limites legais.
```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.
#### Enumeração do Active Directory
A enumeração do Active Directory envolve a coleta de informações sobre o domínio, como nomes de usuários, grupos, políticas de segurança e configurações. Isso pode ser feito usando várias técnicas, como consultas DNS, consultas LDAP e varreduras de porta.
#### Ataques ao Active Directory
Uma vez que as informações sobre o Active Directory tenham sido coletadas, é possível realizar ataques direcionados para comprometer o sistema. Alguns exemplos de ataques incluem:
- Ataques de força bruta: tentativas repetidas de adivinhar senhas de usuários ou contas de serviço.
- Ataques de pass-the-hash: uso de hashes de senha roubados para autenticar-se como um usuário legítimo.
- Ataques de pass-the-ticket: uso de tickets Kerberos roubados para obter acesso não autorizado.
- Ataques de injeção de DLL: exploração de vulnerabilidades para injetar código malicioso em processos do sistema.
#### Proteção do Active Directory
Para proteger o Active Directory contra ataques, é importante implementar boas práticas de segurança, como:
- Fortes políticas de senha: exigir senhas complexas e alterá-las regularmente.
- Restrições de acesso: limitar o acesso aos servidores do Active Directory apenas a usuários autorizados.
- Monitoramento de eventos: registrar e analisar eventos de segurança para detectar atividades suspeitas.
- Patches e atualizações: manter os servidores do Active Directory atualizados com os últimos patches de segurança.
#### Conclusão
Os servidores do Active Directory são um alvo comum para hackers, pois contêm informações valiosas sobre uma rede. Ao realizar um teste de penetração, é essencial identificar e avaliar esses servidores para garantir a segurança do sistema.
```
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
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 DNS que visa proteger as consultas DNS contra ataques de envenenamento de cache e falsificação de resposta. Ele adiciona uma camada adicional de autenticação e integridade aos registros DNS, garantindo que os dados recebidos sejam autênticos e não tenham sido modificados durante a transmissão.
DNSSec utiliza criptografia de chave pública para assinar digitalmente os registros DNS. Isso permite que os clientes verifiquem a autenticidade dos registros DNS recebidos, garantindo que eles não tenham sido adulterados por um atacante.
Ao realizar um teste de penetração em um serviço 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 públicas correspondentes estão disponíveis para verificação.
Se o DNSSec estiver implementado incorretamente ou não estiver presente, um atacante pode explorar vulnerabilidades no serviço DNS para realizar ataques de envenenamento de cache, falsificação de resposta ou ataques de negação de serviço. Portanto, é essencial garantir que o DNSSec esteja configurado corretamente para proteger o serviço DNS contra esses tipos de ataques.
```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
## Bruteforce reverse DNS using IPv6 addresses
Reverse DNS is a technique used to map an IP address to a domain name. In the case of IPv6 addresses, the reverse DNS lookup is done using the special domain `ip6.arpa`.
To perform a bruteforce reverse DNS attack on IPv6 addresses, follow these steps:
1. Generate a list of possible domain names based on the target IPv6 address. This can be done by converting the IPv6 address to hexadecimal format and appending it to the `ip6.arpa` domain. For example, if the target IPv6 address is `2001:0db8:85a3:0000:0000:8a2e:0370:7334`, the corresponding domain name would be `4.3.3.7.0.3.e.2.a.8.8.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1.0.0.2.ip6.arpa`.
2023-06-06 18:56:34 +00:00
2. Use a DNS enumeration tool, such as `dnsrecon` or `dnsenum`, to perform the reverse DNS lookup for each domain name in the generated list. These tools automate the process of querying DNS servers for reverse DNS records.
2023-06-06 18:56:34 +00:00
3. Analyze the results of the reverse DNS lookup. Look for any domain names that are associated with the target IPv6 address. This information can be useful for identifying potential targets for further exploitation.
It is important to note that bruteforcing reverse DNS can be a time-consuming process, especially for large IPv6 address ranges. Additionally, some DNS servers may have rate limiting or other security measures in place to prevent such attacks. Therefore, it is recommended to use this technique responsibly and with proper authorization.
```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>