9 ejemplos útiles de comandos de host para consultar detalles de DNS

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

En la investigación de seguridad y la piratería ética, la enumeración de DNS es la primera fase en la recopilación de información de un objetivo. Es el proceso de consultar 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 de la red interna.

Existen numerosas herramientas de reconocimiento de DNS y enumeración en línea disponibles en Internet. Sin embargo, la enumeración de DNS se puede realizar fácilmente con una única utilidad de línea de comandos. Eso es «HOST».

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

¡Empecemos!

Instalación

El comando «HOST» a veces puede no estar disponible de forma predeterminada en una máquina recién instalada. Como resultado, deberá instalarlo manualmente en el sistema. El proceso de instalación es bastante simple.

Todos los comandos relacionados con DNS como nslookup, dig y host están contenidos en la biblioteca «bind-utils». Para eso, simplemente escriba el siguiente comando en la 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 usar con él, así como una breve descripción de cada argumento.

Salida de muestra:

┌──(kirukiru.es㉿kali)-[~]
└─$ host          
Usage: host [-aCdilrTvVw] [-c class] [-N ndots] [-t type] [-W time]
            [-R number] [-m flag] [-p port] hostname [server]
       -a is equivalent to -v -t ANY
       -A is like -a but omits RRSIG, NSEC, NSEC3
       -c specifies query class for non-IN data
       -C compares SOA records on authoritative nameservers
       -d is equivalent to -v
       -l lists all hosts in a domain, using AXFR
       -m set memory debugging flag (trace|record|usage)
       -N changes the number of dots allowed before root lookup is done
       -p specifies the port on the server to query
       -r disables recursive processing
       -R specifies number of retries for UDP packets
       -s a SERVFAIL response should stop query
       -t specifies the query type
       -T enables TCP/IP mode
       -U enables UDP mode
       -v enables verbose output
       -V print version number and exit
       -w specifies to wait forever for a reply
       -W specifies how long to wait for a reply
       -4 use IPv4 query transport only
       -6 use IPv6 query transport only

Para encontrar la dirección IP del dominio

Para encontrar la dirección IP de un dominio en particular, simplemente pase el nombre de dominio de destino como argumento después del comando host.

host Target-domain

Salida de muestra:

┌──(kirukiru.es㉿kali)-[~]
└─$ host kirukiru.es.com
kirukiru.es.com has address 104.27.118.115
kirukiru.es.com has address 104.27.119.115
kirukiru.es.com has IPv6 address 2606:4700:20::681b:7673
kirukiru.es.com has IPv6 address 2606:4700:20::681b:7773
kirukiru.es.com mail is handled by 1 aspmx.l.google.com.
kirukiru.es.com mail is handled by 5 alt1.aspmx.l.google.com.
kirukiru.es.com mail is handled by 5 alt2.aspmx.l.google.com.
kirukiru.es.com mail is handled by 10 alt3.aspmx.l.google.com.
kirukiru.es.com mail is handled by 10 alt4.aspmx.l.google.com.

Para una búsqueda completa usando el modo detallado, use la opción de marca -a o -v.

Salida de muestra:

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

;; QUESTION SECTION:
;kirukiru.es.com.                 IN      ANY

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

Received 161 bytes from 192.168.1.1#53 in 64 ms

Esta opción (-a) se utiliza para encontrar todos los registros de dominio e información de zonas. También puede notar 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 el nombre de dominio.

Como ejemplo, la sintaxis sería la siguiente:

host target-ip-address

Salida de muestra:

┌──(kirukiru.es㉿kali)-[~]
└─$ host dnsleaktest.com                                                                                  
dnsleaktest.com has address 23.239.16.110
                                                                                                              
┌──(kirukiru.es㉿kali)-[~]
└─$ host 23.239.16.110  
110.16.239.23.in-addr.arpa domain name pointer li685-110.members.linode.com.

Si copia y 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 servidores de nombres de un nombre de dominio específico.

El registro NS especifica los servidores de nombres autorizados.

host -t ns target-domain

Salida de muestra:

┌──(kirukiru.es㉿kali)-[~]
└─$ host -t ns kirukiru.es.com
kirukiru.es.com name server olga.ns.cloudflare.com.
kirukiru.es.com name server todd.ns.cloudflare.com.

