Accueil

Téléchargement

Mailing lists

SourceForge.net Logo

    Ce programme montre un détournement de DNS en utilisant le protocole ARP. Son fonctionnement particulier lui permet de détourner le trafic sur un hub comme sur un switch.

    ~# jack -h
    Utilisation: jack [options] ip_victime ip_spoofée
    Options : -i device : interface (eth0 par défaut)
              -h        : seul le cache ARP de la victime est modifié
              -o file   : toutes les demandes DNS sont enregistrées
              -d file   : demandes DNS à modifier : le fichier doit avoir
                          la forme : nom<separateur>Adresse_IP

  1. Fonctionnement
  2. Le programme effestue tout d'abord une requête ARP normale pour connaître l'adresse IP de la victime. Il effectue ensuite une requête ARP avec comme adresse IP source celle du routeur mais sans broadcast Ethernet. Cette requête est invalide, mais le fonctionnement en couche va nous aider.
    En effet, la couche Ethernet reçoit un paquet qui lui est destiné retire les en-têtes Ethernet et le passe à la couche supérieure (ARP). Notre requête devient ainsi valide !

    Tout celà ne sert à priori à rien car la machine cible nous renvoie son adresse IP que nous connaissons déjà. Toute l'intérêt de cette attaque vient du système d'optimisation ARP : pour minimiser les requêtes, les machines clientes mettent leur cache ARP à jour également lorsqu'elle reçoivent une demande. Ainsi, la machine victime considère que le routeur est la machine pirate.
    Sur une machine Windows, le cache se met à jour même s'il est déjà renseigné !
    Si l'option -h n'est pas activée, le routeur est également trompé.

    Jack intègre un dispositif de routage qui permet au trafic de s'écouler normalement : il renvoie au routeur la trame qui lui était destinée. Si l'option -h n'est pas activée, il modifie l'adresse MAC source pour y mettre la sienne. La deuxième possibilité offerte par Jack consiste à examiner les requêtes DNS. Si la requête est dans la table passée à l'option -d alors elle n'est pas transmise et Jack répond à la victime avec la fausse adresse IP.

  3. Bugs
  4. Sur un réseau 100Mb, les trames Ethernet ont un trailer pour atteindre 64 octets. Lorsqu'il construit la réponse DNS, Jack ne respecte pas ce point et les paquets deviennent invalides.