A la découverte… D’un paquet dans un VPN entre deux OpenVPN

Avoir un VPN « road warrior » vous permet d’accéder à votre réseau VPN de n’importe où. Quid des paquets qui transitent ?

Certains d’entre-vous ont peut être suivi les articles précédents, concernant la mise en place d’un serveur OpenVPN en un clic sur un container LXC dans un Proxmox et son utilisation sur Windows 10 – Vous pouvez retrouver l’intégralité de ces articles à ces adresses :


Tout ce qui transite dans un VPN est chiffré, puisque c’est le but premier d’un tunnel VPN. Selon les sécurités que vous avez mis en place, les données qui transitent entre les réseaux peuvent être plus ou moins difficiles à déchiffrer et donc, être altérables.

J’ai effectué une analyse de trame très rapide vis-à-vis de mon lien entre mon PC personnel et mon VPN.
En prenant un paquet aléatoire, j’ai voulu explorer et m’assurer que les données étaient incompréhensibles > Entendez par là que les données sont inutilisables si vous interceptez les paquets en effectuant une attaque de type « Man in the Middle ».

A la première vue des données dans le paquet, aucune information n’est visible en clair – une suite de chiffre, de lettres, de symboles sans logique apparente… Le chiffrement est donc bien actif !
Quelques informations apparaissent toutefois en clair, ou presque :

1_ip-src

L’IP source (ici, mon PC personnel) est donc l’IP de votre machine allant vers le serveur OpenVPN. Dans le header du paquet, il est possible de voir l’IP source en clair. En tant que tel, il ne s’agit pas réellement d’une faille de sécurité.

Quelques octets plus loin, il est possible de voir l’IP de destination, donc l’IP vers laquelle se situe votre serveur OpenVPN. Une nouvelle fois, pas de problème de sécurité vis-à-vis de cette information.

2_ip-dst

Ces informations sont visibles sur l’en-tête du paquet.


L’OpenVPN Key ID correspond au numéro de clé qui a été utilisé pour chiffrer le paquet et donc, quel clé est à utiliser pour déchiffrer le paquet côté serveur.

3_key-id

Une nouvelle fois, aucune réel problème de sécurité sur ce point précis, puisque l’ID n’est utile que si vous avez la paire de clé privée.


Enfin, après avoir l’ID de la clé utilisée pour chiffrer, les données sont exposées dès l’octet 43 du paquet. En effet, de l’octet 1 au 42, il s’agit de l’en-tête du paquet, donc des informations utiles pour faire transiter le paquet via les réseaux.

Spoiler : vous allez être déçu du contenu !
Voyez par vous-même :

4_data

Impossible de comprendre la moindre donnée du paquet ! Peut-être y-a-t-il un mot de passe important qui y transite, peut-être est-ce un paquet envoyé vers un rover spatial ou alors est-ce tout simplement un paquet d’information pour un mini-jeu sur Facebook… ?! Mystère…

Une personne connectée sur le même réseau que vous et interceptant vos paquets ne pourra donc pas ouvrir le contenu des paquets que vous transmettez (et recevez) via la tunnel VPN. Tout est chiffré, aucune donnée « vitale » ne transite en clair !


Un paquet OpenVPN transitant via UDP se présente de la sorte :

5_header-paquet

Mise à part les IP, les adresses MAC et les ports de connexion qui sont affichés visiblement en clair, impossible d’avoir d’autres informations de ce paquet.

Un flux d’information (une connnexion VPN) entre un PC et son serveur fait transiter de nombreux paquets, notamment si vous utilisez la connexion de façon intensive.
Voici ce que donne ce type de flux :

analyze_packet

Moralité

Une chose est sûre : de mon PC vers OpenVPN, le trafic est chiffré, il ne passe pas en clair. Personne sur mon réseau local pourra voir les mots de passe qui transitent, ni même les données que j’échange.

Depuis le serveur OpenVPN vers l’internet par contre, si le trafic n’est pas chiffré vers la destination finale (par exemple, un site web), un attaquant effectuant un « Man in the Middle » pourra donc intercepter les paquets et y voir les données en clair…

Julien H

Passionné depuis toujours par l'informatique, je transforme ma passion en expertise. J'utilise quotidiennement les outils et systèmes Microsoft. Je ne délaisse pas mon côté ouvert, notamment via l'utilisation des OS Debian et Archlinux. L'infosec m'ouvre les yeux sur les enjeux actuels et futurs de l'IT.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

Share This
Fermer
Fermer