Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 15/03/2010, à 20:25

amwus

Serveur DNS récursif

Salut tout le monde !

Dans le cadre de mes études, j'ai besoin de configurer un serveur DNS (dans le but de l'attaquer pour tout vous dire !). Bon,  j'ai réussi à configurer le serveur en local, tout fonctionne et j'ai pu attribuer des noms à mes machines.

Premier problème, il y a déjà un serveur DNS principal dans le labo, à l'adresse 192.168.1.1. J'ai donc configuré mon serveur DNS pour forwarder les requêtes inconnues vers ce serveur.
Maintenant, ce dont j'ai besoin, c'est d'un serveur DNS qui effectue tout le travail, récursif. Donc ce que je veux, c'est que ce serveur contacte un root, puis le root lui renvoie l'adresse d'un TLD .com (par exemple), puis mon serveur contacte le .com qui renvoie l'adresse du DNS autoritaire, etc etc, jusqu'à obtenir finalement l'IP recherchée.

Or ce n'est pas ça qui se passe. Là, j'obtiens directement une adresse IP. Plus particulièrement, j'obtiens un CNAME et du record A correspondant...

Savez vous s'il est possible d'obtenir le comportement désiré ? J'ai configuré le serveur pour qu'il accepte les requêtes récursives, mais visiblement, ça ne fonctionne pas.

Merci d'avances pour vos réponses !! wink

Ju


Black holes are where god divided by zero...

Hors ligne

#2 Le 15/03/2010, à 20:39

Uggy

Re : Serveur DNS récursif

amwus a écrit :

Or ce n'est pas ça qui se passe. Là, j'obtiens directement une adresse IP. Plus particulièrement, j'obtiens un CNAME et du record A correspondant...

Ton serveur ne peut pas deviner les IPs de tous les noms sur Internet.
Il a donc soit forwardé a un autre serveur DNS.. soit a contacter lui meme les serveurs root et ainsi de suite.

Tu dis que ce n'est pas ce qu'il a fait.. Ok.. prouve le nous smile  (par exemple avec un sniff)

Hors ligne

#3 Le 15/03/2010, à 20:59

droopy191

Re : Serveur DNS récursif

Uggy a écrit :
amwus a écrit :

Or ce n'est pas ça qui se passe. Là, j'obtiens directement une adresse IP. Plus particulièrement, j'obtiens un CNAME et du record A correspondant...

Ton serveur ne peut pas deviner les IPs de tous les noms sur Internet.
Il a donc soit forwardé a un autre serveur DNS.. soit a contacter lui meme les serveurs root et ainsi de suite.

Tu dis que ce n'est pas ce qu'il a fait.. Ok.. prouve le nous smile  (par exemple avec un sniff)

Salut,

Si j'ai bien compris, le montage, le DNS fait suivre au DNS de la gateway qui lui doit faire suivre au DNS du Fai. C'est bien le bon mode de fonctionnement.

Si vous voulez qu'il contacte les serveurs root, il ne faut pas configurer de forward, et votre serveur bind va contacter les serveurs root directement. Il les connait deja, vous devez avoir un db.root dans votre /etc/bind qui contient leurs adresses.
Mais c'est pas bien de contacter les root directement.

Hors ligne

#4 Le 15/03/2010, à 22:01

amwus

Re : Serveur DNS récursif

Bonjour, et merci pour vos réponses. Oui c'est le comportement désiré. Je sais que ce n'est pas bien, mais j'ai besoin que mon DNS contacte toute la hiérarchie, comme si c'était le DNS local d'un ISP par exemple.

Donc d'après ce que je comprend, il ne faut pas que je forwarde mon serveur. Mais si je ne le forward pas, je n'arrive pas à sortir du labo...

Ce que je veux, c'est vraiment que mon serveur se comporte comme si c'était un serveur DNS d'un ISP... Donc qu'il contacte récursivement la hiérarchie jusqu'à obtenir un record A d'un serveur autoritaire, qu'il mettrait alors en cache...

