Pages : 1
#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 !!
Ju
Black holes are where god divided by zero...
Hors ligne
#2 Le 15/03/2010, à 20:39
- Uggy
Re : Serveur DNS récursif
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 (par exemple avec un sniff)
Hors ligne
#3 Le 15/03/2010, à 20:59
- droopy191
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 (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..
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
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
;; 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
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.
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 ?
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
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
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é
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
Pages : 1