Partie IV : Sniffage
discret d’un réseau |
TABLE DES MATIERES :
1- La problématique et les
différentes solutions proposées.
2- Mise en place de la maquette
de test
3- Solution 1 : TAP et carte
en mode normal
4- Solution 2 : Modules de
Carnivore et carte en mode normal
5- Solution 3 : Firewall
personnel et carte en mode promiscuous
____________________________________________________
Le problème est le suivant : comment
espionner un réseau sans pour autant être repéré par une autre machine sur
ce même réseau ? Si on connaît l’adresse IP ou même l’adresse MAC d’une
machine, la repérer est très simple : il suffit de faire un
"ping"…et elle répond bêtement à cette requête! Si nous n’avons pas
son adresse IP, nous pouvons par exemple prendre CHEOPS que j’avais utilisé pour superviser le réseau et celui-ci
nous affiche toutes les machines connectées au réseau avec leurs adresses IP,
MAC et alias respectifs. Il existe bien entendu d’autres moyens de détecter une
machine connectée à un réseau !
Différentes
méthodes existent cependant pour ne pas se faire repérer, j’en ai répertoriées
trois suivant ce que j’ai réussi à trouver sur Internet :
1- On peut placer un TAP comme le montre les figures 3 et 4 ci-dessus. Un TAP est une
entité physique qui permet de "remonter" vers la machine sniffeuse tous
les paquets (même ceux qui ne lui sont pas destinés) qui passent sur le câble
ETHERNET où est connectée la machine de supervision. Par contre rien ne pourra
redescendre vers le câble ETHERNET, ce qui rend donc cette machine sniffeuse
complètement indétectable pour tout autre utilisateur sur le réseau (un ping
par exemple n’aura pas de réponse).
2- Une troisième solution est d’enlever la
couche IP de la machine sniffeuse, mais ceci est à double tranchant. Ainsi,
comme aucune trame ne peut redescendre (et par conséquent aussi malheureusement
aucune trame ne peut remonter et nous ne voyons alors rien sur le
réseau !), aucune réponse ne peut être donnée à une requête venant du
réseau et par conséquent la machine sniffeuse n’est pas repérable. Mais comme
je l’ai dit, la machine ne peut plus rien sniffer sur le réseau, c’est pourquoi
la solution consisterait à remplacer la couche IP par un programme qui
attaquerait directement la carte réseau au niveau physique en effectuant un
filtrage à ce niveau (ceci a été fait pour le logiciel Carnivore développé par
le FBI, c’est donc possible). Ce programme permettrait alors d’autoriser les trames
à remonter (mais non à redescendre vers le réseau, donc indétectabilité de la
machine) et en plus d’effecteur un filtrage au niveau de la carte réseau
(filtrage sur les ports qu’on veut écouter, le type de trame, une adresse IP
particulière,…) et par conséquent d’alléger le traitement au niveau de la CPU
en ne remontant que les trames intéressantes souhaitées. C’est donc la solution
la plus intéressante…mais la plus difficile à mettre en place comme j’ai pu
m’en rendre compte !
3- On peut placer un firewall de type
personnel (c’est-à-dire qui ne soit applicable qu’à une machine équipée d’une
seule carte réseau par opposition aux firewalls un peu plus complexes comme
ceux vus précédemment). Dans ce cas, il faudra les paramétrer de manière à ne
laisser passer aucune trame sortante. Cependant, il faudra quand mettre la
carte réseau en mode promiscuous pour attraper tous les paquets passant sur le
réseau, car le firewall ne s’occupe que de la partie "non-repérage".
La mise en place la plus simple est sous LINUX, avec le même genre de script de
ipchaines/iptables que j’avais mis en place pour le firewall de l’entreprise.
Les trois cas peuvent se résumer par le
tableau ci dessous qui rassemble les moyens de sécurisation et de sniffage pour
chacune des solutions :
Solutions possibles |
Sécurité |
Sniffage |
Solution 1 |
TAP |
Carte réseau en mode normal |
Solution 2 |
Couche IP remplacée par des modules de Carnivore. |
Carte réseau en mode normal. |
Solution 3 |
Firewall personnel |
Carte réseau en mode promiscuous ou un sniffer. |
Toutes les machines
dans cette partie tournent sous NT Workstation ou NT Server.
Figure 1 : Maquette de test
Figure 2 : Zoom sur la mise en place d'un TAP
Figure 3 : Sniffage d'un réseau commuté à l'aide de TAP (solution général)
Carnivore est un logiciel qui a été
développé par le FBI il y a quelques années, pour permettre"au FBI, en
accord avec un fournisseur d’accès et sous mandat, de tracer toutes les
communications nécessaires à une enquête donnée". Suivant le FBI toujours,
ce miraculeux logiciel permet de n’espionner que la ou les personne(s)
désignées…Il permet d’espionner tout le trafic entrant et sortant à une adresse
IP donnée, ainsi que de lire les mails adressés à la personne détentrice de
cette adresse IP.
Un exemple de script de carnivore est disponible ici.
RAPPORT :
La mise en place du pare feu
sous LINUX
La sécurisation de machines
sous NT et LINUX