Quand au sniff, je ne suis malheureusement pas au labo maintenant, mais j'ai vérifié avec tcpdum et mon serveur ne recevait qu'une réponse directe du serveur vers lequel j'ai forwardé...

Vous dites que si je ne forwarde pas, mon serveur va contacter la hiérarchie ? Je vais essayer de ce pas avec mon serveur perso et vérifier la trace...

Merci.


Black holes are where god divided by zero...

Hors ligne

#5 Le 15/03/2010, à 22:17

droopy191

Re : Serveur DNS récursif

En principe oui, bind par défaut est autonome
Lisez aussi ceci qui très intéressant
http://irp.nain-t.net/doku.php/160dns:start

Hors ligne

#6 Le 15/03/2010, à 22:18

amwus

Re : Serveur DNS récursif

Rebonsoir, alors effectivement, j'ai testé sur mon serveur local, et apparemment il contacte bien la hiérarchie...

Voici un tcpdump pour nslookup www.ubuntuf-fr.org.

u5debian:~# tcpdump -i eth0 -l -nn port 53
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
21:17:15.194584 IP 192.168.2.140.57955 > 192.168.2.125.53: 17336+ A? www.ubuntu-fr.org. (35)
21:17:15.200517 IP 192.168.2.125.57133 > 192.36.148.17.53: 50774 [1au] A? www.ubuntu-fr.org. (46)
21:17:15.222950 IP 192.36.148.17.53 > 192.168.2.125.57133: 50774- 0/8/13 (631)
21:17:15.229495 IP 192.168.2.125.60301 > 199.19.56.1.53: 43463 [1au] A? www.ubuntu-fr.org. (46)
21:17:15.367318 IP 199.19.56.1.53 > 192.168.2.125.60301: 43463- 0/7/1 (605)
21:17:15.376621 IP 192.168.2.125.40575 > 192.5.5.241.53: 34254% [1au] A? dns1.noris.net. (43)
21:17:15.381750 IP 192.168.2.125.56624 > 192.5.5.241.53: 18337% [1au] AAAA? dns1.noris.net. (43)
21:17:15.385844 IP 192.168.2.125.17012 > 192.5.5.241.53: 3665% [1au] A? dns2.noris.net. (43)
21:17:15.389945 IP 192.168.2.125.47182 > 192.5.5.241.53: 14283% [1au] AAAA? dns2.noris.net. (43)
21:17:15.394250 IP 192.168.2.125.14627 > 192.5.5.241.53: 7611% [1au] A? dns3.noris.net. (43)
21:17:15.398315 IP 192.168.2.125.50484 > 192.5.5.241.53: 30363% [1au] AAAA? dns3.noris.net. (43)
21:17:15.410882 IP 192.5.5.241.53 > 192.168.2.125.40575: 34254- 0/13/16 (528)
21:17:15.411727 IP 192.5.5.241.53 > 192.168.2.125.56624: 18337- 0/13/16 (528)
21:17:15.420375 IP 192.5.5.241.53 > 192.168.2.125.17012: 3665- 0/13/16 (528)
21:17:15.421340 IP 192.5.5.241.53 > 192.168.2.125.47182: 14283- 0/13/16 (528)
21:17:15.425336 IP 192.168.2.125.44172 > 192.26.92.30.53: 61567% [1au] A? dns1.noris.net. (43)
21:17:15.430281 IP 192.5.5.241.53 > 192.168.2.125.14627: 7611- 0/13/16 (528)
21:17:15.431193 IP 192.5.5.241.53 > 192.168.2.125.50484: 30363- 0/13/16 (528)
21:17:15.435867 IP 192.168.2.125.60177 > 192.26.92.30.53: 59927% [1au] AAAA? dns1.noris.net. (43)
21:17:15.445727 IP 192.168.2.125.37427 > 192.26.92.30.53: 9290% [1au] A? dns2.noris.net. (43)
21:17:15.453636 IP 192.168.2.125.34817 > 192.26.92.30.53: 27207% [1au] AAAA? dns2.noris.net. (43)
21:17:15.461731 IP 192.168.2.125.52465 > 192.26.92.30.53: 50523% [1au] A? dns3.noris.net. (43)
21:17:15.469717 IP 192.168.2.125.9969 > 192.26.92.30.53: 9148% [1au] AAAA? dns3.noris.net. (43)
21:17:15.536995 IP 192.26.92.30.53 > 192.168.2.125.44172: 61567- 0/3/2 (129)
21:17:15.545015 IP 192.168.2.125.51113 > 213.95.0.65.53: 34547% [1au] A? dns1.noris.net. (43)
21:17:15.546897 IP 192.26.92.30.53 > 192.168.2.125.60177: 59927- 0/3/2 (129)
21:17:15.550829 IP 192.168.2.125.34844 > 198.41.0.4.53: 23191% [1au] A? dns.noris.ch. (41)
21:17:15.554931 IP 192.168.2.125.31338 > 198.41.0.4.53: 26644% [1au] AAAA? dns.noris.ch. (41)
21:17:15.557153 IP 192.26.92.30.53 > 192.168.2.125.37427: 9290- 0/3/2 (129)
21:17:15.560315 IP 192.168.2.125.20291 > 198.41.0.4.53: 48359% [1au] A? dns.noris.de. (41)
21:17:15.562543 IP 192.26.92.30.53 > 192.168.2.125.34817: 27207- 0/3/2 (129)
21:17:15.565727 IP 192.168.2.125.3383 > 198.41.0.4.53: 61950% [1au] AAAA? dns.noris.de. (41)
21:17:15.571201 IP 192.168.2.125.19063 > 213.95.0.65.53: 12260% [1au] AAAA? dns1.noris.net. (43)
21:17:15.572946 IP 192.26.92.30.53 > 192.168.2.125.52465: 50523- 0/3/2 (129)
21:17:15.576669 IP 192.168.2.125.50056 > 213.95.0.65.53: 30468% [1au] A? dns2.noris.net. (43)
21:17:15.579982 IP 192.26.92.30.53 > 192.168.2.125.9969: 9148- 0/3/2 (129)
21:17:15.580983 IP 213.95.0.65.53 > 192.168.2.125.51113: 34547*- 1/3/4 A 213.95.0.65 (177)
21:17:15.583637 IP 192.168.2.125.18304 > 213.95.0.65.53: 55734% [1au] AAAA? dns2.noris.net. (43)
21:17:15.589555 IP 192.168.2.125.26358 > 213.95.0.65.53: 65482% [1au] A? dns3.noris.net. (43)
21:17:15.593819 IP 192.168.2.125.5798 > 213.95.0.65.53: 29307% [1au] AAAA? dns3.noris.net. (43)
21:17:15.599313 IP 192.168.2.125.64179 > 213.95.0.65.53: 48459 [1au] A? www.ubuntu-fr.org. (46)
21:17:15.606062 IP 213.95.0.65.53 > 192.168.2.125.19063: 12260*- 0/1/1 (95)
21:17:15.612454 IP 213.95.0.65.53 > 192.168.2.125.50056: 30468*- 1/3/4 A 192.109.102.65 (177)
21:17:15.618314 IP 213.95.0.65.53 > 192.168.2.125.18304: 55734*- 0/1/1 (95)
21:17:15.624696 IP 213.95.0.65.53 > 192.168.2.125.26358: 65482*- 1/3/4 A 194.31.2.65 (177)
21:17:15.628945 IP 213.95.0.65.53 > 192.168.2.125.5798: 29307*- 0/1/1 (95)
21:17:15.635538 IP 213.95.0.65.53 > 192.168.2.125.64179: 48459*- 1/4/5 A 213.95.41.13 (221)
21:17:15.639993 IP 192.168.2.125.53 > 192.168.2.140.57955: 17336 1/4/3 A 213.95.41.13 (194)
21:17:15.660924 IP 198.41.0.4.53 > 192.168.2.125.34844: 23191- 0/9/12 (564)
21:17:15.664764 IP 198.41.0.4.53 > 192.168.2.125.31338: 26644- 0/9/12 (564)
21:17:15.670046 IP 192.168.2.125.4241 > 204.61.216.47.53: 50874% [1au] A? dns.noris.ch. (41)
21:17:15.670199 IP 198.41.0.4.53 > 192.168.2.125.20291: 48359- 0/8/10 (510)
21:17:15.676875 IP 198.41.0.4.53 > 192.168.2.125.3383: 61950- 0/8/10 (510)
21:17:15.677062 IP 192.168.2.125.48656 > 204.61.216.47.53: 24767% [1au] AAAA? dns.noris.ch. (41)
21:17:15.686955 IP 192.168.2.125.36139 > 194.246.96.1.53: 64616% [1au] A? dns.noris.de. (41)
21:17:15.693561 IP 192.168.2.125.58040 > 194.246.96.1.53: 52989% [1au] AAAA? dns.noris.de. (41)
21:17:15.697302 IP 204.61.216.47.53 > 192.168.2.125.4241: 50874- 0/5/2 (362)
21:17:15.702172 IP 192.168.2.125.63627 > 194.31.2.65.53: 24375% [1au] A? dns.noris.ch. (41)
21:17:15.704262 IP 204.61.216.47.53 > 192.168.2.125.48656: 24767- 0/5/2 (362)
21:17:15.708813 IP 192.168.2.125.18404 > 194.31.2.65.53: 62263% [1au] AAAA? dns.noris.ch. (41)
21:17:15.718975 IP 194.246.96.1.53 > 192.168.2.125.36139: 64616- 0/3/2 (124)
21:17:15.723532 IP 192.168.2.125.34845 > 194.31.2.65.53: 37972% [1au] A? dns.noris.de. (41)
21:17:15.726536 IP 194.246.96.1.53 > 192.168.2.125.58040: 52989- 0/3/2 (124)
21:17:15.730767 IP 192.168.2.125.65527 > 194.31.2.65.53: 3571% [1au] AAAA? dns.noris.de. (41)
21:17:15.737959 IP 194.31.2.65.53 > 192.168.2.125.63627: 24375*- 1/3/3 A 194.31.2.65 (156)
21:17:15.743544 IP 194.31.2.65.53 > 192.168.2.125.18404: 62263*- 0/1/1 (102)
21:17:15.760047 IP 194.31.2.65.53 > 192.168.2.125.34845: 37972*- 1/3/3 A 192.109.102.65 (156)
21:17:15.766417 IP 194.31.2.65.53 > 192.168.2.125.65527: 3571*- 0/1/1 (102)

