Saviez-vous qu’un pirate informatique peut effectuer des virements bancaires ou des achats en ligne en votre nom sans voler vos informations d’enregistrement ?

Nous associons les cookies au suivi et aux publicités en ligne ennuyeuses, mais ils stockent également les requêtes de recherche, ce qui nous permet de visiter des sites web sans saisir de nom d’utilisateur ni de mot de passe.

session-hijacking

Cependant, si quelqu’un intercepte le cookie, cela peut conduire à une cyberattaque catastrophique appelée détournement de session, qui peut mettre vos données sensibles en danger entre les mains d’attaquants, et qui peut faire beaucoup de dégâts avant même que vous ne sachiez ce qui s’est passé.

Voyons de quoi il s’agit et comment vous pouvez l’éviter !

Qu’est-ce que le détournement de session ?

Lors d’un détournement de session, un pirate intercepte et prend le contrôle d’une session établie entre un utilisateur et un hôte, comme un serveur web, une session Telnet ou toute autre connexion basée sur le protocole TCP. Une session commence lorsque vous vous connectez à un site web ou à une application, par exemple un site de réseautage social.

What-is-Session-Hijacking-3

Elle se poursuit pendant que vous êtes dans le compte, que vous consultez votre profil ou que vous participez à un fil de discussion, et se termine lorsque vous vous déconnectez du système. Mais comment le serveur web peut-il savoir que chaque requête que vous faites vient bien de vous ?

C’est là que les cookies entrent en jeu. Après vous être connecté, vous soumettez vos informations d’identification au serveur web. Celui-ci confirme votre identité et vous attribue un identifiant de session à l’aide d’un cookie qui vous sera associé pendant toute la durée de la session. C’est pourquoi vous ne vous déconnectez pas d’une application chaque fois que vous visitez le profil d’une personne et pourquoi le magasin en ligne se souvient de ce que vous avez mis dans votre panier même si vous rafraîchissez la page.

Mais les attaquants peuvent détourner la session s’ils utilisent des techniques spéciales de gestion de session ou s’ils volent votre cookie. Ils peuvent ainsi tromper le serveur web en lui faisant croire que les requêtes proviennent de vous, l’utilisateur autorisé.

Le phénomène du détournement de session est devenu célèbre au début des années 2000, mais il reste l’une des méthodes les plus courantes utilisées par les pirates.

Un exemple récent est le groupe Lapsus$, qui a été inscrit cette année sur la liste des personnes les plus recherchées par le FBI.

Types de capture de session

Le détournement de session peut être divisé en deux catégories principales, en fonction des objectifs de l’auteur.

L’attaque active : Dans le cas d’une attaque active, le pirate s’empare de votre session, prenant ainsi la connexion du client légitime à la ressource. En fonction du site de la session, le pirate peut effectuer des achats en ligne, modifier des mots de passe ou récupérer des comptes. Un exemple courant d’attaque active est une attaque par force brute, un XSS ou même un DDoS.

image-67
Source : OSWAP OSWAP

Passive: dans une attaque passive, le pirate ne prend pas le contrôle de la session et ne la modifie pas. Au lieu de cela, il surveille discrètement le trafic de données entre votre appareil et le serveur, recueillant toutes les informations sensibles. En général, l’usurpation d’adresse IP et l’injection de logiciels malveillants sont utilisées pour mener des attaques par injection passive.

image-66
Source : OSWAP OSWAP

Comment fonctionne le détournement de session ?

Le protocole HTTP est un protocole sans état, ce qui signifie que le serveur ne se souvient pas des opérations du client. Chaque nouvelle requête HTTP coïncide avec une nouvelle unité de travail ou, pour le dire plus simplement, le serveur sert des pages au client sans se souvenir des requêtes précédentes de ce dernier.

Or, lorsque nous naviguons sur le web, nous nous rendons compte que les applications savent idéalement qui est le client (même trop bien !). Grâce à cette “mémoire” du serveur, ” il est possible de créer des espaces réservés modernes de sites web, des banques en ligne, des services de webmail, etc.

Pour ce faire, un appendice est né qui rend un protocole sans état comme HTTP avec état : les cookies.

Sessions avec état

Une fois la connexion établie, les applications web qui utilisent la session avec état déposent un cookie de session. Cela signifie qu’elles s’appuient sur ce cookie pour suivre le client. Le cookie contient un code unique qui permet de reconnaître le client, par exemple :

SESSIONID=ACF3D35F216AAEFC

