L’utilitaire en ligne de commande HOST
simplifie l’exploration des informations DNS.
Dans le domaine de la sécurité et du piratage éthique, la reconnaissance DNS est une étape initiale cruciale pour collecter des informations sur une cible. Elle consiste à interroger les enregistrements DNS d’un serveur de noms de domaine, tels que les serveurs de noms, les adresses IP, les serveurs de messagerie, les TTL, et autres.
Ces informations extraites via DNS peuvent être exploitées par des acteurs malveillants pour examiner la configuration interne du réseau.
De nombreux outils d’analyse et d’énumération DNS sont accessibles en ligne. Cependant, l’outil HOST
offre une manière pratique d’effectuer cette tâche directement à partir de la ligne de commande.
Cet article présentera quelques exemples d’utilisation de la commande HOST
pour interroger les détails DNS.
Commençons par l’installation et l’utilisation de cette commande!
Installation
Il est possible que la commande HOST
ne soit pas présente par défaut sur un système nouvellement installé. Dans ce cas, une installation manuelle sera nécessaire. Heureusement, cette installation est simple.
Les commandes liées au DNS telles que nslookup
, dig
et host
sont incluses dans la bibliothèque bind-utils
. Pour l’installer, entrez simplement la commande suivante dans votre terminal:
sudo apt-get install dnsutils -y
Cette commande HOST
est compatible avec les systèmes d’exploitation MAC et Linux.
Utilisation
Syntaxe générale: La commande host
affiche sa syntaxe globale ainsi que les différents arguments possibles et leur description.
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
Obtenir l’adresse IP d’un domaine
Pour obtenir l’adresse IP d’un domaine, entrez simplement le nom de domaine après la commande host
.
host Nom-du-domaine
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 et détaillée, utilisez l’option -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
L’option -a
permet de consulter tous les enregistrements du domaine et les informations sur les zones. L’adresse du serveur DNS local est également affichée.
Effectuer une recherche inversée
Cette commande effectue une recherche inversée à partir d’une adresse IP et affiche le nom d’hôte ou de domaine associé.
Voici la syntaxe:
host adresse-ip-cible
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.
En copiant et collant l’adresse du pointeur (li685-110.members.linode.com.
) dans un navigateur, vous serez redirigé vers le site web.
Trouver les serveurs de noms de domaine
L’option -t
permet de spécifier le type de requête. Utilisez-la pour obtenir les serveurs de noms de domaine.
Dans cet exemple, l’argument -t ns
est utilisé pour obtenir les serveurs de noms d’un domaine spécifique.
L’enregistrement NS spécifie les serveurs de noms faisant autorité.
host -t ns nom-du-domaine
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.
Interroger un serveur de noms de domaine spécifique
Pour obtenir des détails sur un domaine en interrogeant un serveur de noms spécifique, utilisez la commande suivante:
host nom-du-domaine [serveur-de-noms]
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.
Trouver les enregistrements MX d’un domaine
Pour obtenir la liste des enregistrements MX (Mail Exchanger) d’un domaine, utilisez cette commande:
host -t MX nom-du-domaine
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.
L’ enregistrement MX est responsable de la redirection des e-mails vers un serveur de messagerie.
Trouver les enregistrements TXT d’un domaine
Pour obtenir la liste des enregistrements TXT d’un domaine (informations lisibles concernant un serveur de domaine):
host -t txt nom-du-domaine
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"
Trouver l’enregistrement SOA d’un domaine
Pour obtenir la liste des enregistrements SOA (Start of Authority) d’un domaine:
host -t soa nom-du-domaine
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 nom-du-domaine
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
Trouver les enregistrements CNAME d’un domaine
CNAME (Canonical Name) est un enregistrement DNS qui redirige un domaine vers un autre, en faisant correspondre le nom de domaine d’origine à un alias.
Pour obtenir les enregistrements CNAME d’un domaine, utilisez cette commande:
host -t cname nom-du-domaine
Exemple de sortie:
┌──(toptips.fr㉿kali)-[~] └─$ host -t cname toptips.fr.com toptips.fr.com has no CNAME record
Si le domaine cible possède des enregistrements CNAME, ils seront affichés après l’exécution de la commande.
Trouver les informations TTL d’un domaine
Time to Live (TTL) représente la durée de vie. Il fait partie du serveur de noms de domaine et est défini automatiquement par un serveur de noms faisant autorité pour chaque enregistrement DNS.
En d’autres termes, TTL est la durée pendant laquelle un serveur DNS met en cache un enregistrement avant de mettre à jour les données. Utilisez cette commande pour voir les informations TTL d’un nom de domaine:
host -v -t a nom-du-domaine
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
Cet article vous a fourni des exemples concrets d’utilisation de la commande HOST
pour interroger les détails DNS.
Des outils en ligne gratuits sont également disponibles pour vérifier les enregistrements DNS d’un nom de domaine. Vous pouvez les trouver en ligne et les tester.