Toutefois, quand je veux tester s'il est récursif à l'aide de metasploit (le but est d'attaquer le serveur dns du labo, rassurez vous, uniquement à des fin de détection d'intrusion ;-)), il me répond que le serveur n'accepte pas de requête récursive...

Je ne comprend plus rien...

Merci pour vos réponses :-)


Black holes are where god divided by zero...

Hors ligne

#7 Le 15/03/2010, à 23:32

Uggy

Re : Serveur DNS récursif

198.41.0.4  -> a.root-servers.net.
Je pense qu'on peut considéré qu'il interroge les serveurs racines..  wink

metasploit [...] me répond que le serveur n'accepte pas de requête récursive..

Faut croire qu'il se goure...

Que donne la totalité de la question + réponse suivante:
$ dig www.domainepasencache.tld @ip.de.ton.serveur.dns

Hors ligne

#8 Le 15/03/2010, à 23:46

droopy191

Re : Serveur DNS récursif

Uggy a écrit :

metasploit [...] me répond que le serveur n'accepte pas de requête récursive..

Faut croire qu'il se goure...

Ca pourrait aussi etre par le fait qu'il ne soit pas ouvert ?

Hors ligne

#9 Le 16/03/2010, à 00:00

amwus

Re : Serveur DNS récursif

