VoIP-STFR

Le phreaking a beaucoup évolué, il ne suffit plus de dénuder une jarretière téléphonique pour tendre l’oreille vers une communication téléphonique. La VoIP a certes mis à la porte ce genre de joyeuseries, mais a ouvert la fenêtre à d’autres moyens d’écoute…

ARP Spoofing

Une machine sur un réseau possède différentes adresses et informations correspondant à différentes couches du modèle OSI. Le protocole Ethernet correspond à la couche liaison de données (niveau 2), il utilise les adresses MAC (physiques). La couche réseau (niveau 3) utilise généralement le protocole IPv4. La correspondance entre ces deux niveaux se fait grâce au protocole ARP (Address Resolution Protocol).


Une machine souhaitant communiquer avec une autre machine du réseau ou un équipement (par exemple, un routeur), dans le cas où elle ne connait que l’adresse IP de son interlocuteur,  va émettre une requête ARP en broadcast de type « Who-Has ». Seule la machine possédant cette IP répond en unicast au demandeur, ce qui lui permet de récupérer l’adresse MAC associé à cette machine.

L’ARP spoofing est une technique consistant à corrompre la table de correspondance utilisée par le protocole pour faire correspondre une adresse IP  et une adresse MAC appartenant pourtant à deux machines distinctes.

Lorsque cette attaque est menée simultanément sur deux équipements souhaitant communiquer entre eux, de tel façon que chacun s’adresse à l’attaquant plutôt qu’à l’interlocuteur souhaité, on se trouve alors en position de  « Man In The Middle ». Cette incursion peut se révéler quasiment indétectable si la machine ayant mener l’attaque transmet le contenu de la communication aux interlocuteurs légitimes immédiatement après l’avoir reçu.

En bombardant les machines cibles de requêtes ARP, il est possible d’empoisonner leur table ARP, en injectant une correspondance entre l’adresse MAC de l’attaquant et l’IP de la machine usurpée.

Dans la situation que nous verrons, nous allons nous retrouver dans une situation analogue à celle ci-dessous. La liaison ne se fera plus directement entre le téléphone IP et le routeur (lien rouge), mais comportera la machine à l’origine de l’attaque en son milieu (liens verts).

ARP Spoofing

 

Les Tools

ettercap logoEttercap est un logiciel permettant de sniffer les paquets émis et reçus par une carte réseau. Il intègre surtout des outils permettant de se positionner entre deux machines communiquant entre elles sur un réseau : Man In The Middle (MITM)

wireshark logoWireshark permet de récupérer et analyser les paquets émis et reçus par une carte réseau appartenant à la machine sur laquelle il est installé. C’est une solution libre qui intègre un grand nombre d’outils, notamment d’analyse VoIP.

Réalisation

On lance tout d’abord l’outil permettant de nous placer en situation de « man in the middle »  :

Ettercap –G

 Depuis l’interface graphique on va lancer un scan rapide des ordinateurs et équipements présents sur le réseau, puis afficher cette liste :

  • Menu : Hosts/Scan for hosts
  • Menu : Hosts/Hosts list

mitm_voip080

On ouvre à présent l’onglet Targets/Current Targets, et l’on ajoute dans chaque colonne l’un des deux équipements entre lesquels on veut s’immiscer. C’est-à-dire dans notre cas, le poste IP et le routeur.

mitm_voip081

On lance ensuite une attaque MITM depuis le menu éponyme (dans les deux sens pour écouter les deux interlocuteurs) :

mitm_voip082

Cette petite mise en place terminée, on lance Wireshark et l’on attend qu’une conversation ait lieu… Lorsque la communication débute, un flot important de paquets UDP est capturé par Wireshark. Quand celui-ci s’interrompt,  la communication est terminée. On peut alors stopper la capture et commencer à travailler sur les données récoltées.

Il est possible d’isoler le flux issu de la communication téléphonique par un clique droit sur l’un des paquets / Follow UDP Streammitm_voip083

Parfois, Wireshark ne détermine pas automatiquement le protocole associé au flux UDP. Ici, il s’agit de RTP (Real Time Protocol). Il est possible de traduire le flux grâce à l’outil accessible dans : Analyze/Decode as…

mitm_voip084

Il suffit à présent de lancer l’outil dédié à l’analyse des flux RTP dans : Telephony/RTP/Stream Analysis mitm_voip085

Pour écouter la conversation depuis Wireshark : Player puis Decode et enfin Play en ayant cliqué au début du spectre graphique de la bande audio (Partie Orange). mitm_voip086

encrypted okay memeDans mon cas le flux RTP était chiffré. Il s’agissait en réalité de SRTP (Secure Real-time Transport Protocol). Sans la clé de chiffrement, impossible de récupérer la conversation. Le SRTP est un flux RTP chiffré généralement avec l’algorithme AES (très robuste). J’ai tenté d’obtenir la clé en la demandant tout simplement à la société fournissant la ligne VoIP, prétextant un besoin d’archivage des conversations passées depuis le téléphone. La société a heureusement refusé…