mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-27 15:12:11 +00:00
446 lines
33 KiB
Markdown
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>
|