Para consultar cierto servidor de nombres de dominio

Para consultar detalles sobre un dominio autorizado específico nombre del servidoruse el siguiente comando.

host target-domain [name-server]

Salida de muestra:

┌──(root💀kali)-[/home/geekflare]
└─# host kirukiru.es.com  olga.ns.cloudflare.com.                                                           1 ⨯
Using domain server:
Name: olga.ns.cloudflare.com.
Address: 173.245.58.137#53
Aliases: 

kirukiru.es.com has address 104.27.118.115
kirukiru.es.com has address 104.27.119.115
kirukiru.es.com has IPv6 address 2606:4700:20::681b:7773
kirukiru.es.com has IPv6 address 2606:4700:20::681b:7673
kirukiru.es.com mail is handled by 1 aspmx.l.google.com.
kirukiru.es.com mail is handled by 5 alt1.aspmx.l.google.com.
kirukiru.es.com mail is handled by 5 alt2.aspmx.l.google.com.
kirukiru.es.com mail is handled by 10 alt3.aspmx.l.google.com.
kirukiru.es.com mail is handled by 10 alt4.aspmx.l.google.com.

Para buscar registros MX de dominio

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

host -t MX target-domain

Salida de muestra:

┌──(kirukiru.es㉿kali)-[~]
└─$ host -t mx  kirukiru.es.com
kirukiru.es.com mail is handled by 1 aspmx.l.google.com.
kirukiru.es.com mail is handled by 5 alt1.aspmx.l.google.com.
kirukiru.es.com mail is handled by 5 alt2.aspmx.l.google.com.
kirukiru.es.com mail is handled by 10 alt3.aspmx.l.google.com.
kirukiru.es.com mail is handled by 10 alt4.aspmx.l.google.com.

Este récord MX es responsable de dirigir un correo electrónico a un servidor de correo.

Para buscar registros TXT de dominio

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

host -t txt target-domain

Salida de muestra:

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

Para encontrar el registro SOA del dominio

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

host -t soa target-domain

Salida de muestra:

┌──(kirukiru.es㉿kali)-[~]
└─$ host -t soa kirukiru.es.com
kirukiru.es.com has SOA record olga.ns.cloudflare.com. dns.cloudflare.com. 2271966690 10000 2400 604800 3600

Use el siguiente comando para comparar el registros SOA de todos los servidores de nombres autorizados para una zona en particular (la porción específica del espacio de nombres DNS).

host -C target-domain

Salida de muestra:

┌──(kirukiru.es㉿kali)-[~]
└─$ host -C kirukiru.es.com                                                                                 2 ⨯
Nameserver 173.245.58.137:
        kirukiru.es.com has SOA record olga.ns.cloudflare.com. dns.cloudflare.com. 2271966690 10000 2400 604800 3600

Para buscar registros CNAME de dominio

CNOMBRE significa registro de nombre canónico. Este registro DNS es responsable de redirigir un dominio a otro, lo que significa que asigna el nombre de dominio original a un alias.

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

host -t cname target-domain

Salida de muestra:

┌──(kirukiru.es㉿kali)-[~]
└─$ host -t cname  kirukiru.es.com
kirukiru.es.com has no CNAME record

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

Para encontrar la información TTL del dominio

TTL Significa Tiempo de vida. Es una parte del servidor de nombres de dominio. Se establece automáticamente por un servidor de nombres autorizado para cada registro DNS.

En palabras simples, TTL se refiere a cuánto tiempo un servidor DNS almacena en caché un registro antes de actualizar los datos. Use el siguiente comando para ver la información TTL de un nombre de dominio.

host -v -t a target-domain

Salida de muestra:

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

;; QUESTION SECTION:
;kirukiru.es.com.                 IN      A

;; ANSWER SECTION:
kirukiru.es.com.          30      IN      A       104.27.119.115
kirukiru.es.com.          30      IN      A       104.27.118.115

Received 63 bytes from 192.168.1.1#53 in 60 ms

Conclusión

Espero que este artículo le haya resultado útil para aprender algunos ejemplos útiles de comandos de host para consultar detalles de DNS.

También puede estar interesado en obtener información sobre herramientas en línea gratuitas para verificar los registros DNS de un nombre de dominio.