Enumeración de dominios y Whois

CiberseguridadBeginner
Practicar Ahora

Introducción

La recopilación de información es el primer paso crítico en cualquier evaluación de seguridad. Antes de interactuar directamente con los servidores de un objetivo, los profesionales de seguridad realizan un "reconocimiento pasivo" para recopilar información disponible públicamente.

El reconocimiento pasivo es importante porque te permite construir un contexto antes de generar cualquier señal evidente en la infraestructura del objetivo. Los buenos operadores no comienzan enviando paquetes si los registros públicos ya pueden responder preguntas fundamentales, como quién es el propietario del dominio, qué registrador está involucrado y qué servidores de nombres parecen controlar el espacio de nombres.

Una de las técnicas más fundamentales para el reconocimiento pasivo es la enumeración Whois. Whois es un registro de internet ampliamente utilizado que identifica quién posee un dominio y cómo ponerse en contacto con ellos. La Corporación de Internet para la Asignación de Nombres y Números (ICANN) regula el registro y la propiedad de nombres de dominio, exigiendo a los registradores que mantengan estos registros públicos.

En este laboratorio, aprenderás a utilizar la línea de comandos de Linux para consultar bases de datos Whois. Recopilarás información fundamental sobre un dominio objetivo, extraerás información de contacto administrativo e identificarás los servidores de nombres autorizados responsables de enrutar el tráfico del objetivo.

Realizar una búsqueda Whois

En este paso, aprenderás a realizar una búsqueda Whois básica contra un dominio objetivo. Utilizaremos ubuntu.com como nuestro objetivo para este ejercicio educativo.

El comando whois en Linux es una utilidad cliente que consulta el servicio de directorio Whois. Recupera información sobre el registro de un dominio, incluido el registrador, las fechas de creación y vencimiento, y la organización que lo posee.

Los datos de Whois no son un mapa directo de los sistemas en ejecución, pero revelan la propiedad y las relaciones administrativas. Esto lo hace útil para definir el alcance, la atribución y comprender qué proveedores externos pueden ser parte de la huella del objetivo.

Para mantener un registro de nuestros hallazgos, utilizaremos el operador de redirección de salida (>). Este operador toma la salida de un comando que normalmente se imprimiría en tu pantalla y la guarda en un archivo.

Asegúrate de estar en tu directorio de trabajo predeterminado (~/project). Ejecuta el siguiente comando para realizar una búsqueda Whois en ubuntu.com y guarda toda la salida en un archivo llamado whois_full.txt:

whois ubuntu.com > whois_full.txt

Debido a que redirigimos la salida, no verás nada impreso en la pantalla. Para verificar que el comando funcionó y ver las primeras líneas del archivo, utiliza el comando head:

head -n 15 whois_full.txt

Deberías ver una salida similar a esta, que muestra los detalles iniciales del registro:

   Domain Name: UBUNTU.COM
   Registry Domain ID: 121365156_DOMAIN_COM-VRSN
   Registrar WHOIS Server: whois.markmonitor.com
   Registrar URL: http://www.markmonitor.com
   Updated Date: 2024-04-27T10:28:21Z
   Creation Date: 2004-05-29T18:38:39Z
   Registry Expiry Date: 2026-05-29T18:38:39Z
   Registrar: MarkMonitor Inc.
   Registrar IANA ID: 292
   Registrar Abuse Contact Email: abusecomplaints@markmonitor.com
   Registrar Abuse Contact Phone: +1.2086851750
   Domain Status: clientDeleteProhibited https://icann.org/epp#clientDeleteProhibited
   Domain Status: clientTransferProhibited https://icann.org/epp#clientTransferProhibited
   Domain Status: clientUpdateProhibited https://icann.org/epp#clientUpdateProhibited
   Name Server: NS1.CANONICAL.COM

Estos datos sin procesar contienen una gran cantidad de información, pero puede ser abrumador leerlos manualmente. En los siguientes pasos, aprenderemos a filtrar este archivo para obtener inteligencia específica.

Extraer contactos administrativos

En este paso, aprenderás a extraer información de contacto específica de los datos Whois sin procesar que recopilamos.

Durante el reconocimiento, identificar los contactos administrativos y técnicos es valioso. Estas direcciones de correo electrónico y números de teléfono pueden proporcionar información sobre la estructura de la organización objetivo y a menudo se utilizan en etapas posteriores de una evaluación (como la ingeniería social o la identificación de personal clave).