Bonsoir, j'obtiens ceci par la commande dig :

dig www.ucl.ac.be @127.0.0.1

; <<>> DiG 9.6.1-P2 <<>> www.ucl.ac.be @127.0.0.1
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 22885
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 4, ADDITIONAL: 3

;; QUESTION SECTION:
;www.ucl.ac.be.			IN	A

;; ANSWER SECTION:
www.ucl.ac.be.		3600	IN	CNAME	linux2.sipr.ucl.ac.be.
linux2.sipr.ucl.ac.be.	86400	IN	A	130.104.1.156

;; AUTHORITY SECTION:
ucl.ac.be.		604800	IN	NS	ns.belnet.be.
ucl.ac.be.		604800	IN	NS	ns3.sri.ucl.ac.be.
ucl.ac.be.		604800	IN	NS	ns1.sri.ucl.ac.be.
ucl.ac.be.		604800	IN	NS	ns2.sri.ucl.ac.be.

;; ADDITIONAL SECTION:
ns.belnet.be.		601739	IN	A	193.190.198.14
ns.belnet.be.		601739	IN	A	193.190.182.40
ns.belnet.be.		18539	IN	AAAA	2001:6a8:3c80::14

;; Query time: 83 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Mon Mar 15 22:58:39 2010
;; MSG SIZE  rcvd: 215

