9 Esempi utili di comandi host per eseguire query sui dettagli DNS

Pubblicato: 2022-03-08

Il comando HOST è una semplice utilità dell'interfaccia della riga di comando per eseguire l'enumerazione DNS.

Nella ricerca sulla sicurezza e nell'hacking etico, l'enumerazione DNS è la prima fase nella raccolta di informazioni di un obiettivo. È il processo di interrogazione di tutti i potenziali record DNS da un server dei nomi di dominio come i dettagli del server dei nomi, gli indirizzi IP, i dettagli dello scambio di posta, i TTL e altro ancora.

Gli aggressori possono utilizzare queste informazioni enumerate dal DNS per esaminare i record di rete interni.

Ci sono numerosi strumenti di ricognizione DNS e di enumerazione online disponibili su Internet. Tuttavia, l'enumerazione DNS può essere eseguita facilmente con un'unica utilità della riga di comando. Questo è "HOST".

In questo articolo, esamineremo alcuni utili esempi di comandi host per eseguire query sui dettagli DNS.

Iniziamo!

Installazione

Il comando "HOST" a volte potrebbe non essere disponibile per impostazione predefinita su una macchina appena installata. Di conseguenza, dovrai installarlo manualmente sul sistema. Il processo di installazione è piuttosto semplice.

Tutti i comandi relativi al DNS come nslookup , dig e host sono contenuti nella libreria "bind-utils". Per questo, digita semplicemente il seguente comando nel terminale.

 sudo apt-get install dnsutils -y

Questo comando HOST funziona sia su MAC che su Linux.

Utilizzo

Sintassi generale: il comando generale "host" stampa la sintassi generale del comando e i suoi argomenti che possono essere utilizzati con esso, oltre a una breve descrizione di ogni argomento.

Esempio di output:

 ┌──(geekflare㉿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 -sa 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

Per trovare l'indirizzo IP del dominio

Per trovare l'indirizzo IP di un particolare dominio, passa semplicemente il nome del dominio di destinazione come argomento dopo il comando host.

 host Target-domain

Esempio di output:

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

Per una ricerca completa utilizzando la modalità dettagliata, utilizzare l'opzione flag -a o -v .

Esempio di output:

 ┌──(geekflare㉿kali)-[~] └─$ host -a geekflare.com Trying "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== Received 161 bytes from 192.168.1.1#53 in 64 ms

Questa opzione (-a) viene utilizzata per trovare tutti i record di dominio e le informazioni sulle zone. Puoi anche notare l'indirizzo del server DNS locale utilizzato per la ricerca.

Per eseguire la ricerca inversa

Questo comando esegue una ricerca inversa sull'indirizzo IP e visualizza il nome host o il nome di dominio.

A titolo di esempio, la sintassi sarebbe la seguente:

 host target-ip-address

Esempio di output:

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

Se copi e incolli l'indirizzo del puntatore ( li685-110.members.linode.com.) nel browser web, verrai reindirizzato al sito web.

Per trovare i server dei nomi di dominio

Utilizzare l'opzione -t per ottenere i server dei nomi di dominio. Viene utilizzato per specificare il tipo di query.

Qui sto passando l'argomento -t per trovare i server dei nomi di un nome di dominio specifico.

Il record NS specifica i server dei nomi autorevoli.

 host -t ns target-domain

Esempio di output:

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

Per interrogare determinati server dei nomi di dominio

Per richiedere i dettagli su uno specifico server dei nomi di dominio autorevole, utilizzare il comando seguente.

 host target-domain [name-server]

Esempio di output:

 ┌──(rootkali)-[/home/geekflare] └─# host geekflare.com olga.ns.cloudflare.com. 1 ⨯ Using domain server: Name: olga.ns.cloudflare.com. Address: 173.245.58.137#53 Aliases: geekflare.com has address 104.27.118.115 geekflare.com has address 104.27.119.115 geekflare.com has IPv6 address 2606:4700:20::681b:7773 geekflare.com has IPv6 address 2606:4700:20::681b:7673 geekflare.com mail is handled by 1 aspmx.l.google.com. geekflare.com mail is handled by 5 alt1.aspmx.l.google.com. geekflare.com mail is handled by 5 alt2.aspmx.l.google.com. geekflare.com mail is handled by 10 alt3.aspmx.l.google.com. geekflare.com mail is handled by 10 alt4.aspmx.l.google.com.

Per trovare i record MX del dominio

Per ottenere un elenco dei record MX (Mail Exchanger) di un dominio.

 host -t MX target-domain

Esempio di output:

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

Questo record MX è responsabile dell'indirizzamento di un'e-mail a un server di posta.

Per trovare i record TXT del dominio

Per ottenere un elenco di record TXT (informazioni leggibili dall'uomo su un server di dominio) di un dominio.

 host -t txt target-domain

Esempio di output:

 ┌──(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"

Per trovare il record SOA del dominio

Per ottenere un elenco del record SOA ( inizio dell'autorità ) di un dominio

 host -t soa target-domain

Esempio di output:

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

Utilizzare il comando seguente per confrontare i record SOA di tutti i server dei nomi autorevoli per una particolare zona (la parte specifica dello spazio dei nomi DNS).

 host -C target-domain

Esempio di output:

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

Per trovare i record CNAME del dominio

CNAME sta per record del nome canonico. Questo record DNS è responsabile del reindirizzamento da un dominio a un altro, il che significa che associa il nome di dominio originale a un alias.

Per scoprire i record DNS CNAME del dominio, utilizzare il comando seguente.

 host -t cname target-domain

Esempio di output:

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

Se il nome di dominio di destinazione ha record CNAME, verranno visualizzati dopo l'esecuzione del comando.

Per trovare informazioni sul dominio TTL

TTL sta per Tempo da vivere. Fa parte del Domain Name Server. Viene impostato automaticamente da un server dei nomi autorevole per ogni record DNS.

In parole semplici, TTL si riferisce a quanto tempo un server DNS memorizza nella cache un record prima di aggiornare i dati. Utilizzare il comando seguente per visualizzare le informazioni TTL di un nome di dominio.

 host -v -ta target-domain

Esempio di output:

 ┌──(rootkali)-[/home/geekflare] └─# host -v -ta geekflare.com 1 ⨯ Trying "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 ;; ANSWER SECTION: geekflare.com. 30 IN A 104.27.119.115 geekflare.com. 30 IN A 104.27.118.115 Received 63 bytes from 192.168.1.1#53 in 60 ms

Conclusione

Spero che questo articolo sia stato utile per apprendere alcuni utili esempi di comandi host per eseguire query sui dettagli DNS.

Potresti anche essere interessato a conoscere gli strumenti online gratuiti per controllare i record DNS di un nome di dominio.