Exploración de Subdominios y DNS para Auditoría de Seguridad
Clase 10 de 33 • Curso de Pentesting a Redes
Resumen
¿Qué es el protocolo DNS y por qué es importante?
El crecimiento del internet ha traído consigo la necesidad de traducir o interpretar direcciones IP, que consisten principalmente en números y puntos. Lidiar con estas secuencias numéricas puede ser tedioso y poco práctico para recordar. Por ello, se creó el protocolo DNS (Domain Name System), que permite convertir estas direcciones IP en nombres de dominio legibles y fáciles de recordar, como "platzi.com". Este sistema es vital para una navegación web eficiente y es la base del funcionamiento de muchas aplicaciones y servicios en línea.
El DNS actúa como un directorio global que, al recibir una demanda por parte de un navegador web u otra aplicación, traduce un nombre de dominio introducido por el usuario en su correspondiente dirección IP, permitiendo al usuario conectarse con el servidor correcto sin necesidad de recordar largas secuencias numéricas. Así, siempre que un usuario esté conectado a internet, puede comunicarse con servidores en tiempo real y acceder a la información deseada de manera más sencilla y efectiva.
¿Cómo se estructuran los dominios y subdominios en el DNS?
La estructura del DNS es jerárquica y se organiza de manera similar a un árbol, empezando desde una raíz que se representa con un punto. Cada paso a la izquierda del punto en un nombre de dominio comienza a definir subdominios o niveles. Por ejemplo, en "platzi.com", ".com" es el dominio de primer nivel, mientras que "platzi" sería un dominio de segundo nivel.
- Dominios de primer nivel (TLDs): se encuentran justo después del punto raíz. Ejemplos incluyen ".com", ".org", ".net", etc.
- Dominios de segundo nivel: están situados a la izquierda del TLD y generalmente son los nombres que más reconocemos como nombres de marca o empresa.
- Subdominios: son prefijos situados a la izquierda del dominio principal, como "cursos.platzi.com", que se utiliza frecuentemente para segmentar servicios o áreas específicas dentro de un sitio.
Cada dominio y subdominio puede tener distintas direcciones IP asociadas, lo que permite una mayor flexibilidad en la gestión del tráfico web y la distribución de servicios.
¿Cómo ejecutar búsquedas de DNS para identificar subdominios?
Para obtener todos los subdominios disponibles en un dominio de segundo nivel, se pueden utilizar herramientas y comandos desde una terminal, como lo demuestra el siguiente ejemplo usando Kali Linux:
# Usar el comando dig para consultar subdominios
dig platzi.com ANY +short
# Utilizar el comando host para buscar direcciones IP
host platzi.com
# Utilizar el comando deblópe
dnscan -d platzi.com
Estos comandos generan solicitudes DNS similares a las que haría un navegador y permiten identificar tanto las direcciones IP como los subdominios asociados con un dominio principal. Así, podemos descubrir la infraestructura que puede ser utilizada para probar diferentes servidores y ejecutar análisis más detallados dentro de un contexto de seguridad informática.
¿Cómo se ejecuta fuerza bruta para descubrir subdominios?
El ataque de fuerza bruta está diseñado para probar todas las combinaciones posibles de caracteres en busca de subdominios. A menudo se combinan con ataques de diccionario, que usan listas predefinidas de palabras posibles que podrían estar configuradas como subdominios. Estos métodos son útiles para detectar subdominios ocultos que pueden no ser obvios o que no están incluidos en las zonas de transferencia de DNS.
Ejemplo de ejecución en Kali Linux:
-
Preparar una lista de palabras: Se copia un archivo de lista de palabras preexistente, como
dnsmap.txt
, que contiene posibles nombres de subdominios.cp /path/to/dnsmap.txt /working/directory/
-
Ejecutar el ataque con
dnsenum
: Usar el comando con el dominio deseado y la lista de palabras para identificar subdominios.dnsenum --enum -w dnsmap.txt example.com
Esto nos ayuda a destapar más subdominios y sus correspondientes direcciones IP, mejorando la visibilidad general de los activos de red de un dominio particular y permitiendo una evaluación más profunda de su seguridad.
Las direcciones y subdominios descubiertos pueden servir para auditar y probar vulnerabilidades con herramientas especializadas, un enfoque particularmente valioso para administradores de sistemas y profesionales de ciberseguridad. A medida que continúas explorando las capacidades del DNS, podrás descubrir nuevas maneras de optimizar y asegurar tu entorno digital. ¡Sigue adelante en tu aprendizaje y perfeccionamiento!