9 exemples de commandes hôtes utiles pour interroger les détails DNS

La commande HOST est un simple utilitaire d’interface de ligne de commande pour effectuer l’énumération DNS.

Dans la recherche sur la sécurité et le piratage éthique, l’énumération DNS est la première phase de la collecte d’informations sur une cible. Il s’agit du processus d’interrogation de tous les enregistrements DNS potentiels d’un serveur de noms de domaine, tels que les détails du serveur de noms, les adresses IP, les détails de l’échangeur de messagerie, les TTL, etc.

Les attaquants peuvent utiliser ces informations énumérées par le DNS pour examiner les enregistrements du réseau interne.

Il existe de nombreux outils de reconnaissance DNS et d’énumération en ligne disponibles sur Internet. Cependant, l’énumération DNS peut être effectuée facilement avec un seul utilitaire de ligne de commande. C’est « HÔTE ».

Dans cet article, nous examinerons quelques exemples de commandes hôtes utiles pour interroger les détails DNS.

Commençons!

Installation

La commande « HOST » peut parfois ne pas être disponible par défaut sur une machine nouvellement installée. En conséquence, vous devrez l’installer manuellement sur le système. Le processus d’installation est assez simple.

Toutes les commandes liées au DNS telles que nslookup, dig et host sont contenues dans la bibliothèque « bind-utils ». Pour cela, tapez simplement la commande suivante dans le terminal.

sudo apt-get install dnsutils -y

Cette commande HOST fonctionne à la fois sur MAC et Linux.

Usage

Syntaxe générale : La commande générale « hôte » imprime la syntaxe globale de la commande et ses arguments pouvant être utilisés avec elle, ainsi qu’une brève description de chaque argument.

Exemple de sortie :

┌──(toptips.fr㉿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

Pour trouver l’adresse IP du domaine

Pour trouver l’adresse IP d’un domaine particulier, passez simplement le nom de domaine cible en argument après la commande host.

host Target-domain

Exemple de sortie :

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

Pour une recherche complète en mode verbeux, utilisez l’option d’indicateur -a ou -v.

Exemple de sortie :

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

;; QUESTION SECTION:
;toptips.fr.com.                 IN      ANY

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

Received 161 bytes from 192.168.1.1#53 in 64 ms

Cette option (-a) est utilisée pour rechercher tous les enregistrements de domaine et les informations sur les zones. Vous pouvez également remarquer l’adresse du serveur DNS local utilisée pour la recherche.

Pour effectuer une recherche inversée

Cette commande effectue une recherche inversée sur l’adresse IP et affiche le nom d’hôte ou le nom de domaine.

A titre d’exemple, la syntaxe serait la suivante :

host target-ip-address

Exemple de sortie :

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

Si vous copiez-collez l’adresse du pointeur ( li685-110.members.linode.com.) dans le navigateur Web, vous serez redirigé vers le site Web.

Pour trouver des serveurs de noms de domaine

Utilisez l’option -t pour obtenir les serveurs de noms de domaine. Il est utilisé pour spécifier le type de requête.

Ici, je passe l’argument -t pour trouver les serveurs de noms d’un nom de domaine spécifique.

L’enregistrement NS spécifie les serveurs de noms faisant autorité.

host -t ns target-domain

Exemple de sortie :

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

Pour interroger certains serveurs de noms de domaine

Pour demander des détails sur un domaine faisant autorité spécifique nom du serveurutilisez la commande ci-dessous.

host target-domain [name-server]

Exemple de sortie :

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

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

Pour trouver des enregistrements MX de domaine

Pour obtenir une liste des enregistrements MX ( Mail Exchanger ) d’un domaine.

host -t MX target-domain

Exemple de sortie :

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

Cette Enregistrement MX est chargé de diriger un e-mail vers un serveur de messagerie.

Pour trouver des enregistrements TXT de domaine

Pour obtenir la liste des noms de domaine SMS (informations lisibles par l’homme sur un serveur de domaine).

host -t txt target-domain

Exemple de sortie :

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

Pour trouver l’enregistrement SOA du domaine

Pour obtenir la liste des enregistrements SOA (début d’autorité) d’un domaine

host -t soa target-domain

Exemple de sortie :

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

Utilisez la commande ci-dessous pour comparer les Enregistrements SOA de tous les serveurs de noms faisant autorité pour une zone particulière (la partie spécifique de l’espace de noms DNS).

host -C target-domain

Exemple de sortie :

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

Pour rechercher des enregistrements CNAME de domaine

CNAME signifie enregistrement de nom canonique. Cet enregistrement DNS est chargé de rediriger un domaine vers un autre, ce qui signifie qu’il mappe le nom de domaine d’origine sur un alias.

Pour connaître les enregistrements DNS CNAME du domaine, utilisez la commande ci-dessous.

host -t cname target-domain

Exemple de sortie :

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

Si le nom de domaine cible contient des enregistrements CNAME, ils seront affichés après l’exécution de la commande.

Pour trouver les informations TTL du domaine

Durée de vie Représente le temps de vivre. Il fait partie du serveur de noms de domaine. Il est automatiquement défini par un serveur de noms faisant autorité pour chaque enregistrement DNS.

En termes simples, TTL fait référence à la durée pendant laquelle un serveur DNS met en cache un enregistrement avant d’actualiser les données. Utilisez la commande ci-dessous pour voir les informations TTL d’un nom de domaine.

host -v -t a target-domain

Exemple de sortie :

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

;; QUESTION SECTION:
;toptips.fr.com.                 IN      A

;; ANSWER SECTION:
toptips.fr.com.          30      IN      A       104.27.119.115
toptips.fr.com.          30      IN      A       104.27.118.115

Received 63 bytes from 192.168.1.1#53 in 60 ms

Conclusion

J’espère que vous avez trouvé cet article utile pour apprendre quelques exemples de commandes hôtes utiles pour interroger les détails DNS.

Vous pourriez également être intéressé par des outils en ligne gratuits pour vérifier les enregistrements DNS d’un nom de domaine.