* 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)!
* 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).
[**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.\
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/).
| `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. |
| `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. |
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.\
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.
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
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
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.
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.
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.
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.
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.
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).
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.
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.
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`.
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`.
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.
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.
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:
[**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.\
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).
[**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.\
* 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)!
* 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).