Mon petit Macbook a passé la nuit à faire des statistiques (de son propre chef ;) ). Sur 1700 serveurs DNS, à votre avis, combien ne sont pas encore patchés contre d4 K4m1n5K1 fl4\/\/ ?
Réponse: 1619 serveurs vulnérables sur 1700. Quelle claque!
Edit:
D'ou vient cette liste? Comment ai-je réaliser mes test? Certaines personnes (via commentaires ou mail) m'ont posé la question. Je ne publierai pas ici la liste des serveurs vulnérables, mais je vais tout de même donner quelques précisions.
Il y a de cela quelques mois, je me suis interréssé a une technique d'attaque appelée "DNS Cache snooping". Le "seul" documents y faisant référence est un PDF datant de 2004: http://www.rootsecure.net/content/downloads/pdf/dns_cache_snooping.pdf
Ma question était alors: "C'est toujours aussi répandu qu'on le dit cette vulnérabilité?"
(J'ai la réponse à la question, mais ce seras publié bientôt/ou peut être jamais :) )
Ce PDF fournit une liste de serveurs DNS en source (pour les statistiques présentées au début du papier): http://www.packetfactory.net/papers/DNS-posture/exhibit-01.txt
Cette liste contient 21 000 adresses de serveurs DNS (mais attention, serveurs disponibles en 2004...). Sur ces 21 000 serveurs, si on élimine ceux qui ne permettent pas de faire des requêtes tierces, qui n'existent plus depuis 2004, ... , on se retrouve avec une liste de 8000 serveurs DNS up and running. Ensuite, j'ai fait un script PERL à l'arrache qui "regarde" si ces serveurs sont vulnérables. Pour cela je regarde si les ports sources des requêtes DNS sont "assez" aléatoires en utilisant le site https://www.dns-oarc.net/oarc/services/porttest . La régle est:
- GREAT, GOOD --> non vulnérable (du moins, spoofing difficile). Les ports sources sont plutôt bien randomisés.
- POOR --> vulnérable. Le serveur a une fâcheuse tendance à répéter ses ports sources (assez souvent d'ailleurs, il s'agit plus de son port source plutôt que de ses ports sources ;) ).
La, le lecteur averti ce diras: "Ce type part d'une liste de 8000 serveurs, et à l'arrivée il fait des "stats" sur 1700 serveurs... Pourquoi?"
Ma réponse est que vérifier 1700 serveurs DNS prends déjà une bonne heure, ... et à l'origine, je m'intéressais au DNS Cache snooping, pas au DNS Cache spoofing :)
Tips:
Comment vérifier à distance que le serveur DNS de tata Eugénie n'est pas vulnérable?
En utilisant la méthode d'étude des ports sources, pour checker le serveur 12.106.80.10 (par exemple) tapper dans votre terminal:
dig @12.106.80.10 +short porttest.dns-oarc.net TXT
Ce qui vous renverra dans ce cas:
porttest.y.x.w.v.u.t.s.r.q.p.o.n.m.l.k.j.i.h.g.f.e.d.c.b.a.pt.dns-oarc.net.
"12.106.80.10 is GREAT: 26 queries in 0.5 seconds from 26 ports with std dev 4222"
(Je sais, je suis une raclure, j'ai pas pris un serveur vulnérable dans mon exemple. Désolé petit scarabée :) ).
Après, trouver/rédiger le code permettant d'exploiter la vulnérabilité, c'est une autre histoire.
P-S: I like this blog design!