Qu'est-ce que le piratage de session ? Comment assurer la confidentialité de la session
Publié: 2021-07-13Beaucoup de choses peuvent se passer entre une connexion et une déconnexion.
Les attaquants recherchent des sessions où ils peuvent obtenir un accès non autorisé à vos comptes et exploiter vos données. Vous devez vous assurer d'authentifier vos informations de connexion dans un environnement sécurisé et de vous protéger contre les attaques de piratage de session.
Vous pouvez utiliser pare-feu d'applications Web pour détecter les anomalies dans le trafic entrant et bloquer le trafic potentiellement malveillant au fur et à mesure qu'il arrive. Mais pour réparer des défenses de sécurité robustes, il est crucial de comprendre en détail le piratage de session, ses types et les outils que les attaquants pourraient utiliser pour pénétrer les comptes d'utilisateurs.
Qu'est-ce que le piratage de session ?
Le piratage de session , également connu sous le nom de piratage de cookies, est un processus de prise de contrôle de la session d'un utilisateur en obtenant ou en générant un ID de session alors que la session est toujours en cours.
Un attaquant pourrait utiliser des scripts intersites (XSS), la force brute, l'ingénierie inverse ou diverses autres méthodes pour mettre la main sur les cookies de session et obtenir un accès non autorisé aux comptes d'utilisateurs.
Une session démarre lorsque vous vous connectez à un service tel qu'une application Web et se termine lorsque vous vous déconnectez. Le protocole de transfert hypertexte (HTTP) est un protocole sans état, ce qui signifie qu'il transporte chaque requête indépendamment sans faire référence à une requête précédente, ce qui oblige l'utilisateur à s'authentifier chaque fois qu'il consulte une page Web. Pour éviter d'inviter un utilisateur à se connecter à chaque fois, le serveur attribue un ID de session pour fournir une expérience Web transparente après l'authentification.
Les attaquants tentent de voler l'ID de session de la cible ou de la tromper en cliquant sur un lien malveillant qui les amène à une session préfabriquée pour une attaque de piratage de session. Une fois que l'utilisateur est authentifié sur le serveur, les pirates peuvent détourner la session et tromper le serveur pour qu'il considère que leur session est valide.
Lorsqu'un attaquant cible un cookie de session, il s'agit d'un piratage de session d'application Web, et non d'un piratage de session TCP (Transmission Control Protocol). TCP est un protocole de transport utilisé en plus d'IP pour assurer une transmission fiable des paquets. L'application Web renvoie un cookie de session après une authentification réussie qu'un attaquant exploite pour détourner une session. Cela n'a rien à voir avec la connexion TCP entre l'appareil de l'utilisateur et le serveur.
Méthodes de piratage de session
Les attaquants ont généralement le choix entre plusieurs méthodes lorsqu'ils effectuent un détournement de session. Ils peuvent les utiliser individuellement ou en combinaison pour prendre le contrôle de comptes d'utilisateurs et mener des activités malveillantes.
Script intersite
Dans une attaque de script intersite (XSS) , un pirate malveillant trompe l'ordinateur de la cible pour qu'il exécute un code qui se fait passer pour un code de confiance appartenant à un serveur. Il permet à un attaquant d'obtenir une copie du cookie pour effectuer ses actions malveillantes. Généralement, les pages Web sont intégrées avec JavaScript. Sans garanties adéquates et outils de sécurité des applications, il révèle les informations sensibles des utilisateurs si les scripts sont exécutés.
Si le serveur ne définit pas l'attribut HTTPOnly dans les cookies de session, les scripts peuvent les exposer aux attaquants.
Injection de logiciels malveillants
Quelques malware ou les chevaux de Troie sont programmés pour voler les cookies du navigateur et effectuer des actions malveillantes à l'insu de l'utilisateur. Par exemple, lorsqu'un utilisateur visite un site Web malveillant ou clique sur un lien non sollicité, le logiciel malveillant analyse le trafic réseau, collecte des cookies de session et les envoie aux acteurs malveillants. Les attaquants ayant accès au stockage local peuvent voler les clés de session du stockage local temporaire du navigateur (boîte à cookies), ou ils peuvent obtenir le contenu des fichiers ou de la mémoire du serveur ou de l'ordinateur de l'utilisateur.
Force brute
Les attaquants peuvent effectuer une attaque par force brute pour deviner la clé de session d'un utilisateur. Lorsqu'une application utilise une clé de session séquentielle ou prévisible, elle rend la session vulnérable à un piratage. C'était une méthode de choix dans le passé, mais avec les applications modernes, les identifiants de session sont longs et générés de manière aléatoire, offrant une résistance substantielle aux attaques par force brute.
Jacking côté session
Dans le jacking côté session , un attaquant exploite le reniflage de paquets pour lire le trafic réseau et voler le cookie de session. Généralement, les sites Web utilisent le cryptage SSL/TLS (Secure Sockets Layer/Transport Layer Security) dans leurs pages d'authentification. Pourtant, certains ne l'utilisent pas à l'échelle du site après l'authentification, ce qui permet aux attaquants d'intercepter les données échangées entre le serveur et les pages Web.
Une fois que les attaquants ont mis la main sur les cookies de session, ils peuvent détourner les sessions des utilisateurs pour mener des opérations malveillantes. Par exemple, un acteur malveillant ciblant un utilisateur connecté à un WiFi non sécurisé peut facilement lire les données ou le trafic partagé entre d'autres nœuds et points d'accès.
Fixation de session
Les attaquants peuvent parfois créer une session déguisée et inciter un utilisateur à s'authentifier auprès d'un serveur vulnérable. Par exemple, un auteur de menaces pourrait utiliser ingénierie sociale (hameçonnage) ou une méthode similaire pour persuader un utilisateur de cliquer sur un lien qui l'amène à une session spécialement conçue avec un cookie de session connu. Une fois l'utilisateur authentifié, l'attaquant peut utiliser la clé de session connue pour détourner la session de l'utilisateur.
Un attaquant peut également inciter les utilisateurs à remplir un formulaire de connexion préfabriqué qui comprend un identifiant de session caché et fixe.
Niveaux des attaques de piratage de session
Il existe deux niveaux d'attaques de piratage de session. Ces attaques peuvent être interdépendantes car une attaque réussie sur une couche réseau donnera à l'attaquant des informations pour exploiter un utilisateur réel au niveau de l'application.
Détournement de la couche transport
Le piratage de la couche de transport se produit dans les connexions TCP où un attaquant intercepte les échanges de données entre un serveur Web et un utilisateur, bloquant le canal de communication défini entre eux. Ensuite, les acteurs malveillants envoient des paquets de données malveillants déguisés en paquets légitimes à la fois au client et au serveur, prenant le contrôle de la session utilisateur.
Une méthode courante de piratage de la couche de transport est l'usurpation d' adresse IP , où un attaquant utilise une adresse IP falsifiée déguisée en adresse de confiance pour communiquer avec les ordinateurs du réseau. Ils utilisent des paquets IP routés par la source pour intercepter les communications actives entre deux nœuds. L'usurpation d'adresse IP profite indûment de l'authentification unique au début de la session TCP.
Détournement de la couche application
Dans le piratage de la couche application, un attaquant vole l'ID de session d'un utilisateur après qu'un utilisateur s'est authentifié auprès de son application. Les attaques de l'homme du milieu sont des exemples typiques de détournement de session de la couche application, où le pirate de l'air intercepte le canal de communication entre le client et le serveur.
Les attaques par proxy relèvent également du piratage de la couche application. Un attaquant dirige le trafic vers un serveur proxy avec un ID de session prédéfini pour intercepter la communication lors de ces attaques.
3 types de détournement de session
Le détournement de session consiste à deviner ou à intercepter des cookies de session dans une session existante ou à inciter un utilisateur à s'authentifier dans une session préfabriquée. Il existe trois types d'attaques de piratage de session.
1. Actif
Dans le piratage de session active , un attaquant prend le contrôle d'une connexion active dans un réseau. Ils peuvent désactiver tous les appareils et prendre en charge le canal de communication entre le client et le serveur. Ensuite, ils abandonnent l'affiliation entre le serveur et l'appareil de l'utilisateur.
Un attaquant peut interrompre la communication entre un client et un serveur de plusieurs manières. En règle générale, les intrus envoient un trafic massif pour attaquer une session valide et provoquer une attaque par déni de service (DoS) .
2. Passif
Le détournement de session passif est similaire à actif, sauf qu'un attaquant surveille la communication entre un client et un serveur. L'attaquant ne bloque pas l'utilisateur réel hors de la session mais supervise l'échange de communication en cours.
Le motif principal des attaques passives est de voler les informations échangées et de les utiliser à des fins malveillantes.