Incluso cuando las reglas de privacidad modernas ocultan los detalles personales, los contactos restantes del registrador y de abuso aún te dicen algo sobre cómo se gestiona el dominio y qué partes son responsables de él.

Para extraer esta información, utilizaremos el comando grep. grep es una potente utilidad de búsqueda de texto en Linux que imprime las líneas que coinciden con un patrón específico. Usaremos la bandera -i con grep para que nuestra búsqueda no distinga entre mayúsculas y minúsculas, lo que significa que coincidirá con "Email", "email" o "EMAIL".

Ejecuta el siguiente comando para buscar la palabra "email" dentro de nuestro archivo whois_full.txt y guarda los resultados en un nuevo archivo llamado contacts.txt:

grep -i "email" whois_full.txt > contacts.txt

Ahora, veamos el contenido del archivo contacts.txt usando el comando cat, que lee un archivo y muestra todo su contenido en la pantalla:

cat contacts.txt

Tu salida debería verse similar a esta, mostrando los correos electrónicos de contacto asociados con el dominio:

   Registrar Abuse Contact Email: abusecomplaints@markmonitor.com
Registrar Abuse Contact Email: abusecomplaints@markmonitor.com
Registrant Email: Select Request Email Form at https://domains.markmonitor.com/whois/ubuntu.com
Tech Email: Select Request Email Form at https://domains.markmonitor.com/whois/ubuntu.com
...

Nota: Debido a las regulaciones de privacidad modernas como el RGPD, muchos registradores ahora redactan las direcciones de correo electrónico personales de los registros Whois públicos. Sin embargo, a menudo seguirás encontrando correos electrónicos de contacto de abuso o direcciones administrativas genéricas, que siguen siendo piezas útiles de inteligencia.

Identificar los servidores de nombres del objetivo

En este paso final, extraerás los servidores de nombres autorizados para el dominio objetivo.

Los servidores de nombres son una parte fundamental del Sistema de Nombres de Dominio (DNS). Actúan como el directorio de internet, traduciendo nombres de dominio legibles por humanos (como ubuntu.com) en direcciones IP que las computadoras utilizan para comunicarse. Identificar los servidores de nombres de un objetivo te indica qué empresa aloja su infraestructura DNS. Esto puede revelar si gestionan sus propios servidores internamente o si utilizan un proveedor de nube externo (como AWS, Cloudflare o un registrador específico).

Esto es estratégicamente útil porque los proveedores de DNS a menudo se convierten en parte de la historia de la superficie de ataque. Pueden exponer configuraciones de transferencia, errores de configuración o pistas sobre cómo el objetivo opera sus servicios externos.

Utilizaremos una vez más el comando grep para filtrar nuestros datos Whois originales. Esta vez, buscaremos el término "Name Server".

Ejecuta el siguiente comando para extraer los registros de servidores de nombres de whois_full.txt y guárdalos en un archivo llamado nameservers.txt:

grep -i "Name Server" whois_full.txt > nameservers.txt

Usa el comando cat para ver los servidores de nombres extraídos:

cat nameservers.txt

Deberías ver una salida similar a la siguiente:

   Name Server: NS1.CANONICAL.COM
   Name Server: NS2.CANONICAL.COM
   Name Server: NS3.CANONICAL.COM
Name Server: ns1.canonical.com
Name Server: ns3.canonical.com
Name Server: ns2.canonical.com

En este ejemplo, los servidores de nombres apuntan a CANONICAL.COM. Canonical es la empresa que desarrolla y mantiene Ubuntu. Esto nos dice que Canonical gestiona su propia infraestructura DNS en lugar de depender de un servicio de terceros, lo cual es una valiosa pieza de inteligencia técnica.

Resumen

¡Felicidades! Has completado con éxito el laboratorio de Enumeración de dominios y Whois.

En este laboratorio, aprendiste a realizar un reconocimiento pasivo utilizando herramientas nativas de línea de comandos de Linux. Utilizaste el comando whois para consultar bases de datos de registro de dominios públicos y utilizaste la redirección de salida (>) para guardar tus hallazgos. Además, practicaste el uso del comando grep para analizar grandes cantidades de texto, extrayendo con éxito inteligencia específica y procesable, como correos electrónicos de contacto administrativo y servidores de nombres autorizados.

Estas habilidades fundamentales son esenciales para mapear la huella externa de un objetivo antes de que comience cualquier escaneo activo o compromiso.