Pages - Menu

Pages

Les outils pour espionner avec Ethereal - protéger son réseau informatique - sécurité informatique

Les outils pour espionner

Pour comprendre le fonctionnement d’un réseau ou pour mesurer les risques liés écoute, l’utilisation des 

renifleurs (snifers) est recommandée. La suite de ce chapitre présente tcpdump1et Ethereal2, deux des renifleurs les plus utilisés.
 
En fonction de l’endroit où le renifleur est positionné, l’écoute sera plus ou moins intéressante. Dans un réseau commuté, par défaut, on n’écoutera que le trafic destiné à la machine hébergeant le snifer3(les échanges unicast où elle apparaît ainsi que les broadcast de son domaine de diffusion). Raccordé à un concentrateur (hub), le snifer   destiné à toutes les machines.

Pour fonctionner normalement, tcpdump et Ethereal nécessitent de placer l’interface d’écoute en mode indiscret (promiscuous ), ceci requiert des privilèges d’administrateur sur la machine qui les héberge (par défaut une interface réseau ne s’intéresse qu’au trafic  qui lui est destiné, en mode indiscret, tout le trafic  est espionné).

tcpdump et Ethereal utilisent la bibliothèque portable libpcap qui permet de capturer des paquets sur une interface réseau. Le principe des 2 outils est le même :
 
capturer des paquets en tenant compte d’un filtre de capture potentiellement positionné par l’utilisateur. Ils fonctionnent tous deux sous  Windows XP et Linux, tcpdump est utilisable en mode ligne uniquement tandis que Ethereal procure une interface graphique agréable.

1  - Rédiger des filtres  de capture pour tcpdump et Ethereal

Les filtres  de captures permettent de restreindre le nombre de paquets capturés en ciblant précisément le type de recherche à effectuer. La notification utilisée pour spécifier des filtres  de captures permet de sélectionner des réseaux, des noms de machines, des protocoles et des numéros de ports. Les différents éléments d’un filtre peuvent être combinés logiquement (and, or, not) comme dans les exemples suivants :

–          net 148.65.13.0 mask 255.255.255.0


–          host www.machin.fr : un nom de machine à résoudre ou un numéro IP ;


–          tcp : on cible ici uniquement les paquets TCP. Les autres valeurs possibles incluent udp, ip, icmp, broadcast, multicast, arp, ...


–          port 80 : le port 80 en TCP ou UDP ;

–          tcp and port 80 : le port TCP 80 ;


–          tcp and not port 80 : tout TCP sauf le port 80 ;


–          not broadcast and not multicast and not icmp and not arp : tout sauf les broadcast, le multicast, les paquets ICMP et les paquets ARP ;


2 -  tcpdump

Les options de démarrage de tcpdump sont les suivantes :

tcpdump [ -adeflnNOpqRStuvxX ] [ -c nombre de paquets ]


              [ -C taille du fichier de capture ] [ -F fichier ]


              [ -i interface ] [ -m module ] [ -r fichier ]


              [ -s nombre d’octets ] [ -T type ] [ -w fichier ]


              [ -E algo:secret ] [ expression ]

Parmi les options les plus usuelles de tcpdump on peut citer les suivantes :

-c nombre de paquets qui arrêtera la capture lorsque le nombre de paquets indiqué sera atteint ;
-w fichier pour écrire les paquets capturés dans un fichier ;
-x pour imprimer les paquets capturés en codage hexadécimal ;
-X pour imprimer les paquets capturés en ASCII ;
-s nombre d’octets pris en compte dans chaque paquet (68 par défaut). En indiquant 0, on stipule qu’il faut utiliser le nombre d’octets nécessaires pour capturer la totalité du contenu des paquets.
 
Expression correspond à un filtre rédigé comme indiqué en section 3.1

3 - Tcpdump

3.1    Un exemple d’utilisation de tcpdump


L’exemple précédent est une trace des échanges entre un navigateur WWW et un serveur HTTP. Le premier paquet est l’établissement de la connexion TCP entre le client et le serveur (émission d’un paquet SYN marqué du drapeau S par tcpdump). Le second paquet est l’acceptation de la connexion par le serveur qui à destination du client. Le troisième paquet est l’émission d’un paquet ACK par le client pour valider son acceptation de la connexion. Le quatrième paquet TCP marque le début de la première requête HTTP ( GET / ).

En dehors de son interface d’usage graphique (très riche),  Ethereal se distingue de tcpdump par le très grand nombre de protocoles qu’il interprète (plus de 500 protocoles, dont BitTorrent, CUPS, HTTP, ICQ, IMAP, LDAP, NTP ...

cf. http://www.ethereal.com/docs/dfref/). Parmi les principales fonctionnalités d’Ethereal on peut citer les suivantes :

Adaptation à différentes technologie de réseaux locaux (Ethernet, FDDI, Token Ring, 802.11, ...) ;

Filtrage des paquets en capture et impression (avec personnalisation de l’utilisation de la couleur) ;

Suivi de session TCP ;

Création de statistiques et de graphes (nombre de paquets, nombre de requêtes, ...).

3.2    Un exemple d’utilisation d’Ethereal

Les figures suivantes présentent Ethereal en fonctionnement, l’utilisateur a demandé de tracer à l’aide d’un filtre de capture (port 80). À l’issue de la capture, il a sélectionné un paquet TCP qui transporte une requête HTTP. Il a en outre demandé l’interprétation du protocole HTTP (figure 4.1). La (figure4.2) montre le rendu l’option Follow TCP Stream.

4. Ethereal
 

Figure 4.1: Ethereal capturant avec un filtre port 80


Figure 4.2 : l’option Follow TCP stream d’Ethereal

5 - Conclusion

L’intérêt de ces outils pour un administrateur de réseau est manifeste. Ils sont par contre très dangereux lorsque des personnes mal intentionnées les utilisent.

Compte tenu de leur capacité à interpréter en clair des protocoles aussi répandu que HTTP, POP, IMAP, LDAP, ... il est évident que l’usage des versions sécurisées HTTPS, POPS, IMAPS, LDAPS, ... est fondamental.

On rappellera aussi qu’en France, la CNIL (Commission Nationale de l’Informatique et des Libertés) encadre le rôle des administrateurs informatiques, le texte ci-dessous est extrait du guide pratique pour les employeurs de la CNIL4:

(De même, les administrateurs de réseaux et systèmes, généralement tenus au secret professionnel ou à une obligation de discrétion professionnelle, ne doivent pas divulguer des informations qu’ils auraient été amenés à connaitre dans le cadre de leurs fonctions, et en particulier lorsque celles-ci sont couvertes par le secret des correspondances ou relèvent de la vie privée des utilisateurs et ne mettent en cause ni le bon fonctionnement technique des applications, ni leur sécurité, ni l’intérêt de l’entreprise. Ils ne sauraient non plus être contraints de le faire, sauf disposition législative particulière en ce sens. )

------------------------------------------------------------------------------------------------------
 >>> CHAPITRE II : Scanner les ports

Aucun commentaire:

Enregistrer un commentaire