Prérequis
Le protocole DNS utilise principalement le port UDP 53 (le port TCP 53 n'est utilisé que pour les transferts de zone). Ainsi via un mécanisme requête/réponse, il gère la correspondance entre un nom de machine et une adresse IP.
Quand une machine a besoin de l'adresse IP associée à un nom, une requête DNS est envoyée au serveur DNS qui répondra avec un paquet DNS contenant la réponse.
Dans l'entête DNS, un numéro d'identification lie la réponse à la requête émise.
Une attaque de type DNS Spoofing consiste à intercepter la requête, à forger une fausse réponse, en utilisant entre autres le bon numéro d'identification, et à l'envoyer en lieu et place de la véritable réponse. WinDNSSpoof automatise cette attaque.
Cet outil n'est utilisable que dans le contexte d'un réseau local. En effet, il est obligatoire de pouvoir sniffer les requêtes DNS. L'idéal est de rediriger le trafic de la machine cible au préalable. Pour cela, une attaque de type ARP Cache Poisoning est le plus efficace . Il est alors possible de sniffer le trafic même dans le cas d'un réseau switché.
Lors d'un DNS Spoofing, un problème lié à la rapidité de la réponse est probable. Si le serveur DNS répond plus vite que la machine du pirate, l'attaque échoue. Pour remédier à cela, les paquets DNS sortant de la machine de l'attaquant doivent être bloqués (grâce à un simple filtrage de paquets IP local). En outre, seuls les paquets non visés par l'attaque seront transmis (WinDNSSpoof se charge de cette tache).
Exemple de mise en oeuvre
Comme cela a été dit auparavant, le trafic entre la cible et le serveur DNS (ou la passerelle dans le cas où celui-ci n'est pas sur le même réseau) est redirigé afin de passer par la machine pirate. Sous Windows un outil comme winarp_mim est parfaitement adapté.
La machine du pirate doit faire du routage pour que le trafic puisse normalement circuler, Winroute Pro remplie très bien cette fonction.
A noter que dans le cas de Windows 2000 il est possible d'utiliser le routage natif du système. Pour Windows 9x, il est préférable d'utiliser un routage logiciel tiers au vu de la faiblesse de son implémentation. De plus Winroute est configuré pour bloquer les paquets DNS sortant (avec un port destination UDP 53). Là encore, un firewall personnel à part comme Tiny Firewall est plus efficace et plus simple d'utilisation. Le schéma suivant illustre ce scénario d'attaque :
Il reste à exécuter WinDNSSpoof avec les options adéquates.
>> WinDNSSpoof v0.9 by Valgasu (valgasu@securiteinfo.com) <<
usage: wds [options]
options:
-n [name] name to spoof
-g [mac] gateway or DNS server ethernet address
-i [ip] ip address
-v verbose
-h help
Exemple :
wds -n www.google.com -i 123.123.123.123 -g 00-C0-26-DD-59-CF -v
Dans ce cas les requêtes de résolution du nom www.google.com sont interceptées et une réponse est forgée pour laquelle l'adresse IP 123.123.123.123 est associée à ce nom. La victime croyant se rendre sur ce site est en fait dirigé à son insu vers la machine ayant l'adresse IP 123.123.123.123.
Cet outil n'est utilisable que dans le contexte d'un réseau local. En effet, il est obligatoire de pouvoir sniffer les requêtes DNS. L'idéal est de rediriger le trafic de la machine cible au préalable. Pour cela, une attaque de type ARP Cache Poisoning est le plus efficace . Il est alors possible de sniffer le trafic même dans le cas d'un réseau switché.
Lors d'un DNS Spoofing, un problème lié à la rapidité de la réponse est probable. Si le serveur DNS répond plus vite que la machine du pirate, l'attaque échoue. Pour remédier à cela, les paquets DNS sortant de la machine de l'attaquant doivent être bloqués (grâce à un simple filtrage de paquets IP local). En outre, seuls les paquets non visés par l'attaque seront transmis (WinDNSSpoof se charge de cette tache).
Exemple de mise en oeuvre
Comme cela a été dit auparavant, le trafic entre la cible et le serveur DNS (ou la passerelle dans le cas où celui-ci n'est pas sur le même réseau) est redirigé afin de passer par la machine pirate. Sous Windows un outil comme winarp_mim est parfaitement adapté.
La machine du pirate doit faire du routage pour que le trafic puisse normalement circuler, Winroute Pro remplie très bien cette fonction.
A noter que dans le cas de Windows 2000 il est possible d'utiliser le routage natif du système. Pour Windows 9x, il est préférable d'utiliser un routage logiciel tiers au vu de la faiblesse de son implémentation. De plus Winroute est configuré pour bloquer les paquets DNS sortant (avec un port destination UDP 53). Là encore, un firewall personnel à part comme Tiny Firewall est plus efficace et plus simple d'utilisation. Le schéma suivant illustre ce scénario d'attaque :
Il reste à exécuter WinDNSSpoof avec les options adéquates.
>> WinDNSSpoof v0.9 by Valgasu (valgasu@securiteinfo.com) <<
usage: wds [options]
options:
-n [name] name to spoof
-g [mac] gateway or DNS server ethernet address
-i [ip] ip address
-v verbose
-h help
Exemple :
wds -n www.google.com -i 123.123.123.123 -g 00-C0-26-DD-59-CF -v
Dans ce cas les requêtes de résolution du nom www.google.com sont interceptées et une réponse est forgée pour laquelle l'adresse IP 123.123.123.123 est associée à ce nom. La victime croyant se rendre sur ce site est en fait dirigé à son insu vers la machine ayant l'adresse IP 123.123.123.123.
Téléchargement
ATTENTION ! L'utilisation d'un tel outil sans autorisation du propriétaire du réseau est illégale. A utiliser uniquement lors d'un audit de son propre réseau.
Télécharger l'exécutable de WinDNSSpoof pour Windows. L'installation de WinPcap est indispensable à l'utilisation de cet outil.