3. Hybride
Les attaques de détournement de session hybrides sont une combinaison d'attaques actives et passives. Dans une attaque hybride, les attaquants surveillent le trafic réseau jusqu'à ce qu'ils trouvent un problème, puis prennent le contrôle de la session et commencent à se faire passer pour des utilisateurs légitimes.
Les attaques hybrides dépendent de l'usurpation d'identité et sont en outre classées dans les types suivants :
- Une attaque par usurpation aveugle implique que des attaquants ciblent une victime sans interrompre une session. Ils capturent les paquets de données échangés entre un serveur et un utilisateur et tentent de casser les séquences de paquets TCP.
- Une attaque d'usurpation d'identité non aveugle comprend la surveillance du trafic entre un serveur et un utilisateur pour prédire un pacte ultérieur pour prévoir sa plage de séquences TCP. Un attaquant prend le contrôle de la session au niveau de l'application et crée une nouvelle session, à l'aide d'un jeton de session qui pourrait être volé ou prévisible.
Détournement de session vs usurpation de session vs relecture de session
La principale différence entre le détournement de session et l'usurpation de session est le moment de l'attaque.
Les attaques de détournement de session sont menées une fois que les utilisateurs se sont authentifiés dans l'application. L'attaque peut entraîner des retards ou un comportement inhabituel dans les applications. C'est parce qu'un attaquant exploite vos données alors que vous êtes toujours connecté. Si une application plante fréquemment, cela peut suggérer une attaque de piratage de session.
Dans l' usurpation de session , les victimes ne sont pas conscientes de l'attaque. Les attaquants peuvent utiliser des identifiants de session volés ou contrefaits et usurper l'identité d'utilisateurs authentiques sans compter sur un utilisateur pour effectuer l'authentification.
Une relecture de session est un peu différente.
Dans la relecture de session , les attaquants disposent déjà de cookies de session (collectés lors du piratage de session) et ils peuvent les utiliser comme ils le souhaitent. Ils peuvent inciter une victime à soumettre à nouveau une demande précédemment valide, comme l'achat de plusieurs quantités d'articles là où elle avait initialement demandé une unité.
Outils de piratage de session
Plusieurs outils peuvent aider un attaquant à mener une attaque de détournement de session. Vous pouvez les utiliser dans tests de pénétration et vérifiez si vos systèmes et applications sont à l'épreuve des attaques.
Voici quelques-uns des outils de piratage de session populaires utilisés pour mener une attaque.
* Ces outils ne doivent être utilisés qu'à des fins éthiques pour tester et renforcer les systèmes contre le détournement de session.
Hamster et furet
Hamster agit comme un serveur proxy qui manipule les données collectées par Ferret, qui capture les cookies de session qui passent sur le réseau.
Voici un exemple d'utilisation de Hamster proposé par Outils Kali :
root@kali:~# hamster
--- Outil de levage latéral HAMPSTER 2.0 ---
Configurer le navigateur pour utiliser le proxy http://127.0.0.1:1234
DÉBOGAGE : set_ports_option(1234)
DÉBOGAGE : mg_open_listening_port(1234)
Proxy : écoute sur 127.0.0.1:1234
fil de départ
T-Sight
T-Sight a été initialement développé comme un outil de surveillance de réseau pour fonctionner sur la plate-forme Windows. Cependant, lors de la surveillance d'un réseau, il est possible de détourner une session car toutes les communications sur le réseau sont copiées en temps réel, fournissant une sortie de transmission de données précise. Pour cette raison, Engrade, le développeur de T-Sight, fournit désormais des licences logicielles uniquement pour des adresses IP prédéterminées.
mastodonte
Juggernaut est un outil de reniflage de réseau qui peut être utilisé de manière malveillante pour mener une attaque de piratage de session. Il est possible de configurer Juggernaut pour surveiller tout le trafic réseau dans un réseau local (LAN) ou écouter un jeton de session particulier. Il peut être configuré pour enregistrer le trafic réseau après qu'une victime ait tenté de se connecter.
Juggernaut est différent des renifleurs de réseau habituels qui enregistrent tout le trafic réseau dans d'énormes fichiers journaux. Juggernaut maintient une base de données de connexion qui permet à un attaquant de surveiller toutes les connexions basées sur TCP et même de détourner une session. L'outil de piratage de session fournit également une fonction intégrée d'assemblage de paquets. Les attaquants utilisent cette fonctionnalité pour fragmenter les paquets afin d'échapper aux systèmes de détection d'intrusion et aux pare-feu.
Voici un exemple d'utilisation de Juggernaut lorsque vous l'exécutez via la ligne de commande Linux :
Juggernaut ?) Aide 0) Informations sur le programme 1) Base de données de connexion 2) Espionner une connexion 3) Réinitialiser une connexion 4) Démon de réinitialisation de connexion automatique 5) Détournement de connexion simplex 6) Détournement de connexion interactif 7) Module d'assemblage de paquets 8) Numéro d'option Souper sekret huit 9) Descendre
- La base de données de connexion vous montre une connexion active.
- Espionner une connexion vous permet de surveiller le trafic réseau sur les canaux de communication ouverts et offre une option pour stocker les journaux.
- Réinitialiser une connexion ferme une session en envoyant un paquet RST à la source.
- Le démon de réinitialisation de connexion automatique vous permet de configurer un hôte basé sur l'adresse IP et le paquet RST vers la source chaque fois que l'hôte tente d'établir une session.
- Le détournement de connexion simplex vous permet d'entrer une seule commande sur la cible. Les attaquants l'utilisent pour empêcher la détection.
- Le détournement de connexion interactif vous permet d'effectuer un détournement de session complet et de créer une grande tempête ACK.
- Le module d'assemblage de paquets vous permet de créer votre propre paquet.
- L'option Souper sekret numéro huit n'a aucune fonctionnalité.
- Descendre vous permet de quitter le programme.
Ce sont quelques-uns des outils que les attaquants utilisent pour mener des attaques de détournement de session.
Vous devez renforcer vos réseaux et systèmes contre des outils similaires comme Hunt, TTY-Watcher, IP-Watcher, 1164, Wireshark, SSHMITM, Hjksuite, C2MYAZZ, que les attaquants utilisent pour exploiter les sessions utilisateur.
Comment empêcher le piratage de session
Le détournement de session peut avoir des conséquences désastreuses pour les organisations, notamment des pertes financières et des pertes de réputation subies après des années passées à bâtir une bonne réputation et à fournir un service fidèle dans l'industrie.
Les entreprises doivent définir des mesures de sécurité stratégiques pour éviter de devenir la cible d'attaques de détournement de session. Ces mesures comprennent :
- Cryptage de toutes les transmissions de données sur une page Web
- Mise en œuvre de la certification HTTPS (Hypertext Transfer Protocol Secure) sur les pages Web
- Mettre à jour et corriger régulièrement les navigateurs
- Adopter des outils de cybersécurité comme un logiciel de protection DDoS et technologie de tromperie
- Se connecter et se déconnecter soigneusement de chaque session
- Incorporer des frameworks Web au lieu de créer un système de gestion de session interne
- Régénérez la clé de session après l'authentification pour empêcher les pirates d'exploiter l'ID de session généré lors de la connexion
- Renforcez la vérification de l'identité en incluant des vérifications supplémentaires telles que la vérification de l'adresse IP habituelle d'un utilisateur ou des tendances d'utilisation des applications
- Utilisez uniquement des réseaux sans fil sécurisés et évitez d'utiliser un réseau Wi-Fi public
- Masquez votre adresse IP à l'aide d'un logiciel de réseau privé virtuel (VPN) et protégez vos sessions
Avoir HTTPS à l'échelle du site est sans doute le mécanisme préventif le plus important. Si vous vous inquiétez des problèmes de performances, vous pouvez implémenter SSL sur les pages de connexion du site Web et dans d'autres zones sensibles. Une autre mesure préventive importante consisterait à crypter la valeur de session stockée dans un cookie de session.
Protégez vos séances
Le détournement de session peut être gênant. Soyez proactif et définissez un mécanisme de défense approprié pour vous protéger contre les attaques de piratage de session et pour protéger votre compte et vos données.
Les pirates développant constamment de nouvelles méthodes pour casser les périmètres de défense d'une organisation, il peut devenir encore plus difficile d'assurer une sécurité à 100 %.
En savoir plus sur la réponse aux incidents et sur la façon dont vous pouvez gérer un cyberincident lorsqu'un attaquant accède à votre compte ou à vos données.