Geekflare recibe el apoyo de nuestra audiencia. Podemos ganar comisiones de afiliación de los enlaces de compra en este sitio.
En Linux y Redes de ordenadores Última actualización: 25 de septiembre de 2023
Compartir en:
Escáner de seguridad de aplicaciones web Invicti - la única solución que ofrece verificación automática de vulnerabilidades con Proof-Based Scanning™.

El comando HOST es una sencilla utilidad de interfaz de línea de comandos para realizar la enumeración DNS.

En la investigación de seguridad y el hacking ético, la enumeración DNS es la primera fase en la recopilación de información de un objetivo. Es el proceso de consulta de todos los registros DNS potenciales de un servidor de nombres de dominio, como detalles del servidor de nombres, direcciones IP, detalles del intercambiador de correo, TTL y más.

Los atacantes pueden utilizar esta información enumerada por DNS para examinar los registros internos de la red.

Existen numerosas herramientas de reconocimiento de DNS y de enumeración en línea disponibles en Internet. Sin embargo, la enumeración DNS puede realizarse fácilmente con una única utilidad de línea de comandos. Se trata de "HOST".

En este artículo, veremos algunos ejemplos útiles de comandos host para consultar detalles DNS.

¡Empecemos!

Instalación

El comando "HOST" a veces puede no estar disponible por defecto en una máquina recién instalada. Como resultado, tendrá que instalarlo manualmente en el sistema. El proceso de instalación es bastante sencillo.

Todos los comandos relacionados con DNS como nslookup, dig y host están contenidos en la librería "bind-utils". Para ello, sólo tiene que teclear el siguiente comando en el terminal.

sudo apt-get install dnsutils -y

Este comando HOST funciona tanto en MAC como en Linux.

Uso

Sintaxis general: El comando general "host" imprime la sintaxis general del comando y los argumentos que se pueden utilizar con él, así como una breve descripción de cada argumento.

Ejemplo de salida:

┌──(geekflare㉿kali)-[~]
└─$ host 
Uso: host [-aCdilrTvVw] [-c class] [-N ndots] [-t type] [-W time]
 [-R number] [-m flag] [-p port] hostname [server]
 -a es equivalente a -v -t ANY
 -A es como -a pero omite RRSIG, NSEC, NSEC3
 -c especifica la clase de consulta para datos no IN
 -C compara los registros SOA en servidores de nombres autoritativos
 -d es equivalente a -v
 -l lista todos los hosts de un dominio, utilizando AXFR
 -m establece la bandera de depuración de memoria (trace|record|usage)
 -N cambia el número de puntos permitidos antes de que se realice la búsqueda raíz
 -p especifica el puerto en el servidor para realizar la consulta
 -r desactiva el procesamiento recursivo
 -R especifica el número de reintentos para paquetes UDP
 -s una respuesta SERVFAIL debe detener la consulta
 -t especifica el tipo de consulta
 -T habilita el modo TCP/IP
 -U habilita el modo UDP
 -v habilita la salida verbosa
 -V imprime el número de versión y sale
 -w especifica esperar eternamente una respuesta
 -W especifica cuánto tiempo esperar una respuesta
 -4 utilizar sólo transporte de consulta IPv4
 -6 utilizar sólo transporte de consulta IPv6

Para encontrar la dirección IP del dominio

Para encontrar la dirección IP de un dominio concreto, basta con pasar el nombre del dominio de destino como argumento después de la orden host.

host Dominio-destino

Salida de ejemplo:

┌──(geekflare㉿kali)-[~]
└─$ host geekflare.com
geekflare.com tiene la dirección 104.27.118.115
geekflare.com tiene la dirección 104.27.119.115
geekflare.com tiene la dirección IPv6 2606:4700:20::681b:7673
geekflare.com tiene la dirección IPv6 2606:4700:20::681b:7773
geekflare.com es gestionado por 1 aspmx.l.google.com.
el correo de geekflare.com es gestionado por 5 alt1.aspmx.l.google.com.
el correo de geekflare.com es gestionado por 5 alt2.aspmx.l.google.com.
el correo de geekflare.com es gestionado por 10 alt3.aspmx.l.google.com.
el correo de geekflare.com es gestionado por 10 alt4.aspmx.l.google.com.

Para una búsqueda exhaustiva utilizando el modo verboso, utilice la opción de bandera -a o -v.

Ejemplo de salida:

