Saltar al contenido
Portada » Blog – Laprovittera Carlos » TryHackMe – DNS in Detail

TryHackMe – DNS in Detail

Hola, hacketones! En este capítulo de TryHackMe – DNS in Detaill Veremos cómo funciona el DNS y cómo le ayuda a acceder a los servicios de Internet. Navegar por internet hoy en día parece un acto de magia simplificada. Escribimos una dirección amigable como tryhackme.com en la barra de búsqueda y, en una fracción de segundo, el contenido aparece ante nosotros. Sin embargo, detrás de esa sencillez se oculta un lenguaje numérico que las computadoras utilizan para comunicarse: las direcciones IP. Cada dispositivo conectado a la red posee una dirección única, como 104.26.10.229, compuesta por cuatro grupos de dígitos que permiten el direccionamiento preciso de la información.

DNS in Detail – How the web works

Objetivos de esta práctica

  • Entender cómo funciona la resolución DNS (cache local → recursivo → raíz → TLD → autoritativo).
  • Conocer los tipos de registro más comunes: A, AAAA, CNAME, MX, TXT.
  • Saber usar herramientas de consola (dig, nslookup, host) para consultar registros.
  • Interpretar TTL, servidores recursivos y autoritativos.
  • Practicar consultas directas a servidores autoritativos, búsquedas inversas y uso de +trace.
  • Realizar pequeñas tareas de enumeración DNS (subdominios, zone transfer, etc).

¿Qué es DNS ?

El DNS (Sistema de Nombres de Dominio) nos permite comunicarnos fácilmente con dispositivos en internet sin tener que recordar números complejos. Al igual que cada casa tiene una dirección única para recibir correo electrónico, cada computadora en internet tiene su propia dirección única para comunicarse, llamada dirección IP. Una dirección IP se parece a 104.26.10.229: cuatro conjuntos de dígitos del 0 al 255 separados por un punto. Al visitar un sitio web, no es muy cómodo recordar este complejo conjunto de números, y ahí es donde el DNS puede ser útil. Así que, en lugar de recordar 104.26.10.229, puedes recordar tryhackme.com .

El Sistema de Nombres de Dominio (DNS) es la infraestructura invisible que hace posible esta navegación, funcionando esencialmente como la «guía telefónica» de internet. Esta herramienta es el puente esencial entre la cognición humana y la eficiencia binaria; mientras que nuestra memoria está diseñada para retener nombres y conceptos semánticos, las máquinas procesan números de forma mucho más eficaz. Sin el DNS, la web moderna sería un entorno hostil donde tendríamos que memorizar secuencias numéricas arbitrarias para cada servicio que deseamos utilizar.

¿Qué significa DNS?

Domain Name System
 

Jerarquía de dominios

La imagen muestra la estructura jerárquica del sistema de nombres de dominio (DNS), explicando cómo se organiza el espacio de nombres de Internet desde la raíz hasta los dominios de segundo nivel.

En la parte superior se encuentra el Root Domain (Dominio raíz), representado con un punto «.» y un círculo rojo. Este nivel es el origen de toda la jerarquía del DNS y sirve como punto de referencia para la resolución de nombres. Aunque no lo vemos al escribir una dirección web, siempre está implícito al final de cada dominio.

Un nombre de dominio no es simplemente una etiqueta; es una estructura jerárquica estrictamente organizada que se lee de derecha a izquierda. Esta arquitectura no es aleatoria, sino que obedece a reglas técnicas precisas que garantizan que el sistema sea escalable a nivel global.

• TLD (Top-Level Domain): Es la extensión situada al final (ej. .com).

• Segundo Nivel (Second-Level Domain): Es el nombre principal del sitio (ej. tryhackme). Está limitado a 63 caracteres y solo permite el uso de letras (a-z), números (0-9) y guiones, con la restricción de que estos últimos no pueden iniciar ni terminar una sección, ni aparecer de forma consecutiva.

• Subdominio: Se ubica a la izquierda del dominio de segundo nivel (ej. admin). Posee las mismas restricciones de caracteres y longitud que el nivel anterior.

Para comprender la magnitud de esta jerarquía, analicemos el ejemplo jupiter.servers.tryhackme.com:

• .com: TLD

• tryhackme: Dominio de Segundo Nivel

• servers: Subdominio

• jupiter: Subdominio del subdominio

Aunque podemos crear múltiples niveles de subdominios, la longitud total del nombre de dominio completo no puede exceder los 253 caracteres.

