DNS & co
Le protocole DNS est la clé de voute d’internet. Ce protocole est utilisé partout à tous les instants.
Les derniers avis de sécurité du protocole DNS notifiait des problèmes de sécurité d’implémentation du Transaction ID. Il est possible sous certaine configuration de prédire le transaction ID.
Ce transaction ID est généré à chaque requête et ré-émis lors de la réponse. Partant de ce principe il est possible de faire des statistiques sur la génération des transactions ID.
J’ai créé un outil en python permettant de faire de l’analyse sur ces fameux transaction ID.
L’idée est d’envoyer a un serveur DNS des requêtes aléatoire (par exemple: 345678865.mondomaine.fr) sur un domaine sous votre contrôle afin d’étudier le champs Transaction ID.
J’ai donc fait de l’analyse sur 2000 requêtes vers un DNS « Windows 2003 Serveur SP1″. Il en résulte le résultat suivant :

On constate effectivement que la génération du transaction ID n’est pas si aléatoire que ca.
Le même test sur un DNS de chez google

La différence est assez flagrante. Ici la ramdomization est correct, il serait assez difficile de prédire le transaction ID.
Vous pouvez télécharger l’outil en python à l’adresse suivante http://data.stealthisblog.fr/script/DnsStats.py
Cet outil sera modifié pour automatiser l’attaque en MITM sur le protocole DNS.

The DNS & co by Steal This Blog, unless otherwise expressly stated, is licensed under a Creative Commons Attribution-Share Alike 2.0 France License.
décembre 7th, 2009 at 17:54
En plus Google utilise plusieurs DNS IIRC.
As tu essayé avec un bind ? Peut être est-ce un problème au niveau du DNS de Windows
décembre 7th, 2009 at 20:16
Salut Fabrice,
Je n’ai pas tester bind encore. Cela fera certainement suite sur un prochain post. Par contre j’ai remarqué une bizarrie chez le DNS de MS. Il fait ses requêtes clientes toujours avec le même port source…
Dès que j’ai un moment je test ca et je post