┌──(geekflare㉿kali)-[~]
└─$ host -a geekflare.com 
Probando "geekflare.com"
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 24690
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;geekflare.com.                 IN ANY

;; ANSWER SECTION:
geekflare.com.          3789 IN HINFO "RFC8482" ""
geekflare.com.          3789 IN RRSIG HINFO 13 2 3789 20220307065004 20220305045004 34505 geekflare.com. HW0Lfr5HazPMaACSBHmFqs94usKUljX kONW/8Q2jwQ1QoAO9DEMjwDX rIQKODGtGnEizj2SzBF98mC2uQr7hQ==

Recibido 161 bytes de 192.168.1.1#53 en 64 ms

Esta opción (-a) se utiliza para encontrar todos los registros de dominio y la información de las zonas. También puede observar la dirección del servidor DNS local utilizada para la búsqueda.

Para realizar una Búsqueda Inversa

Este comando realiza una búsqueda inversa en la dirección IP y muestra el nombre de host o de dominio.

Como ejemplo, la sintaxis sería la siguiente:

host target-ip-address

Salida de ejemplo:

┌──(geekflare㉿kali)-[~]
└─$ host dnsleaktest.com 
dnsleaktest.com tiene la dirección 23.239.16.110
                                                                                                              
┌──(geekflare㉿kali)-[~]
└─$ host 23.239.16.110 
110.16.239.23.in-addr.arpa nombre de dominio puntero li685-110.members.linode.com.

Si copia-pega la dirección del puntero ( li685-110.members.linode.com.) en el navegador web, será redirigido al sitio web.

Para encontrar servidores de nombres de dominio

Utilice la opción -t para obtener los servidores de nombres de dominio. Se utiliza para especificar el tipo de consulta.

Aquí estoy pasando el argumento -t para encontrar los servidores de nombres de un nombre de dominio específico.

El registro NS especifica los servidores de nombres autoritativos.

host -t ns dominio-destino

Salida de ejemplo:

┌──(geekflare㉿kali)-[~]
└─$ host -t ns geekflare.com
geekflare.com servidor de nombres olga.ns.cloudflare.com.
geekflare.com servidor de nombres todd.ns.cloudflare.com.

Para consultar determinado servidor de nombres de dominio

Para consultar detalles sobre un servidor de nombres de dominio autoritativo específico, utilice el siguiente comando.

host dominio-destino [servidor-de-nombres]

Salida de ejemplo:

┌──(root💀kali)-[/home/geekflare]
└─# host geekflare.com olga.ns.cloudflare.com.                                                           1 ⨯
Usando servidor de dominio:
Nombre: olga.ns.cloudflare.com.
Dirección: 173.245.58.137#53
Alias: 

geekflare.com tiene la dirección 104.27.118.115
geekflare.com tiene la dirección 104.27.119.115
geekflare.com tiene la dirección IPv6 2606:4700:20::681b:7773
geekflare.com tiene la dirección IPv6 2606:4700:20::681b:7673
el correo de geekflare.com es gestionado por 1 aspmx.l.google.com.
el correo de geekflare.com es gestionado por 5 alt1.aspmx.l.google.com.
el correo de geekflare.com es gestionado por 5 alt2.aspmx.l.google.com.
el correo de geekflare.com es gestionado por 10 alt3.aspmx.l.google.com.
el correo de geekflare.com es gestionado por 10 alt4.aspmx.l.google.com.

Para encontrar los registros MX de un dominio

Para obtener una lista de los registros MX ( Mail Exchanger ) de un dominio.

host -t MX dominio-destino

Salida de ejemplo:

┌──(geekflare㉿kali)-[~]
└─$ host -t mx geekflare.com
el correo de geekflare.com es gestionado por 1 aspmx.l.google.com.
el correo de geekflare.com es gestionado por 5 alt1.aspmx.l.google.com.
el correo de geekflare.com es gestionado por 5 alt2.aspmx.l.google.com.
El correo de geekflare.com es gestionado por 10 alt3.aspmx.l.google.com.
El correo de geekflare.com es gestionado por 10 alt4.aspmx.l.google.com.

Este registro MX es responsable de dirigir un correo electrónico a un servidor de correo.

Para encontrar los registros TXT de un dominio

Para obtener una lista de los registros TXT ( información legible por humanos sobre un servidor de dominio ) de un dominio.

host -t txt dominio-destino

Salida de ejemplo:

