Aujourd’hui, je vais vous parler d’un outil très utile dans le domaine des réseaux et de la sécurité informatique => le fameux « nslookup » !
Le but premier de cet outil est d’interroger les DNS à des fins de reconnaissances et de troubleshooting. Malgré la bonne conscience de certains, sa force obscure réside sur la récolte d’information des empreintes DNS sur les noms de domaines internet.
Je vais partir du principe que vous connaissez les bases sur le protocole DNS (Alias, Type, Zones…) puis cela se corsera au fur et à mesure qu’on avancera dans l’article.
Ici, nous utiliserons un poste Windows pour les requêtes et nous ferons des interrogations sur le nom de domaine « google.fr » mais cela fonctionne aussi sur un poste *nix ;P.
Utilisation Classique (Résolution de DNS de Type A) :
C:\>nslookup google.fr Serveur par defaut : google-public-dns-a.google.com Address: 8.8.8.8 Réponse ne faisant pas autorité : Nom : google.fr Addresses: 2a00:1450:4007:805::2003 172.217.18.195
Nous avons la possibilité de consulter les DNS en 2 modes : OneShot ou Interactif.
La commande précédente est une commande OneShot.
Nous allons maintenant voir le mode interactif :
C:\>nslookup Serveur par defaut : google-public-dns-a.google.com Address: 8.8.8.8 > google.fr Serveur par defaut : google-public-dns-a.google.com Address: 8.8.8.8 Réponse ne faisant pas autorité : Nom : google.fr Addresses: 2a00:1450:4007:805::2003 172.217.18.195 >
Le prompt est encore actif et nous pouvons toujours effectuer d’autres requêtes.
Nous allons mettre les bouchés doubles et combiner les 2 modes et voir les différentes types de requêtes que nous pouvons réaliser avec cet outil géniale.
Rêquete via un autre serveur DNS :
Nous allons intérroger un des serveurs DNS d’OpenDNS de chez Cisco à la place de Google, pour cela, le mode intéractif est le plus adéquate.
Site Officiel : https://www.opendns.com/setupguide/
> server 208.67.222.222 Serveur par defaut : resolver1.opendns.com Address: 208.67.222.222 > google.fr Serveur : resolver1.opendns.com Address: 208.67.222.222 Réponse ne faisant pas autorité : Nom : google.fr Addresses: 2a00:1450:4007:805::2003 172.217.18.195
Énumération des serveurs DNS autoritaire :
Cette méthode permet d’obtenir les informations des DNS autoritaire d’un ou des domaines enregistrés (ici google.fr)
> set type=NS > google.fr Serveur par defaut : google-public-dns-a.google.com Address: 8.8.8.8 Réponse ne faisant pas autorité : google.fr nameserver = ns4.google.com google.fr nameserver = ns1.google.com google.fr nameserver = ns2.google.com google.fr nameserver = ns3.google.com ns3.google.com internet address = 216.239.36.10 ns2.google.com internet address = 216.239.34.10 ns1.google.com internet address = 216.239.32.10 ns4.google.com internet address = 216.239.38.10
Enumération du serveur DNS SOA (Start of Authority)
Elle permet de capturer des informations officielles sur la zone DNS (Serveur DNS Primaire, Email de l’administrateur, Serial, Timers, Fréquence de renouvellement, Durée de validité de certains éléments… )
> set type=SOA > google.fr Serveur par defaut : google-public-dns-a.google.com Address: 8.8.8.8 Réponse ne faisant pas autorité : google.fr primary name server = ns1.google.com responsible mail addr = dns-admin.google.com serial = 227126874 refresh = 900 (15 mins) retry = 900 (15 mins) expire = 1800 (30 mins) default TTL = 60 (1 min)
Enumération des serveurs de messagerie (MX)
Les serveurs de messagerie associés au domaine…
> set type=MX > google.fr Serveur par defaut : google-public-dns-a.google.com Address: 8.8.8.8 Réponse ne faisant pas autorité : google.fr MX preference = 30, mail exchanger = alt2.aspmx.l.google.com google.fr MX preference = 20, mail exchanger = alt1.aspmx.l.google.com google.fr MX preference = 40, mail exchanger = alt3.aspmx.l.google.com google.fr MX preference = 10, mail exchanger = aspmx.l.google.com google.fr MX preference = 50, mail exchanger = alt4.aspmx.l.google.com aspmx.l.google.com internet address = 108.177.127.26 alt1.aspmx.l.google.com internet address = 74.125.24.26 alt3.aspmx.l.google.com internet address = 74.125.195.26 alt2.aspmx.l.google.com internet address = 108.177.125.26 alt4.aspmx.l.google.com internet address = 64.233.179.26
Résolution Inverse (Reverse DNS – PTR)
Si la résolution inverse fonctionne sur le domaine…
> set type=PTR > 172.217.18.195 => Ici l'adresse IP d'un serveur Google Serveur par defaut : google-public-dns-a.google.com Address: 8.8.8.8 Réponse ne faisant pas autorité : 195.18.217.172.in-addr.arpa name = par10s38-in-f3.1e100.net 195.18.217.172.in-addr.arpa name = ham02s14-in-f195.1e100.net 195.18.217.172.in-addr.arpa name = par10s38-in-f3.1e100.net 195.18.217.172.in-addr.arpa name = ham02s14-in-f195.1e100.net
Résolution d’Alias (CNAME)
Si des Alias sont associés au sous-domaine ou domaine lui-même..
> set type=CNAME > google.fr Serveur par defaut : google-public-dns-a.google.com Address: 8.8.8.8 Réponse ne faisant pas autorité : google.fr origin = ns1.google.com mail addr = dns-admin.google.com serial = 227126874 refresh = 900 retry = 900 expire = 1800 minimum = 60
Le Mode Debug : L’outil ultime
L’outil de debug Ultime sur les entrées des domaines DNS.
Utile pour savoir le TTL des domaines…
> set debug > google.fr Serveur par defaut : google-public-dns-a.google.com Address: 8.8.8.8 ------------ Got answer: HEADER: opcode = QUERY, id = 2, rcode = NXDOMAIN header flags: response, auth. answer, want recursion, recursion avail. questions = 1, answers = 0, authority records = 1, additional = 0 QUESTIONS: google.fr AUTHORITY RECORDS: -> domaine.com ttl = 3600 (1 hour) primary name server = responsible mail addr = serial = 352796 refresh = 900 (15 mins) retry = 600 (10 mins) expire = 86400 (1 day) default TTL = 900 (15 mins) ------------ ------------ Got answer: HEADER: opcode = QUERY, id = 3, rcode = NXDOMAIN header flags: response, auth. answer, want recursion, recursion avail. questions = 1, answers = 0, authority records = 1, additional = 0 QUESTIONS: google.fr, type = AAAA, class = IN AUTHORITY RECORDS: -> domaine.com ttl = 3600 (1 hour) primary name server = <your_primary_dns> responsible mail addr = hostmaster.<your_domain> serial = 352796 refresh = 900 (15 mins) retry = 600 (10 mins) expire = 86400 (1 day) default TTL = 900 (15 mins) ------------ ------------ Got answer: HEADER: opcode = QUERY, id = 4, rcode = NOERROR header flags: response, want recursion, recursion avail. questions = 1, answers = 1, authority records = 0, additional = 0 QUESTIONS: google.fr, type = A, class = IN ANSWERS: -> google.fr internet address = 172.217.18.195 ttl = 300 (5 mins) ------------ Réponse ne faisant pas autorité : ------------ Got answer: HEADER: opcode = QUERY, id = 5, rcode = NOERROR header flags: response, want recursion, recursion avail. questions = 1, answers = 1, authority records = 0, additional = 0 QUESTIONS: google.fr, type = AAAA, class = IN ANSWERS: -> google.fr AAAA IPv6 address = 2a00:1450:4007:805::2003 ttl = 300 (5 mins) ------------ Nom : google.fr Addresses: 2a00:1450:4007:805::2003 172.217.18.195