Il faut croire que mon serveur local fonctionne comme attendu...  j'essaierai demain au labo avec la même commande. Mais penses tu que le fait que je forward à un autre DNS puisse poser problème ?

Sinon, qu'entends tu par ne pas être ouvert ? Le numéro de port ?

Merci pour toutes les réponses en tout cas :-) !


Black holes are where god divided by zero...

Hors ligne

#10 Le 16/03/2010, à 00:41

Uggy

Re : Serveur DNS récursif

amwus a écrit :

;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 4, ADDITIONAL: 3

RD              Recursion Desired - this bit may be set in a query and
                is copied into the response.  If RD is set, it directs
                the name server to pursue the query recursively.
                Recursive query support is optional.

RA              Recursion Available - this be is set or cleared in a
                response, and denotes whether recursive query support is
                available in the name server.

Hors ligne

#11 Le 16/03/2010, à 00:47

Uggy

Re : Serveur DNS récursif

amwus a écrit :

j'essaierai demain au labo avec la même commande.

C'est sûr que les commandes sont a passer sur les machines qui posent probleme.


amwus a écrit :

Mais penses tu que le fait que je forward à un autre DNS puisse poser problème ?

Je ne sais pas pourquoi tu n'envoi pas directement a ton serveur DNS... ? Pourquoi veut tu passer par l'intermédiraire ?

amwus a écrit :

Sinon, qu'entends tu par ne pas être ouvert ? Le numéro de port ?

Voir droopy191...
Moi non plus je n'ai pas compris sa réponse...

Dernière modification par Uggy (Le 16/03/2010, à 00:48)

Hors ligne

#12 Le 16/03/2010, à 00:50

droopy191

Re : Serveur DNS récursif

amwus a écrit :

Il faut croire que mon serveur local fonctionne comme attendu...  j'essaierai demain au labo avec la même commande. Mais penses tu que le fait que je forward à un autre DNS puisse poser problème ?

Sinon, qu'entends tu par ne pas être ouvert ? Le numéro de port ?

Merci pour toutes les réponses en tout cas :-) !

Le fait de ne pouvoir etre interrogé que par des machines autorisées.
par exemple
/etc/bind/named.conf.options

acl internals { 127.0.0.0/8; 192.168.10.0/24 ;};
options {
....
allow-query { internals; };
....
};

Je doit dire que cette histoire de récursivité n'est pas clair.
http://www.frameip.com/dns/
http://www.frameip.com/dns/
Si je pige bien, le mode itératif, c'est si le dns ne sait pas il renvoir des dns qui savent au client.
Le mode récursif, c'est le dns qui interroge d'autre dns et finalement répond au client.
Le mode récursif me semble le fonctionnement classique d'un dns. Possible que votre outil ne détecte pas bien cela ou que nous ne comprenions pas bien le message.

