# Puerto 53: DNS

**DNS (Domain Name System)** es un sistema que traduce nombres de dominio legibles por humanos (como [www.ejemplo.com](http://www.ejemplo.com/)) en direcciones IP numéricas (como 192.168.1.1), que son necesarias para localizar y acceder a dispositivos en la red de Internet.

## <mark style="color:green;">Descripción de DNS</mark>

* <mark style="color:green;">**Protocolo**</mark><mark style="color:green;">:</mark> DNS utiliza principalmente el protocolo UDP en el puerto 53 para la mayoría de las consultas, aunque también puede utilizar TCP para transferencias de zona y consultas que exceden los límites de tamaño de UDP.
* <mark style="color:green;">**Funcionalidad**</mark><mark style="color:green;">:</mark> Permite que los usuarios utilicen nombres de dominio en lugar de direcciones IP para acceder a servicios de red. Los servidores DNS responden a las consultas resolviendo nombres de dominio en direcciones IP correspondientes.

## <mark style="color:green;">Relevancia en Pentesting</mark>

### <mark style="color:green;">**Importancia de DNS en Pentesting**</mark><mark style="color:green;">:</mark>

* <mark style="color:green;">**Configuraciones Incorrectas**</mark><mark style="color:green;">:</mark> Servidores DNS mal configurados pueden ser explotados para llevar a cabo varios tipos de ataques.
* <mark style="color:green;">**DNS Spoofing**</mark><mark style="color:green;">:</mark> Los atacantes pueden enviar respuestas DNS falsas a un resolver DNS, redirigiendo el tráfico a servidores maliciosos.
* <mark style="color:green;">**Cache Poisoning**</mark><mark style="color:green;">:</mark> Un atacante puede inyectar entradas DNS maliciosas en la caché de un servidor DNS, haciendo que los usuarios accedan a sitios falsificados.
* <mark style="color:green;">**DDoS Amplificación**</mark><mark style="color:green;">:</mark> Los servidores DNS pueden ser utilizados para amplificar ataques de denegación de servicio distribuidos (DDoS) debido a la naturaleza de las respuestas DNS, que pueden ser mucho más grandes que las consultas.

## <mark style="color:green;">Ejemplo de Escaneo de DNS con Nmap</mark>

Para identificar servidores DNS activos y verificar posibles vulnerabilidades, se puede utilizar Nmap. El siguiente comando escanea el puerto 53 y ejecuta scripts NSE específicos para DNS.

**Comando Nmap**

```bash
nmap -p 53 --script dns-check-zone,dns-srv-enum,dns-recursion target-ip
```

**Explicación del Comando**

* `nmap`: Ejecuta el comando Nmap.
* `-p 53`: Especifica que Nmap debe escanear el puerto 53, el puerto predeterminado para DNS.
* `--script dns-check-zone,dns-srv-enum,dns-recursion`: Utiliza scripts NSE para detectar configuraciones y vulnerabilidades en el servicio DNS.
  * `dns-check-zone`: Verifica si un servidor DNS permite transferencias de zona (AXFR).
  * `dns-srv-enum`: Enumera registros de servicio (SRV) para descubrir servicios en la red.
  * `dns-recursion`: Verifica si el servidor DNS permite la recursión, lo cual puede ser explotado en ataques de amplificación.
* `target-ip`: Especifica la dirección IP del objetivo.

### <mark style="color:green;">**Ejemplo de Salida de Nmap**</mark>

```plaintext
Starting Nmap 7.80 ( https://nmap.org ) at 2024-05-18 16:23 UTC
Nmap scan report for 192.168.1.40
Host is up (0.0011s latency).

PORT   STATE SERVICE
53/tcp open  domain
| dns-check-zone:
|   Zone transfer against 192.168.1.40 for example.com
|   AXFR is enabled
|     example.com.           3600    IN      SOA     ns1.example.com. admin.example.com. (
|                               2024051801 ; serial
|                               3600       ; refresh (1 hour)
|                               900        ; retry (15 minutes)
|                               604800     ; expire (1 week)
|                               86400      ; minimum (1 day)
|     )
|     example.com.           3600    IN      NS      ns1.example.com.
|     example.com.           3600    IN      NS      ns2.example.com.
|_    ... (más registros)
| dns-srv-enum:
|   _ldap._tcp.example.com service found:
|     priority = 0
|     weight = 100
|     port = 389
|     target = ldap.example.com
| dns-recursion:
|   Recursion appears to be enabled
|_    Server is vulnerable to DNS amplification attacks

Nmap done: 1 IP address (1 host up) scanned in 8.93 seconds
```

### <mark style="color:green;">Interpretación de la Salida</mark>

* <mark style="color:green;">**Host is up**</mark><mark style="color:green;">:</mark> Indica que el sistema objetivo está en línea y responde.
* <mark style="color:green;">**53/tcp open domain**</mark><mark style="color:green;">:</mark> El puerto 53 está abierto y el servicio DNS está activo.
* <mark style="color:green;">**dns-check-zone**</mark><mark style="color:green;">:</mark> Verifica si el servidor DNS permite transferencias de zona.
  * <mark style="color:green;">**AXFR is enabled**</mark><mark style="color:green;">:</mark> Indica que la transferencia de zona está habilitada, lo cual puede exponer toda la zona DNS a un atacante.
* <mark style="color:green;">**dns-srv-enum**</mark><mark style="color:green;">:</mark> Enumera registros de servicio (SRV) encontrados.
  * <mark style="color:green;">**\_ldap.\_tcp.example.com**</mark><mark style="color:green;">:</mark> Muestra un servicio LDAP encontrado en el dominio.
* <mark style="color:green;">**dns-recursion**</mark><mark style="color:green;">:</mark> Verifica si el servidor DNS permite la recursión.
  * <mark style="color:green;">**Recursion appears to be enabled**</mark><mark style="color:green;">:</mark> Indica que la recursión está habilitada, lo que puede ser explotado en ataques de amplificación DNS.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://books.spartan-cybersec.com/cppj/networking-for-juniors/puertos-y-servicios/puerto-53-dns.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