TLD (Dominio de nivel superior)

Un TLD es la parte más a la derecha de un nombre de dominio. Por ejemplo, el TLD  tryhackme.com es .com . Existen dos tipos de TLD: gTLD (nivel superior genérico) y ccTLD (dominio de nivel superior de código de país). Históricamente, un gTLD se utilizaba para indicar al usuario el propósito del nombre de dominio; por ejemplo, un .com se utilizaba para fines comerciales, .org para una organización, .edu para educación y .gov para el gobierno. Un ccTLD también se utilizaba para fines geográficos; por ejemplo, .ca para sitios ubicados en Canadá, .co.uk para sitios ubicados en el Reino Unido, etc. Debido a esta demanda, existe una afluencia de nuevos gTLD, como .online, .club, .website, .biz y muchos más. Para obtener una lista completa de más de 2000 TLD,  haga clic aquí .

Debajo del dominio raíz están los Top-Level Domains (TLD) o dominios de nivel superior, marcados con círculos azules. Algunos ejemplos son .edu, .com, .gov y .mil. Estos TLD dividen Internet en grandes categorías: educación, comercio, gobierno, y militar, respectivamente.

«Históricamente, los gTLD (dominios genéricos) indicaban el propósito del sitio, como .com para comercio o .edu para educación, mientras que los ccTLD (dominios de nivel superior de código de país) como .ca o .co.uk identificaban ubicaciones geográficas. Hoy, ante la alta demanda, vivimos un flujo masivo de nuevos gTLDs como .online, .club o .biz».

Dominio de segundo nivel

Tomando tryhackme.com como ejemplo, la parte .com es el TLD y tryhackme es el dominio de segundo nivel. Al registrar un nombre de dominio, el dominio de segundo nivel está limitado a 63 caracteres + el TLD y solo puede usar del 0 al 9 y guiones (no puede empezar ni terminar con guiones ni tener guiones consecutivos).

Cada TLD puede tener múltiples Second-Level Domains (SLD) o dominios de segundo nivel, mostrados en verde. Estos son nombres registrados dentro de un TLD específico, como MIT.edu, Google.com, TryHackme.com, USA.gov, NASA.gov y Army.mil. En este nivel, las organizaciones, empresas o instituciones definen su identidad en la red.

Subdominio

Un subdominio se ubica a la izquierda del dominio de segundo nivel y se separa con un punto; por ejemplo, en el nombre admin.tryhackme.com , la parte «admin» es el subdominio. Un nombre de subdominio tiene las mismas restricciones de creación que un dominio de segundo nivel: está limitado a 63 caracteres y solo puede usar del 0 al 9 y guiones (no puede empezar ni terminar con guiones ni tener guiones consecutivos). Puede usar varios subdominios separados por puntos para crear nombres más largos, como jupiter.servers.tryhackme.com . Sin embargo, la longitud debe ser de 253 caracteres o menos. No hay límite para la cantidad de subdominios que puede crear para su nombre de dominio.

En resumen, la jerarquía del DNS va desde el dominio raíz, pasando por los TLD, hasta los dominios de segundo nivel. Esta estructura permite que el sistema de nombres funcione de forma ordenada y distribuida, haciendo posible que cualquier nombre de dominio pueda traducirse correctamente a una dirección IP en Internet.

¿Cuál es la longitud máxima de un subdominio?

63

¿Cuál de los siguientes caracteres no se puede utilizar en un subdominio (3 b _ -)?
_

¿Cuál es la longitud máxima de un nombre de dominio?

253

¿Qué tipo de TLD es .co.uk?

ccTLD

Tipos de registros