Toute personne possédant l’identifiant ou le code de session unique susmentionné serait le client authentifié pour le serveur. Si un attaquant parvient à obtenir cet identifiant, comme le montre l’image ci-dessous, il peut exploiter la session initialement validée pour sa victime, soit en reniflant une session légitime, soit en prenant complètement le contrôle de la session. Cet identifiant est généralement intégré dans l’URL, dans le champ caché d’un formulaire ou dans les cookies.

session

Sessions sans état

Avec l’évolution du web, des solutions sont apparues pour gérer la “mémoire” du serveur sans utiliser de cookies de session. Dans une application web où le frontend et le backend sont bien séparés et ne communiquent que par l’intermédiaire d’une API, la meilleure solution peut être un JWT (JSON Web Token), un jeton signé qui permet au frontend de consommer les API fournies par le backend.

Habituellement, le JWT est enregistré dans le sessionStorage du navigateur, une zone de mémoire que le client garde active jusqu’à la fermeture de l’onglet. Par conséquent, l’ouverture d’un nouvel onglet crée une nouvelle session (contrairement à ce qui se passe avec les cookies).

Voler le jeton d’identification du client vous permet de voler la session de l’utilisateur et donc de réaliser une attaque par détournement de session. Mais comment voler ce jeton ?

Actuellement, les méthodes les plus utilisées par les pirates sont les suivantes :

#1. Session Side Jacking (détournement de session)

Cette méthode utilise des réseaux non sécurisés pour découvrir votre identifiant de session. Le pirate utilise un logiciel de reniflage (logiciel spécial) et cible généralement les réseaux Wi-Fi publics ou les sites web sans certificat SSL, qui sont connus pour leur faible niveau de sécurité.

#2. Fixation de session

La victime utilise l’identifiant de session créé par l’attaquant. Il peut le faire par le biais d’une attaque de phishing (via un lien malveillant) qui “corrige” votre identifiant de session.

#3. Force brute

C’est la méthode la plus longue et la plus inefficace. Au cours de cette attaque, le pirate ne vole pas vos cookies. Au lieu de cela, il essaie toutes les combinaisons possibles pour deviner votre identifiant de session.

#4. XSS ou Cross-site Scripting

Un pirate exploite les vulnérabilités des sites web ou des applications pour injecter du code malveillant. Lorsqu’un utilisateur visite le site, le script est activé, vole les cookies de l’utilisateur et les envoie à l’attaquant.

stateless-session-hijacking

#5. Injection de logiciels malveillants

Un logiciel malveillant peut effectuer des actions non autorisées sur votre appareil pour voler des informations personnelles. Il est également souvent utilisé pour intercepter les cookies et envoyer des informations à un pirate.

#6. Usurpation d’adresse IP

Un cybercriminel modifie l’adresse IP source de son paquet pour faire croire qu’il provient de vous. Grâce à la fausse adresse IP, le serveur web pense qu’il s’agit de vous et la session est détournée.

Exemples de détournement de session

#1. Firesheep

Une extension Firefox (Firesheep) créée par les chercheurs en sécurité Erik Butler et Ian Gallagher en 2010 a mis en évidence l’importance du HTTPS et les dangers des réseaux WiFi non cryptés.

Firesheep permettait aux personnes se trouvant sur le même réseau WiFi non crypté de renifler l’activité non HTTPS de l’autre. Ainsi, il était possible de copier le cookie de session et de prendre le contrôle du compte en ligne de quelqu’un d’autre.

Bien qu’il s’agisse d’une mesure de sensibilisation à la sécurité, elle a mis en évidence une faille qui attend d’être exploitée et qui pourrait avoir des conséquences désastreuses pour de nombreux utilisateurs.

Réagissant positivement, de nombreux sites web, dont Facebook, Twitter (aujourd’hui X), etc., ont fait de HTTPS leur protocole de connexion par défaut.

#2. Détournement de comptes YouTube

Tout au long de l’année 2021, les YouTubers ayant un grand nombre d’abonnés ont été la cible de cette campagne de vol de cookies.

Les créateurs recevaient des courriels d’hameçonnage qui les conduisaient vers de dangereuses répliques de sites web légitimes. Quelques utilisateurs sont tombés dans le panneau et ont fini par télécharger des logiciels malveillants sur leurs appareils, ce qui a permis aux auteurs de voler les cookies de session de leurs comptes YouTube.

