> For the complete documentation index, see [llms.txt](https://books.spartan-cybersec.com/cppj/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://books.spartan-cybersec.com/cppj/networking-for-juniors/puertos-y-servicios/puerto-53-dns.md).

# 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.
