DNS
Explicación del funcionamiento del protocolo DNS
Fuentes
Domain Name System
Resumen
El protocolo DNS es un sistema distribuido que traduce nombres de dominio (p.ej google.com) a direcciones IP (142.250.201.14).
Por defecto, el protocolo DNS no tiene cifrado, por lo que suelen usarse DoT (DNS over TLS) y DoH (DNS over HTTPS)
Puertos UDP/53, TCP/53.
UDP/53 -> Usado por defecto por el protocolo para resoluciones DNS, más rápido que TCP.
TCP/53 -> Si el tamaño de los mensajes excede los 512 bytes (el máximo de un datagrama UDP), se usará TCP en lugar de UDP.
Tipos de registros
Los registros DNS son archivos de texto que dan info sobre un host o dominio (como IPs actuales y otros datos), hay varios tipos:
A: El más común, mapea un nombre de dominio a una IPv4
AAAA: Mapea un nombre de dominio a una IPv6
CNAME: Sirve como alias, para cuando un dominio o subdominio es un alias de otro dominio. (Siempre apunta a otro dominio, no a IPs)
MX: Apunta a nombres de servidores de correo de un dominio
TXT: Info en texto relacionada con dominios y subdominios.
NS: Apunta a los servidores DNS que proporcionan los registros DNS para el dominio específico.
SOA: Almacena info sobre la zona DNS, como detalles sobre el servidor primario y la administración.
Enumeración
Enumeración Activa
Con dig podemos realizar consultas DNS a nuestros objetivos para conseguir una imagen general de la infraestructura:
Esto da bastante información, podemos usar +short para filtrar solo lo relevante:
Y cambiando ns por cualquier otro tipo de registro (SOA, A, CNAME, MX...) podemos solicitar cualquier otro tipo de información:
AXFR
AXFR (Authoritative Transfer) es un mecanismo de transferencia de zona DNS usado para replicar bases de datos DNS entre servidores.
Normalmente sirve para sincronizar info DNS entre servidores, pero si está mal configurado podemos solicitar un AXFR nosotros mismos, obteniendo un dump de la info dns de un servidor.
Fuerza Bruta
Podemos usar herramientas como fierce o gobuster:
Hostname Reverse Lookup
Para entornos AD, es muy probable que necesitemos un hostname y no podamos autenticarnos (p.ej por Kerberos) simplemente contra una IP. Para ello, si estamos ante un DC con el puerto DNS (53) abierto, podemos probar a hacer un DNS reverse lookup:
Última actualización