┌──(geekflare㉿kali)-[~]
└─$ host -t txt geekflare.com
geekflare.com descriptive text "google-site-verification=MRSwa454qay1S6pwwixzoiZl08kfJfkhiQIslhok3-A"
geekflare.com descriptive text "google-site-verification=7QXbgb492Y5NVyWzSAgAScfUV3XIAGTKKZfdpCvcaGM"
geekflare.com descriptive text "yandex-verification: 42f25bad396e79f5"
geekflare.com descriptive text "v=spf1 include:_spf.google.com include:mailgun.org include:zcsend.net ~all"
geekflare.com descriptive text "ahrefs-site-verification_8eefbd2fe43a8728b6fd14a393e2aff77b671e41615d2c1c6fc365ec33a4d6d0"
geekflare.com descriptive text "ca3-7fbfaa573ba248ddb17a618e5b46ca01"

Para encontrar el registro SOA de un dominio

Para obtener una lista del registro SOA ( inicio de autoridad ) de un dominio

host -t soa dominio-destino

Salida de ejemplo:

┌──(geekflare㉿kali)-[~]
└─$ host -t soa geekflare.com
geekflare.com tiene registro SOA olga.ns.cloudflare.com. dns.cloudflare.com. 2271966690 10000 2400 604800 3600

Utilice el siguiente comando para comparar los registros SOA de todos los servidores de nombres autoritativos para una zona determinada ( la parte específica del espacio de nombres DNS ).

host -C dominio-destino

Salida de ejemplo:

┌──(geekflare㉿kali)-[~]
└─$ host -C geekflare.com 2 ⨯
Servidor de nombres 173.245.58.137:
 geekflare.com tiene registro SOA olga.ns.cloudflare.com. dns.cloudflare.com. 2271966690 10000 2400 604800 3600

Para encontrar registros CNAME de dominio

CNAME significa registro de nombre canónico. Este registro DNS se encarga de redirigir un dominio a otro, lo que significa que mapea el nombre de dominio original a un alias.

Para averiguar los registros DNS CNAME del dominio, utilice el siguiente comando.

host -t cname dominio-destino

Salida de ejemplo:

┌──(geekflare㉿kali)-[~]
└─$ host -t cname geekflare.com
geekflare.com no tiene ningún registro CNAME

Si el nombre de dominio de destino tiene algún registro CNAME, se mostrará después de ejecutar el comando.

Para encontrar la información TTL del dominio

TTL significa Tiempo de vida. Forma parte del servidor de nombres de dominio. Lo establece automáticamente un servidor de nombres autoritativo para cada registro DNS.

En palabras sencillas, TTL se refiere al tiempo que un servidor DNS almacena en caché un registro antes de actualizar los datos. Utilice el siguiente comando para ver la información TTL de un nombre de dominio.

host -v -t a dominio-destino

Salida de ejemplo:

┌──(root💀kali)-[/home/geekflare]
└─# host -v -t a geekflare.com 1 ⨯
Probando "geekflare.com"
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 2479
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;geekflare.com.                 IN A

;; SECCIÓN DE RESPUESTA:
geekflare.com.          30 IN A 104.27.119.115
geekflare.com.          30 IN A 104.27.118.115

Recibido 63 bytes desde 192.168.1.1#53 en 60 ms

Conclusión

Espero que haya encontrado este artículo útil para aprender algunos Ejemplos de Comandos host útiles para Consultar Detalles DNS.

Puede que también le interese conocer herramientas en línea gratuitas para comprobar los registros DNS de un nombre de dominio.

  • Ashlin Jenifa
    Autor
Gracias a nuestros patrocinadores
Más lecturas sobre Linux
Potencia tu negocio
Algunas de las herramientas y servicios que le ayudarán a hacer crecer su negocio.
  • Invicti utiliza el Proof-Based Scanning™ para verificar automáticamente las vulnerabilidades identificadas y generar resultados procesables en tan solo unas horas.
    Pruebe Invicti
  • Web scraping, proxy residencial, gestor de proxy, desbloqueador web, rastreador de motores de búsqueda, y todo lo que necesita para recopilar datos web.
    Pruebe Brightdata
  • Monday.com es un sistema operativo de trabajo todo en uno que te ayuda a gestionar proyectos, tareas, trabajo, ventas, CRM, operaciones, flujos de trabajo y mucho más.
    Prueba Monday
  • Intruder es un escáner de vulnerabilidades en línea que encuentra puntos débiles de ciberseguridad en su infraestructura, para evitar costosas violaciones de datos.
    Prueba Intruder