Sin embargo, el DNS no es solo para sitios web, y existen múltiples tipos de registros DNS . Repasaremos algunos de los más comunes que probablemente encuentres. Como estrategas digitales, debemos entender que el DNS no solo sirve para cargar páginas web; es un sistema versátil que utiliza diferentes tipos de registros como herramientas específicas para diversas necesidades de infraestructura:

  • A: Estos registros se resuelven en direcciones IPv4, por ejemplo 104.26.10.229
  • AAAA: Estos registros se resuelven en direcciones IPv6, por ejemplo 2606:4700:20::681a:be5. El estándar para el futuro. Cumple la misma función que el registro A.
  • CNAME: Estos registros se resuelven a otro nombre de dominio; por ejemplo, la tienda online de TryHackMe tiene el subdominio store.tryhackme.com , que devuelve un registro CNAME llamado shops.shopify.com . Se realizaría entonces otra solicitud DNS a shops.shopify.com para obtener la dirección IP.  Funciona como un alias. Por ejemplo, store.tryhackme.com puede ser un alias de shops.shopify.com, lo que permite que el servicio sea gestionado externamente mientras mantiene nuestra identidad de marca.
  • MX: Estos registros se resuelven en la dirección de los servidores que gestionan el correo electrónico del dominio consultado. Por ejemplo, una respuesta de registro MX para tryhackme.com sería algo como  alt1.aspmx.l.google.com . Estos registros también incluyen un indicador de prioridad. Este indica al cliente en qué orden probar los servidores, lo cual es ideal si el servidor principal falla y el correo electrónico debe enviarse a un servidor de respaldo. Crucial para la comunicación corporativa. Identifica los servidores de correo y utiliza banderas de prioridad; si el servidor principal falla, el sistema sabe automáticamente a qué servidor de respaldo debe dirigirse.
  • Registro TXT: Los registros TXT son campos de texto libre donde se puede almacenar cualquier dato textual. Tienen múltiples usos, pero algunos comunes son enumerar los servidores autorizados para enviar correos electrónicos en nombre del dominio (esto puede ayudar en la lucha contra el spam y el correo electrónico falsificado). También se pueden usar para verificar la propiedad del nombre de dominio al registrarse en servicios de terceros. El «comodín» de seguridad. Permite almacenar cualquier dato en formato de texto. Su uso es vital en la batalla contra el spam y el spoofing, permitiendo configurar protocolos de verificación de propiedad y autenticación de servidores de correo autorizados.

¿Qué tipo de registro se utilizaría para indicar dónde enviar el correo electrónico?

MX

¿Qué tipo de registro maneja direcciones IPv6?

AAAA

¿Qué sucede cuando realizas una solicitud DNS ?

Cuando solicita un nombre de dominio, su computadora primero verifica su caché local para ver si ya ha buscado la dirección recientemente; si no, se realizará una solicitud a su servidor DNS recursivo. Esta estructura jerárquica no es solo estética; es el mapa que permite que nuestra solicitud inicie su viaje por la red. Cuando ingresas a un sitio y tu computadora no tiene la dirección en su caché local, comienza una búsqueda frenética que involucra múltiples paradas en la infraestructura global:

Servidor DNS Recursivo (ISP): 

Tu computadora consulta primero al servidor de tu proveedor de internet. Si este no tiene la respuesta en su memoria, inicia el proceso de consulta externa.

Su proveedor de servicios de internet (ISP) suele proporcionarle un servidor DNS recursivo (Lo cual recomiendo ampliamente sobre todo para saltear algunos bloqueos que puede hacer tu ISP) , pero también puede elegir el suyo propio. Este servidor también tiene una caché local con los nombres de dominio buscados recientemente. Si se encuentra un resultado localmente, este se envía a su equipo y su solicitud termina aquí (esto es común en servicios populares y muy solicitados como Google, Facebook y Twitter). Si no se encuentra la solicitud localmente, se inicia un proceso para encontrar la respuesta correcta, comenzando por los servidores DNS raíz de internet .

Servidores Raíz (Root Servers): 

Son el núcleo del internet. Su función no es resolver el nombre directamente, sino «delegar» la consulta. Al reconocer la extensión (ej. .com), te redirigen al servidor TLD correspondiente.

Los servidores raíz actúan como la columna vertebral del DNS en internet; su función es redirigir al usuario al servidor de dominio de nivel superior correcto, según su solicitud. Si, por ejemplo, solicita www.tryhackme.com , el servidor raíz reconocerá el dominio de nivel superior .com y lo redirigirá al servidor TLD correcto que gestiona las direcciones .com.

Servidores TLD: 

Gestionan extensiones específicas y saben exactamente en qué lugar se encuentra el servidor que tiene los registros oficiales del dominio solicitado.

El servidor TLD guarda los registros que indican dónde encontrar el servidor autoritativo para responder a la solicitud DNS . El servidor autoritativo también se conoce como el servidor de nombres del dominio. Por ejemplo, el servidor de nombres para tryhackme.com es kip.ns.cloudflare.com y uma.ns.cloudflare.com . A menudo, encontrarás varios servidores de nombres para un nombre de dominio que actúan como respaldo en caso de que uno falle.

Servidor Autoritativo (Nameserver): 

