Ethereal

Un article de Haypo.

Retour à l'accueil réseau

Ethereal est un outil permettant de voir les données qui passent par une interface réseau. Il est très complet car il reconnait un très grand nombre de protocoles allant de IP (bien sûr) à ICMP en passant par Quake :-) Ethereal utilise la librairie PCAP, et fonction sur de nombreux systèmes d'exploitation (dont Windows et Linux).

Sommaire

[modifier] Filtre Ethereal

Après une capture, il est intéressant de filtrer le résultat.

Cacher les paquets de ou pour l'IP 192.168.1.1 :

ip.src != 192.168.1.1 and ip.dst != 192.168.1.1

Cacher les paquets qui réinitialisent une connexion TCP (RST+ACK) :

tcp.flags != 0x14

Ne montrer que les connexions dont le port TCP source est égal à 33170 :

tcp.srcport == 33170

Ne montrer que les échanges SSL (port TCP 443) :

tcp.srcport == 443 or tcp.dstport == 443

Voir la référence sur les filtres d'affichage.

[modifier] Capturer des paquets qui ne nous sont pas destinés

Il existe diverses méthodes permettant de détourner une connexion pour attraper des paquets qui nous ne sont pas destinés. Il faut commencer par transformer son ordinateur en passerelle (echo "1" > /proc/sys/net/ipv4/ip_forward, est-ce suffisant ?).

[modifier] Avec ICMP

La méthode présentée ici est celle utilisant des paquets ICMP Redirect. Ce type de paquet permet d'indiquer qu'un chemin est plus court qu'un autre lorsqu'on veut atteindre un serveur. Le but est d'indiquer pour attendre le serveur SERV, la victime doit passer par notre PC.

[modifier] Par DNS

Lorsqu'un client veut se connecter au server SERVEUR.com, il doit commencer par faire la correspondance entre le nom du serveur et son IP via un DNS. Le but étant de faire correspondre SERVEUR.com à notre machine, puis renvoyer discrêtement les paquets à la vrai IP. Plusieurs méthodes existents :

  • Pénétrer le serveur DNS utilisé par le client (plus violent comme méthode et pas très discrète)
  • Insérer un SERVEUR.com dans les informations DNS du notre serveur auquel notre client devra se connecter avant d'aller sur SERVEUR.com.
  • etc.

[modifier] Par ARP

Le protocole ARP est utilisé dans une boucle locale pour faire la correspondance entre une IP et une adresse Ethernet. Ce protocole n'est pas sécurisé, et il est facile de se faire passer pour une autre IP. On utilise pour ça la méthode dite « ARP flood » qui consiste à envoyer sans arrêt des paquets ARP à la victime, et à la limite de bloquer le serveur auquel le client fait normalement appel.

[modifier] Se protéger de ce genre d'attaques

Sous Linux, on peut simplement ignorer les paquets ICMP Redirection en ajoutant la ligne "net.ipv4.conf.all.accept_redirects = 0" au fichier sysctl.conf (sous Mandrake, il faudrait voir sur d'autres distributions). Les attaques par DNS sont corrigées au fur et à mesure dans les serveurs DNS et au niveau des clients. Les attaques d'« ARP flood » sont détectables avec le programme arpwatch (dumoins la plupart, mais j'ai entendu qu'on peut contrer ce programe).

[modifier] Lien externe