Listen to the wire - Ethernet Wiretap
Date de publication: 20/07/2019
Bonjour à toutes et à tous !
Actuellement en alternance dans le cadre de mes études, mes missions ne cessent de se diversifier. Etant connu pour aimer le réseau au sein du service (non spécialisé dans ce domaine), une tâche particulière me fut assignée.
Hey Foxty, tu penses pouvoir intercepter toutes les trames de cette Raspberry Pi lors de son boot, histoire de troubleshoot pourquoi elle ne fonctionne pas sur le réseau du client ?
Pas de soucis, je m’en charge !
Ma première idée était de Man In The Middle (MiTM) le boitier en faisant du ARP Spoofing. Cette méthode permet de falsifier la table ARP des hôtes ciblés afin de :
- Me faire passer pour le routeur aux yeux du Rapsberry PI
- Me faire passer pour la Raspberry Pi aux yeux du routeur
- D’intercepter alors les trames reçues et des les renvoyées aux hôtes légitimes.
(Pour les personnes souhaitant en apprendre d’avantage sur cette technique, voici un petit article permettant de se faire une idée du procédé.)
Etant sur le réseau de mon employeur, la première chose à faire était de prévenir le responsable informatique. Une fois que ce fut chose faite, je me lanca à l’attaque !
Muni de mon bon ami Bettercap (qui, au passage, est une véritable dinguerie d’outil, genre, vraiment), je m’empresse de lancer mon ARP Spoofing sur le réseau. Après quelques minutes écoulées, toujours aucun résultat dans mon interface Wireshark… Étrange. Je me rapproche alors une nouvelle fois du responsable informatique qui me donne une info cruciale : Le routeur sur mon segment réseau est un Stormshield !
De par ma formation, j’y ai appris que le Stormshield en place était surement la cause de l’échec de l’ARP Spoofing.
Après quelques heures de frustration, je me résigne et décide de réfléchir à un autre moyen d’intercepter le trafic réseau.
La nuit porte conseil de c’qu’on dit… Spoiler, c’est vrai.
Le lendemain, je me réveille (comme tous les jours hein) et me replonge dans cette sombre affaire d’interception dès mon petit déjeuner.
Comment pourrais-je intercepter ce trafic ?
En préparant ma voiture pour ma tournée journalière, je range mes câble Ethernet et… BINGO ! Allons jusqu’à la source et chopons les paquets de manière brute : Sur le câble Ethernet directement ! Comment n’y ai-je pas pensé plus tôt ? En faisant quelques recherches, je me suis très vite aperçut que mon idée n’est pas nouvelle et que d’autres personnes ont déjà fait des articles sur le sujet.
Longue introduction en matière, je sais ! Mais sachez que dans toute bonne histoire, le contexte fait toute la différence.
Le principe
Dans un câble Ethernet classique, les fils qui le composent sont disposés de la manière suivante :
Dans notre cas, le câblage est celui de droite, câblé “en B”.
Dans cette configuration, la paire “Orange/Blanc Orage” est la paire sur laquelle le signal électrique d’émission des paquets transite. La paire “Vert/Blanc Vert” quand à elle sert de paire de réception des paquets.
Le câble bleu est celui de l’attaquant alors que le gris est le câble de la victime.
Le principe est simple : Créer un câble “en Y” composé d’un câble normal sur lequel viendra se greffer un bout de câble Ethernet qui réceptionnera les paquets sur la paire d’émission du câble. Une petite photo ? Et voici le schéma du câblage :
Petite explication technique :
- Pour pouvoir récupérer “l’émission” de la victime, nous devons brancher NOTRE “réception” sur “l’émission” de la victime
- Le Vert (-) de l’attaquant va sur le “Blanc Orange” (+) de la victime
- Le “Vert Blanc” (+) de l’attaquant va sur le “Orange” (-) de la victime
Et voilà ! Notre câble est enfin prêt à intercepter les paquets émis par notre victime ! Mouhahaha ! Testons cela en lançant un petit tcpdump sur notre interface Ethernet :
Source : https://www.lastbreach.com/blog/physical-wiretapping-for-beginners\
Limitations
Effectivement, ce petit câble peut nous être extrêmement utile ! Néanmoins il dispose d’un défaut : Il ne permet d’intercepter que les paquets ENVOYÉS par notre victime. C’est à dire que n’importe quelle réponse reçue ne sera pas chopée. Afin de palier à ce problème, il faudrait alors répéter l’opération, prendre un 2e câble “d’interception” et brancher sa paire de réception sur la paire de réception de la victime. Avec 2 interfaces réseau et ce câble, nous pouvons alors intercepter entièrement le trafic !
Conclusion
J’espère que cette petite expérience vous donnera envie de vous fabriquer votre propre câble de Wiretaping Ethernet ! Si c’est le cas et que vous l’avez aussi réalisé, n’hésitez pas à m’envoyer la photo sur Twitter :D