9 Exemple utile de comenzi gazdă pentru interogarea detaliilor DNS

Explorarea comenzii HOST pentru investigații DNS

Comanda HOST este un instrument de linie de comandă, simplu și eficient, utilizat pentru a realiza interogări DNS. Ea facilitează enumerarea informațiilor legate de DNS.

În domeniul securității cibernetice și al hackingului etic, identificarea detaliilor DNS reprezintă o etapă inițială crucială în procesul de colectare de informații despre o țintă. Aceasta implică interogarea diverselor înregistrări DNS de la un server de nume, cum ar fi serverele de nume în sine, adresele IP, informații despre serverele de email, valorile TTL și multe altele.

Atacatorii pot utiliza informațiile obținute prin enumerarea DNS pentru a examina structura internă a unei rețele.

Există numeroase resurse online pentru scanarea și enumerarea DNS. Cu toate acestea, comanda „HOST” oferă o metodă rapidă și directă de a realiza această sarcină, direct din linia de comandă.

În acest material, vom analiza câteva exemple de utilizare a comenzii HOST pentru a efectua interogări DNS relevante.

Să începem!

Instalarea

Este posibil ca instrumentul „HOST” să nu fie instalat implicit pe anumite sisteme. În acest caz, va fi necesară instalarea manuală. Procesul este simplu și rapid.

Toate instrumentele de interogare DNS, precum nslookup, dig și host, fac parte din pachetul „bind-utils”. Pentru a instala, introduceți următoarea comandă în terminal:

sudo apt-get install dnsutils -y

Această comandă HOST este funcțională atât pe sistemele macOS, cât și pe cele Linux.

Utilizarea

Sintaxa de bază: Comenzile generice „host” afișează sintaxa sa, argumentele suportate, precum și o scurtă descriere a fiecărui argument.

Exemplu de ieșire:

┌──(tipstrick.ro㉿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

Aflarea adresei IP a unui domeniu

Pentru a identifica adresa IP a unui domeniu, introduceți numele acestuia ca argument după comanda „host”.

host Nume-domeniu

Exemplu de ieșire:

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

Pentru a obține o căutare detaliată, utilizați opțiunea „-a” sau „-v”.

Exemplu de ieșire:

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

;; QUESTION SECTION:
;tipstrick.ro.com.                 IN      ANY

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

Received 161 bytes from 192.168.1.1#53 in 64 ms

Opțiunea „-a” este utilă pentru a găsi toate informațiile legate de un domeniu. De asemenea, puteți observa adresa serverului DNS local utilizată pentru interogare.

Realizarea unei căutări inverse

Această comandă identifică numele de gazdă sau domeniul asociat unei adrese IP.

Sintaxa este următoarea:

host adresa-ip-țintă

Exemplu de ieșire:

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

Dacă introduceți adresa de tip indicator (li685-110.members.linode.com.) într-un browser, veți fi redirecționat către pagina web corespunzătoare.

Localizarea serverelor de nume ale domeniului

Folosiți opțiunea „-t” pentru a obține lista serverelor de nume ale unui domeniu. Acesta este folosită pentru a specifica tipul de interogare dorit.

Mai jos, folosim argumentul „-t” pentru a identifica serverele de nume ale unui domeniu.

Înregistrarea NS indică serverele de nume autorizate.

host -t ns nume-domeniu

Exemplu de ieșire:

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

Interogarea unui anumit server de nume

Pentru a obține detalii de la un anumit server de nume autorizat, utilizați următoarea sintaxă:

host nume-domeniu [server-nume]

Exemplu de ieșire:

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

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

Aflarea înregistrărilor MX ale domeniului

Pentru a obține lista înregistrărilor MX (Mail Exchanger) ale unui domeniu.

host -t MX nume-domeniu

Exemplu de ieșire:

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

Această înregistrare MX este responsabilă de direcționarea emailurilor către un anumit server.

Aflarea înregistrărilor TXT ale domeniului

Pentru a obține înregistrările TXT ale unui domeniu (informații citibile despre un server).

host -t txt nume-domeniu

Exemplu de ieșire:

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

Aflarea înregistrării SOA a domeniului

Pentru a identifica înregistrarea SOA (Start of Authority) a unui domeniu

host -t soa nume-domeniu

Exemplu de ieșire:

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

Utilizați următoarea comandă pentru a compara înregistrările SOA de la toate serverele de nume autorizate pentru o anumită zonă (o porțiune specifică a spațiului de nume DNS).

host -C nume-domeniu

Exemplu de ieșire:

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

Aflarea înregistrărilor CNAME ale domeniului

CNAME reprezintă înregistrarea numelui canonic. Aceasta este responsabilă pentru redirecționarea unui domeniu către altul, adică asociază numele original al domeniului cu un alias.

Pentru a descoperi înregistrările CNAME ale unui domeniu, utilizați următoarea comandă.

host -t cname nume-domeniu

Exemplu de ieșire:

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

Dacă domeniul țintă conține înregistrări CNAME, acestea vor fi afișate în urma executării comenzii.

Descoperirea informațiilor TTL ale domeniului

TTL, sau Timp de trăit, este o componentă a serverului de nume de domeniu. Aceasta este setată automat de un server de nume autorizat pentru fiecare înregistrare DNS.

Mai simplu, TTL indică intervalul de timp în care un server DNS stochează în memoria cache o înregistrare înainte de a solicita o actualizare. Pentru a consulta informațiile TTL ale unui domeniu, folosiți comanda de mai jos.

host -v -t a nume-domeniu

Exemplu de ieșire:

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

;; QUESTION SECTION:
;tipstrick.ro.com.                 IN      A

;; ANSWER SECTION:
tipstrick.ro.com.          30      IN      A       104.27.119.115
tipstrick.ro.com.          30      IN      A       104.27.118.115

Received 63 bytes from 192.168.1.1#53 in 60 ms

Concluzie

Sperăm că acest articol v-a fost de folos în înțelegerea modalităților de utilizare a comenzii „host” pentru investigații DNS.

De asemenea, s-ar putea să fiți interesat să aflați mai multe despre instrumente online gratuite pentru verificarea înregistrărilor DNS ale unui domeniu.