un dernier lien bien fait
http://www.zytrax.com/books/dns/ch7/queries.html

Dernière modification par droopy191 (Le 16/03/2010, à 02:27)

Hors ligne

#13 Le 16/03/2010, à 00:50

Uggy

Re : Serveur DNS récursif

amwus a écrit :

dig www.ucl.ac.be @127.0.0.1

La commande est a passer:
- depuis la machine sur laquelle est lancée Metasploit
- vers le serveur DNS qui est recursif

Donc a moins que les 2 soient la meme machine.. le test n'est pas le bon

Hors ligne

#14 Le 16/03/2010, à 10:30

amwus

Re : Serveur DNS récursif

Bon, ben visiblement mon serveur est bien récursif... Il ne me reste plus qu'à trouver pourquoi mon attaque ne fonctionne pas et pourquoi il me dit que le serveur n'est pas récursif ! Merci pour vos réponses...


Black holes are where god divided by zero...

Hors ligne

#15 Le 16/03/2010, à 10:44

amwus

Re : Serveur DNS récursif

Non en fait... j'ai rien dis... J'ai fais un tcpdump sur mon DNS, et effectivement, je vois qu'il forwarde la requête à 192.168.1.1 et il reçoit directement la réponse A. Donc il ne contacte pas lui même les roots...

Et si je ne définis pas la section forward, je ne peux plus faire de requête sur un domaine extérieur... Je ne comprend vraiment pas...

Edit:

Là, c'est mort, je ne comprend plus rien. J'ai fais un host -v www.ubuntu-fr.org 198.41.0.4 sur la machine en question, en utilisant directement un serveur root donc. Pas de réponse... Si je passe par le wifi de l'université, ça fonctionne. A l'intérieur du labo, impossible...

Dernière modification par amwus (Le 16/03/2010, à 10:56)


Black holes are where god divided by zero...

Hors ligne

#16 Le 16/03/2010, à 15:27

Uggy

Re : Serveur DNS récursif

J'avais mal compris.
Je croyais que tu avais configuré le "vieux" serveur DNS pour forwarder vers ton nouveau que tu voulais tester. A priori c'est donc le contraire.
Si tu voulais qu'il contacte les serveurs racines.. pourquoi l'avoir configuré pour forwarder vers le "vieux" serveur ? ? ?? ?

Je ne comprend plus grand chose.

Le vieux serveur DNS (A) a quelle IP ?
Le nouveau serveur DNS (B) a tester a quelle IP ?
Le client a quelle IP ?

Comment est configuré A ? (forwarde vers B ?? ..pas de forward ? )
Comment est configuré B ? (forward vers A ?? pas de forward ? )

Que donne un "dig www.domain.com @serveurA"
Que donne un "dig www.domain.com @serveurB"

- Si tu veux que B fasse ses requetes dehors.. tu ne dois donc pas le configurer pour forwarder vers A.
- Si une fois B configuré pour ne PAS forwarder vers A .. et que un "dig www.domainPASenCache.com @serveurB" ne donne pas de reponse.. c'est que probablement B n'est pas autorisé a sortir de ton réseau sur les ports 53... Comme tu dit etre autorisé a faire des tests metasploit, te faire ouvrir le port 53 vers Internet ne devrait etre qu'une formalité smile

Dernière modification par Uggy (Le 16/03/2010, à 15:34)

Hors ligne

#17 Le 16/03/2010, à 16:53

amwus

Re : Serveur DNS récursif

Je pense que c'est exactement le problème. Je n'ai pas le droit de sortir du labo dans l'état actuel des choses. J'ai envoyé un mail à l'administrateur en lui expliquant la situation, j'attend une réponse... Merci.


Black holes are where god divided by zero...

Hors ligne

#18 Le 16/03/2010, à 19:54

Elemmire

Re : Serveur DNS récursif

Moi j'essayerai aussi :

dig +trace www.domain.com @serveurA
dig +trace www.domain.com @serveurB

Hors ligne