En fin de compte, leurs comptes YouTube ont été pris en charge et utilisés à des fins illicites telles que des escroqueries à la crypto-monnaie. En outre, quelques comptes ont été vendus sur des marchés noirs en ligne pour des milliers de dollars, en fonction du nombre d’abonnés.

#3. FlyTrap

En 2021, FlyTrap est apparu comme un logiciel malveillant Android qui volait des sessions Facebook en incitant les utilisateurs à se connecter à des applications malveillantes à l’aide de leurs identifiants Facebook.

Les applications malveillantes disponibles sur le Google Play Store ont depuis été supprimées. Le malware déployait des tactiques d’ingénierie sociale, telles que l’offre de coupons, le vote pour leur équipe de football préférée, etc.

En fin de compte, les utilisateurs se connectaient légitimement via Facebook, mais dans un portail web conçu pour détourner les cookies de session et les informations personnelles. Tout était envoyé aux serveurs de FlyTrap, qui a fait environ 10 000 victimes dans plus de 140 pays.

Comment prévenir le détournement de session ?

Le risque de détournement de session est généralement lié à la sécurité des sites web ou des applications que vous utilisez. Cependant, il existe des mesures que vous pouvez prendre pour vous protéger :

  • Évitez les Wi-Fi publics, car les points d’accès gratuits sont idéaux pour les cybercriminels. Ils sont généralement peu sécurisés et peuvent être facilement usurpés par les pirates. Sans compter qu’ils sont toujours remplis de victimes potentielles dont le trafic de données est constamment compromis.
  • Tout site n’utilisant pas de certificat SSL vous rend vulnérable, car il ne peut pas crypter le trafic. Vérifiez si le site est sécurisé en recherchant un petit cadenas à côté de l’URL.
geekflare
  • Installez une application anti-malware pour détecter et protéger votre appareil contre les logiciels malveillants et les rats qui peuvent voler des informations personnelles.
  • Évitez de télécharger des logiciels malveillants en utilisant les magasins d’applications ou les sites web officiels pour télécharger des applications.
  • Si vous recevez un message vous demandant de cliquer sur un lien inconnu, ne le faites pas. Il peut s’agir d’une attaque de phishing qui peut infecter votre appareil et voler des informations personnelles.

L’utilisateur ne peut pas faire grand-chose contre une attaque de type Session Hijacking. En revanche, l’application peut remarquer qu’un autre appareil s’est connecté avec le même identifiant de session. Sur cette base, vous pouvez concevoir des stratégies d’atténuation telles que :

  • Associer à chaque session une empreinte technique ou des caractéristiques de l’appareil connecté afin de détecter les changements dans les paramètres enregistrés. Ces informations doivent être enregistrées dans le cookie (pour les sessions avec état) ou dans le JWT (pour les sessions sans état), absolument cryptées.
  • Si la session est basée sur un cookie, supprimez le cookie avec l’attribut HTTPOnly pour le rendre inaccessible en cas d’attaque XSS.
  • Configurez un système de détection d’intrusion (IDS), un système de prévention d’intrusion (IPS) ou une solution de surveillance du réseau.
  • Certains services effectuent des contrôles secondaires sur l’identité de l’utilisateur. Par exemple, un serveur web peut vérifier à chaque requête que l’adresse IP de l’utilisateur correspond à la dernière adresse utilisée au cours de la session. Cependant, cela n’empêche pas les attaques de la part d’une personne partageant la même adresse IP et pourrait être frustrant pour les utilisateurs dont l’adresse IP peut changer au cours d’une session de navigation.
  • D’autre part, certains services modifient la valeur du cookie à chaque requête. Cela réduit considérablement la fenêtre dans laquelle un attaquant peut opérer et facilite l’identification d’une attaque, mais peut entraîner d’autres problèmes techniques.
  • Utilisez différentes solutions d’authentification multifactorielle (MFA) pour chaque session d’utilisateur.
  • Maintenez tous les systèmes à jour avec les derniers correctifs et mises à jour de sécurité.

Dernières paroles

Le détournement de session est une méthode par laquelle un pirate peut communiquer avec un serveur en se faisant passer pour un véritable utilisateur, en utilisant le jeton de session ou le cookie.

La fréquence des attaques par détournement de session a augmenté récemment ; il est donc devenu de plus en plus important de comprendre ces attaques et de suivre des mesures préventives.

Cependant, tout comme la technologie se développe, les attaques deviennent également plus sophistiquées ; il est donc essentiel de créer des stratégies actives d’atténuation contre le détournement de session.