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

446 lines
33 KiB
Markdown

# 53 - Pentesting DNS
<details>
<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>
* ¿Trabajas en una **empresa de ciberseguridad**? ¿Quieres ver tu **empresa anunciada en HackTricks**? ¿O quieres tener acceso a la **última versión de PEASS o descargar HackTricks en PDF**? ¡Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
* Descubre [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* Obtén el [**swag oficial de PEASS y HackTricks**](https://peass.creator-spring.com)
* **Únete al** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de Telegram**](https://t.me/peass) o **sígueme** en **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Comparte tus trucos de hacking enviando PRs al** [**repositorio de hacktricks**](https://github.com/carlospolop/hacktricks) **y al** [**repositorio de hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details>
<figure><img src="../.gitbook/assets/image (1) (1) (2) (4).png" alt=""><figcaption></figcaption></figure>
[**DragonJAR Security Conference es un evento internacional de ciberseguridad**](https://www.dragonjarcon.org/) con más de una década que se celebrará el 7 y 8 de septiembre de 2023 en Bogotá, Colombia. Es un evento de gran contenido técnico donde se presentan las últimas investigaciones en español que atrae a hackers e investigadores de todo el mundo.\
¡Regístrate ahora en el siguiente enlace y no te pierdas esta gran conferencia!:
{% embed url="https://www.dragonjarcon.org/" %}
## **Información básica**
El Sistema de Nombres de Dominio (DNS) es la guía telefónica de Internet. Los humanos acceden a la información en línea a través de nombres de dominio, como nytimes.com o espn.com. Los navegadores web interactúan a través de direcciones de Protocolo de Internet (IP). DNS traduce los nombres de dominio a [direcciones IP](https://www.cloudflare.com/learning/dns/glossary/what-is-my-ip-address/) para que los navegadores puedan cargar recursos de Internet.\
Desde [aquí](https://www.cloudflare.com/learning/dns/what-is-dns/).
**Puerto predeterminado:** 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)
```
### Diferentes Servidores DNS
Información de [https://academy.hackthebox.com/module/112/section/1069](https://academy.hackthebox.com/module/112/section/1069)
| **Tipo de Servidor** | **Descripción** |
| ------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `Servidor Raíz DNS` | Los servidores raíz del DNS son responsables de los dominios de nivel superior (`TLD`). Como última instancia, solo se solicitan si el servidor de nombres no responde. Por lo tanto, un servidor raíz es una interfaz central entre los usuarios y el contenido en Internet, ya que vincula el dominio y la dirección IP. La [Corporación de Internet para la Asignación de Nombres y Números](https://www.icann.org/) (`ICANN`) coordina el trabajo de los servidores raíz. Hay `13` servidores raíz en todo el mundo. |
| `Servidor de Nombres Autoritativo` | Los servidores de nombres autoritativos tienen autoridad sobre una zona en particular. Solo responden consultas de su área de responsabilidad y su información es vinculante. Si un servidor de nombres autoritativo no puede responder a la consulta de un cliente, el servidor de nombres raíz se hace cargo en ese momento. |
| `Servidor de Nombres No Autoritativo` | Los servidores de nombres no autoritativos no son responsables de una zona DNS en particular. En cambio, recopilan información sobre zonas DNS específicas ellos mismos, lo cual se hace mediante consultas DNS recursivas o iterativas. |
| `Servidor de Caché DNS` | Los servidores de caché DNS almacenan en caché información de otros servidores de nombres durante un período especificado. La duración de este almacenamiento la determina el servidor de nombres autoritativo. |
| `Servidor de Reenvío` | Los servidores de reenvío solo realizan una función: reenvían consultas DNS a otro servidor DNS. |
| `Resolver` | Los resolutores no son servidores DNS autoritativos, pero realizan la resolución de nombres localmente en la computadora o en el enrutador. |
## Enumeración
### **Obtención de Banners**
DNS no tiene un "banner" para obtener. Lo más parecido es una consulta mágica para `version.bind. CHAOS TXT`, que funcionará en la mayoría de los servidores BIND.\
Puedes realizar esta consulta usando `dig`:
```bash
dig version.bind CHAOS TXT @DNS
```
Si eso no funciona, puedes utilizar técnicas de fingerprinting para determinar la versión del servidor remoto -- la herramienta [`fpdns`](https://github.com/kirei/fpdns) es una opción para eso, pero hay otras.
También puedes obtener el banner con un script de **nmap**:
```
--script dns-nsid
```
### **Cualquier registro**
El registro **ANY** solicitará al servidor DNS que **devuelva** todas las **entradas** disponibles que **esté dispuesto a revelar**.
```bash
dig any victim.com @<DNS_IP>
```
### **Transferencia de Zona**
Este procedimiento se abrevia como `Transferencia de Zona Asincrónica Completa` (`AXFR`).
```bash
dig axfr @<DNS_IP> #Try zone transfer without domain
dig axfr @<DNS_IP> <DOMAIN> #Try zone transfer guessing the domain
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
```
### Más información
```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)
```
#### Automatización
Automatización es el proceso de realizar tareas de forma automática, sin intervención humana. En el contexto de la pentesting de servicios de red, la automatización puede ser utilizada para realizar pruebas de penetración en los servicios DNS.
#### Escaneo de DNS
El escaneo de DNS es una técnica utilizada para descubrir información sobre los servidores DNS de un objetivo. Esto puede incluir la identificación de servidores DNS autorizados, registros de zona, registros de recursos y otros detalles relacionados con la configuración del DNS.
#### Enumeración de DNS
La enumeración de DNS es el proceso de recopilar información sobre los registros DNS de un objetivo. Esto puede incluir la obtención de registros de zona, registros de recursos, registros de correo y otros detalles relacionados con la configuración del DNS.
#### Transferencia de zona DNS
La transferencia de zona DNS es una operación que permite a un servidor DNS obtener una copia completa de la zona DNS de otro servidor DNS. Esto puede ser utilizado por un atacante para obtener información sensible sobre la configuración del DNS de un objetivo.
#### Envenenamiento de caché DNS
El envenenamiento de caché DNS es una técnica utilizada para corromper la caché de un servidor DNS con información falsa. Esto puede ser utilizado por un atacante para redirigir el tráfico de red a servidores maliciosos o para realizar ataques de phishing.
#### Amplificación de DNS
La amplificación de DNS es una técnica utilizada para amplificar el tráfico de red mediante consultas DNS maliciosas. Esto puede ser utilizado por un atacante para realizar ataques de denegación de servicio (DoS) al saturar la red del objetivo con respuestas DNS amplificadas.
#### Ataques de fuerza bruta DNS
Los ataques de fuerza bruta DNS son ataques en los que un atacante intenta adivinar o descubrir información sensible sobre los registros DNS de un objetivo mediante la prueba de diferentes combinaciones de nombres de dominio o direcciones IP.
#### Ataques de envenenamiento de caché DNS
Los ataques de envenenamiento de caché DNS son ataques en los que un atacante corrompe la caché de un servidor DNS con información falsa. Esto puede ser utilizado para redirigir el tráfico de red a servidores maliciosos o para realizar ataques de phishing.
#### Ataques de denegación de servicio DNS
Los ataques de denegación de servicio DNS son ataques en los que un atacante intenta saturar la red del objetivo con consultas DNS maliciosas, lo que resulta en la interrupción del servicio DNS y la incapacidad de los usuarios para acceder a los recursos de red.
#### Ataques de secuestro de zona DNS
Los ataques de secuestro de zona DNS son ataques en los que un atacante obtiene el control de la zona DNS de un objetivo y redirige el tráfico de red a servidores maliciosos. Esto puede ser utilizado para interceptar comunicaciones o realizar ataques de phishing.
```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>
```
#### Usando nslookup
`nslookup` is a command-line tool used to query DNS (Domain Name System) servers to obtain information about domain names, IP addresses, and other DNS records. It is commonly used in network services pentesting to gather information about a target's DNS infrastructure.
To use `nslookup`, open a terminal 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.
For example, to query the IP address of the domain `example.com`, you would type:
```
nslookup example.com
```
`nslookup` can also be used to query specific types of DNS records, such as MX (Mail Exchanger) records or NS (Name Server) records. To do this, you can use the `-type` option followed by the record type.
For example, to query the MX records of `example.com`, you would type:
```
nslookup -type=mx example.com
```
`nslookup` can also be used to perform reverse DNS lookups by querying the IP address instead of the domain name. To do this, simply type the IP address instead of the domain name.
For example, to perform a reverse DNS lookup on the IP address `192.168.0.1`, you would type:
```
nslookup 192.168.0.1
```
`nslookup` provides a simple and straightforward way to gather information about a target's DNS infrastructure during a network services pentest. By querying DNS servers, you can obtain valuable information that can be used to identify potential vulnerabilities or misconfigurations.
```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 útiles de Metasploit
Metasploit es una herramienta de prueba de penetración ampliamente utilizada que ofrece una amplia gama de módulos para realizar pruebas de seguridad en sistemas y redes. A continuación se presentan algunos módulos útiles de Metasploit que pueden ser utilizados en pruebas de penetración relacionadas con servicios de red:
- **`auxiliary/scanner/dns/dns_cache_snoop`**: Este módulo permite realizar un snoop en la caché DNS de un servidor para obtener información sensible, como registros DNS previamente consultados.
- **`auxiliary/scanner/dns/dns_enum`**: Este módulo se utiliza para enumerar registros DNS en un dominio específico. Puede ayudar a identificar subdominios y obtener información sobre los registros DNS asociados.
- **`auxiliary/scanner/dns/dns_forward_lookup`**: Este módulo realiza una búsqueda de DNS hacia adelante para obtener información sobre los registros DNS asociados a un dominio o dirección IP específica.
- **`auxiliary/scanner/dns/dns_reverse_lookup`**: Este módulo realiza una búsqueda de DNS inversa para obtener información sobre los nombres de dominio asociados a una dirección IP específica.
- **`auxiliary/scanner/dns/dns_srv_enum`**: Este módulo se utiliza para enumerar registros de servicio (SRV) DNS en un dominio específico. Puede ayudar a identificar servicios y obtener información sobre los registros SRV asociados.
- **`auxiliary/scanner/dns/dns_wildcard_enum`**: Este módulo se utiliza para enumerar subdominios utilizando una técnica de búsqueda de comodines en un dominio específico.
Estos son solo algunos ejemplos de los módulos útiles de Metasploit que pueden ser utilizados en pruebas de penetración relacionadas con servicios de red. Metasploit ofrece una amplia gama de módulos adicionales que pueden adaptarse a diferentes escenarios de prueba.
```bash
auxiliary/gather/enum_dns #Perform enumeration actions
```
### Scripts de nmap útiles
Nmap es una herramienta de escaneo de red muy poderosa que se utiliza comúnmente en pruebas de penetración. Además de sus capacidades de escaneo básicas, Nmap también admite scripts personalizados que pueden ser utilizados para realizar pruebas más avanzadas. A continuación se presentan algunos scripts de Nmap útiles para pruebas de penetración de servicios DNS:
- **dns-brute.nse**: Este script realiza un ataque de fuerza bruta contra un servidor DNS para descubrir subdominios y registros DNS ocultos.
- **dns-cache-snoop.nse**: Este script explota la función de caché de un servidor DNS para revelar información confidencial, como registros DNS antiguos y subdominios.
- **dns-zone-transfer.nse**: Este script intenta realizar una transferencia de zona DNS desde un servidor DNS para obtener una lista completa de registros DNS y subdominios.
- **dns-recursion.nse**: Este script verifica si un servidor DNS permite consultas recursivas, lo que podría ser utilizado para realizar ataques de amplificación DNS.
- **dns-update.nse**: Este script intenta realizar una actualización de zona DNS en un servidor DNS para agregar o modificar registros DNS.
Estos scripts pueden ser ejecutados utilizando el comando `nmap` seguido del nombre del script y la dirección IP del servidor DNS objetivo.
```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 - Fuerza Bruta Inversa
La Fuerza Bruta Inversa es una técnica utilizada en pruebas de penetración para descubrir información sobre los registros DNS inversos de un objetivo. Los registros DNS inversos se utilizan para mapear direcciones IP a nombres de dominio.
En un ataque de Fuerza Bruta Inversa, el objetivo es enumerar todos los posibles nombres de dominio asociados a una dirección IP específica. Esto se logra enviando consultas DNS inversas a un servidor DNS y analizando las respuestas recibidas.
El proceso de Fuerza Bruta Inversa implica generar una lista de nombres de dominio posibles y enviar consultas DNS inversas para cada uno de ellos. Si el servidor DNS responde con un registro válido, se considera un éxito y se registra como una posible asociación entre la dirección IP y el nombre de dominio.
Este tipo de ataque puede revelar información sensible, como nombres de dominio internos, nombres de servidores, subdominios ocultos y otros detalles que pueden ser utilizados en futuros ataques. Por lo tanto, es importante que los administradores de sistemas aseguren adecuadamente sus registros DNS inversos y tomen medidas para mitigar este tipo de ataques.
```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
```
{% hint style="info" %}
Si logras encontrar subdominios que resuelven a direcciones IP internas, debes intentar realizar un ataque de fuerza bruta de DNS inverso a los servidores de nombres del dominio solicitando ese rango de IP.
{% endhint %}
Otra herramienta para hacer esto: [https://github.com/amine7536/reverse-scan](https://github.com/amine7536/reverse-scan)
Puedes consultar rangos de IP inversos en [https://bgp.he.net/net/205.166.76.0/24#\_dns](https://bgp.he.net/net/205.166.76.0/24#\_dns) (esta herramienta también es útil con BGP).
### DNS - Ataque de fuerza bruta a subdominios
```bash
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 de Active Directory
Active Directory (AD) es un servicio de directorio desarrollado por Microsoft que se utiliza para administrar y organizar los recursos de red en un entorno de red de Windows. Los servidores de Active Directory son servidores que alojan y ejecutan el servicio de directorio de Active Directory.
Durante una prueba de penetración, es importante identificar y evaluar los servidores de Active Directory en la red objetivo. Estos servidores son fundamentales para el funcionamiento de la infraestructura de red y, por lo tanto, pueden ser un objetivo atractivo para los atacantes.
Algunas técnicas comunes utilizadas para pentesting de servidores de Active Directory incluyen:
- Enumeración de usuarios y grupos: identificar los usuarios y grupos de Active Directory para obtener información sobre la estructura de la red y los posibles objetivos.
- Ataques de fuerza bruta: intentar adivinar las contraseñas de los usuarios de Active Directory mediante la prueba de diferentes combinaciones de contraseñas.
- Ataques de diccionario: utilizar diccionarios de contraseñas predefinidos para intentar adivinar las contraseñas de los usuarios de Active Directory.
- Ataques de inyección de comandos: aprovechar las vulnerabilidades de inyección de comandos para ejecutar comandos maliciosos en los servidores de Active Directory.
- Ataques de elevación de privilegios: buscar vulnerabilidades que permitan a un atacante elevar sus privilegios en los servidores de Active Directory y obtener un mayor acceso y control sobre la red.
Es importante realizar estas pruebas de penetración de manera ética y con el permiso del propietario de la red objetivo. El objetivo principal es identificar y remediar las posibles vulnerabilidades en los servidores de Active Directory para fortalecer la seguridad de la red.
```
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'"
```
### DNSSec
DNSSec (Domain Name System Security Extensions) es una extensión de seguridad para el sistema de nombres de dominio (DNS). Su objetivo principal es proteger el DNS contra ataques de envenenamiento de caché y falsificación de respuestas.
DNSSec utiliza criptografía de clave pública para garantizar la autenticidad e integridad de las respuestas DNS. Esto se logra mediante la firma digital de las respuestas DNS con claves privadas y la verificación de estas firmas utilizando las claves públicas correspondientes.
Al implementar DNSSec, se puede garantizar que las respuestas DNS no hayan sido modificadas en tránsito y que provengan de la fuente legítima. Esto ayuda a prevenir ataques como el envenenamiento de caché, donde un atacante puede redirigir el tráfico de DNS a servidores maliciosos.
Para realizar pruebas de penetración en DNSSec, se pueden utilizar herramientas como `dnssec-verify` y `dnssec-dsfromkey` para verificar la configuración y la cadena de confianza de DNSSec en un dominio específico.
Es importante tener en cuenta que DNSSec no proporciona confidencialidad de los datos transmitidos a través del DNS. Si se requiere confidencialidad, se debe utilizar una capa adicional de cifrado, como DNS sobre TLS (DoT) o DNS sobre HTTPS (DoH).
```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
```
### IPv6
Realizar un ataque de fuerza bruta utilizando solicitudes "AAAA" para recopilar las direcciones IPv6 de los subdominios.
```bash
dnsdict6 -s -t <domain>
```
# Pentesting DNS
## Bruteforce reverse DNS in using IPv6 addresses
In some cases, during a penetration test, it may be necessary to perform a reverse DNS lookup on IPv6 addresses. This can be useful to gather information about the target network and identify potential vulnerabilities.
To bruteforce reverse DNS in using IPv6 addresses, you can follow these steps:
1. **Enumerate IPv6 addresses**: Use various techniques to identify IPv6 addresses associated with the target network. This can include scanning the network for live hosts, analyzing DNS records, or using tools like `nmap` or `masscan`.
2. **Generate possible domain names**: Once you have a list of IPv6 addresses, generate possible domain names based on the target's domain naming convention. This can include using common subdomains like `www`, `mail`, `ftp`, or any other subdomains that are commonly used by the target organization.
3. **Perform reverse DNS lookup**: Use a tool like `dig` or `nslookup` to perform a reverse DNS lookup on each IPv6 address and check if it resolves to any domain name. This can be done by querying the PTR record for each IPv6 address.
4. **Analyze the results**: Analyze the results of the reverse DNS lookup to identify any potential misconfigurations or vulnerabilities. Look for domain names that do not match the target's naming convention or any unexpected domain names that may indicate a security issue.
5. **Exploit the vulnerabilities**: If any vulnerabilities are identified, further exploit them to gain unauthorized access or gather additional information about the target network. This can include performing DNS zone transfers, conducting DNS cache poisoning attacks, or exploiting misconfigured DNS servers.
By following these steps, you can bruteforce reverse DNS in using IPv6 addresses and gather valuable information about the target network. This information can be used to identify potential security weaknesses and improve the overall security posture of the target organization.
Remember to always obtain proper authorization before performing any penetration testing activities and to comply with all applicable laws and regulations.
```bash
dnsrevenum6 pri.authdns.ripe.net 2001:67c:2e8::/48 #Will use the dns pri.authdns.ripe.net
```
### DNS Recursion DDoS
Si la **recursión DNS está habilitada**, un atacante podría **falsificar** el **origen** en el paquete UDP para hacer que el **DNS envíe la respuesta al servidor víctima**. Un atacante podría abusar de los tipos de registros **ANY** o **DNSSEC** ya que suelen tener respuestas más grandes.\
La forma de **verificar** si un DNS admite **recursión** es consultar un nombre de dominio y **verificar** si la **bandera "ra"** (_recursión disponible_) está en la respuesta:
```bash
dig google.com A @<IP>
```
**No disponible**:
![](<../.gitbook/assets/image (275).png>)
**Disponible**:
![](<../.gitbook/assets/image (276).png>)
<figure><img src="../.gitbook/assets/image (1) (1) (2) (4).png" alt=""><figcaption></figcaption></figure>
[**DragonJAR Security Conference es un evento internacional de ciberseguridad**](https://www.dragonjarcon.org/) con más de una década que se celebrará el 7 y 8 de septiembre de 2023 en Bogotá, Colombia. Es un evento de gran contenido técnico donde se presentan las últimas investigaciones en español que atrae a hackers e investigadores de todo el mundo.\
¡Regístrate ahora en el siguiente enlace y no te pierdas esta gran conferencia!:
{% embed url="https://www.dragonjarcon.org/" %}
### Correo a una cuenta inexistente
Del libro: Evaluación de seguridad de redes (3ª edición)
Simplemente enviar un mensaje de correo electrónico a una dirección inexistente en un dominio objetivo a menudo revela información útil de la red interna a través de una _notificación de no 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
```
Los siguientes datos en esta transcripción son útiles:
* Nombres de host internos, direcciones IP y diseño de subdominios
* El servidor de correo está ejecutando Microsoft Exchange Server 2010 SP3
* Se utiliza un dispositivo de Barracuda Networks para realizar filtrado de contenido
## Archivos de configuración
```
host.conf
/etc/resolv.conf
/etc/bind/named.conf
/etc/bind/named.conf.local
/etc/bind/named.conf.options
/etc/bind/named.conf.log
/etc/bind/*
```
Configuraciones peligrosas al configurar un servidor Bind:
| **Opción** | **Descripción** |
| ----------------- | ------------------------------------------------------------------------------ |
| `allow-query` | Define qué hosts tienen permitido enviar solicitudes al servidor DNS. |
| `allow-recursion` | Define qué hosts tienen permitido enviar solicitudes recursivas al servidor DNS. |
| `allow-transfer` | Define qué hosts tienen permitido recibir transferencias de zona desde el servidor DNS. |
| `zone-statistics` | Recopila datos estadísticos de las zonas. |
## Comandos automáticos de HackTricks
```
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
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
Entry_2:
Name: Banner Grab
Description: Grab DNS Banner
Command: dig version.bind CHAOS TXT @DNS
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}
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}
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'
```
<figure><img src="../.gitbook/assets/image (1) (1) (2) (4).png" alt=""><figcaption></figcaption></figure>
[**DragonJAR Security Conference is an international cybersecurity event**](https://www.dragonjarcon.org/) with over a decade of history that will take place on September 7th and 8th, 2023 in Bogotá, Colombia. It is a highly technical event where the latest research in Spanish is presented, attracting hackers and researchers from around the world.\
Register now at the following link and don't miss out on this great conference!:
{% embed url="https://www.dragonjarcon.org/" %}
<details>
<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>
* ¿Trabajas en una **empresa de ciberseguridad**? ¿Quieres ver tu **empresa anunciada en HackTricks**? ¿O quieres tener acceso a la **última versión de PEASS o descargar HackTricks en PDF**? ¡Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
* Descubre [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* Obtén el [**merchandising oficial de PEASS y HackTricks**](https://peass.creator-spring.com)
* **Únete al** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de Telegram**](https://t.me/peass) o **sígueme** en **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Comparte tus trucos de hacking enviando PRs al** [**repositorio de hacktricks**](https://github.com/carlospolop/hacktricks) **y al** [**repositorio de hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details>