Es la parada final y el «dueño» legítimo de la verdad. A diferencia de los servidores anteriores que solo «recuerdan» o «delegan», el servidor autoritativo es el responsable oficial de almacenar los registros y es el único lugar donde se pueden realizar actualizaciones. Este proceso, aunque involucra saltos por diversos puntos del planeta, sucede en milisegundos, asegurando que la complejidad de esta carrera de relevos permanezca oculta tras la interfaz del navegador.

Un servidor DNS autoritativo es el servidor responsable de almacenar los registros DNS de un nombre de dominio específico y donde se realizan las actualizaciones de dichos registros. Según el tipo de registro, este se envía de vuelta al servidor DNS recursivo , donde se almacena en caché una copia local para futuras solicitudes y se retransmite al cliente original que realizó la solicitud. Todos los registros DNS tienen un valor TTL (tiempo de vida). Este valor es un número expresado en segundos durante el cual la respuesta debe guardarse localmente hasta que se vuelva a consultar. El almacenamiento en caché evita tener que realizar una solicitud DNS cada vez que se comunica con un servidor.

El concepto de TTL: La memoria selectiva de Internet

Para mantener la eficiencia y evitar que cada clic en el mundo sature los servidores raíz, el sistema utiliza el TTL (Time To Live) o Tiempo de Vida. Este valor, expresado en segundos, dicta cuánto tiempo debe un servidor o computadora guardar una respuesta en su caché antes de solicitar una actualización.

Existe un equilibrio estratégico constante en el TTL: un tiempo corto garantiza que cualquier cambio en el servidor se propague rápidamente por la red, pero aumenta la carga de tráfico. Por el contrario, un TTL largo mejora la velocidad de respuesta al evitar consultas repetitivas, pero puede retrasar la actualización de registros si el administrador decide mudar sus servicios a un nuevo servidor.

¿Qué campo especifica durante cuánto tiempo se debe almacenar en caché un registro DNS?

TTL

¿Qué tipo de servidor DNS suele proporcionar su ISP?

Recursive

¿Qué tipo de servidor almacena todos los registros de un dominio?

Authoritative

Práctico

Usando el sitio web de la derecha, podemos crear solicitudes para realizar consultas DNS y ver los resultados. El sitio web también te mostrará el comando que debes ejecutar en tu computadora si deseas realizar las solicitudes tú mismo.

¿Cuál es el CNAME de shop.website.thm?

shops.myshopify.com

¿Cuál es el valor del registro TXT de website.thm?

THM{7012BBA60997F35A9516C2E16D2944FF}

Y sí, en estos registros pueden escribir lo que quieran

¿Cuál es el valor de prioridad numérica del registro MX?

30

¿Cuál es la dirección IP del registro A de www.website.thm?

10.10.10.10

Respuestas del lab (comprobadas)

  • CNAME de shop.website.thm: shops.myshopify.com
  • Valor del registro TXT de website.thm: THM{7012BBA60997F35A9516C2E16D2944FF}
  • Valor de prioridad numérica del registro MX: 30
  • Dirección IP del registro A de www.website.thm: 10.10.10.10

Últimos consejos para la sala TryHackMe

  • Lee la teoría en este artículo o en la sala y luego reproduce los pasos con dig en tu máquina. Practicar los comandos repetidas veces ayuda a memorizarlos.
  • Usa la consola integrada de la sala si te falta conectividad a .thm.
  • Anota los comandos más útiles en un fichero cheatsheet.txt para tenerlos siempre a mano.
  • Cuando avances a ataques más prácticos (SSRF, zone transfers), hazlo solo en entornos autorizados (labs, VMs propias).

El DNS es el pilar silencioso que permite que internet sea escalable y, sobre todo, humano. Gracias a este sistema, la red puede crecer indefinidamente sin que perdamos la capacidad de navegar de forma intuitiva. Es, en esencia, una de las piezas de ingeniería más elegantes del mundo moderno: un sistema jerárquico que gestiona billones de solicitudes con una precisión quirúrgica.

¿Cómo cambiaría nuestra experiencia digital si cada mañana tuviéramos que consultar una lista manual de números para acceder a nuestras redes sociales o herramientas de trabajo? Gestionar manualmente las direcciones de cada servicio convertiría la web en un laberinto impracticable. El DNS es la prueba de que la mejor tecnología es aquella que trabaja incansablemente en las sombras para que nuestro presente digital sea asombrosamente sencillo.

Recuerden: el sistema siempre habla. Nos vemos en el próximo post hacketones!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *