Attaques par tables arc-en-ciel : leur fonctionnement et comment se défendre
De nombreuses méthodes courantes d'attaque par mot de passe sont assez simples — un peu comme essayer différentes clés physiques pour ouvrir la serrure d'une porte. Par exemple, dans les attaques par force brute, les adversaires devinent systématiquement les mots de passe jusqu'à trouver le bon. Ou au lieu de simplement deviner, ils peuvent utiliser une liste de combinaisons nom d'utilisateur/mot de passe divulguées lors d'autres violations (credential stuffing) ou parcourir des noms d'utilisateur connus associés à des mots de passe fréquemment utilisés (password spraying).
Mais les pirates ont aussi des options plus sophistiquées : au lieu d'essayer chaque clé, ils peuvent crocheter la serrure. Avec les attaques par table arc-en-ciel, ils visent à exploiter les vulnérabilités de l'infrastructure de protection des mots de passe elle-même. C'est une manière plus avancée de s'introduire dans les comptes utilisateurs, et c'est souvent bien plus rapide.
Contenu connexe sélectionné :
Définition et but des attaques par tables arc-en-ciel
Lorsqu'un utilisateur crée un mot de passe, celui-ci est transformé en un hachage, qui est une chaîne de longueur fixe qui ne ressemble en rien au mot de passe original (en clair). Le hachage des mots de passe aide à les sécuriser car il n'existe pas d'algorithme inverse pour déterminer les mots de passe en clair à partir de leurs valeurs de hachage.
Une attaque par table arc-en-ciel en cybersécurité exploite une autre caractéristique fondamentale du hachage : Un algorithme de hachage produira toujours le même hash pour un mot de passe utilisateur donné. Par conséquent, les acteurs malveillants peuvent créer des listes de mots de passe fréquemment utilisés et calculer leurs hash pour créer des tables arc-en-ciel. Ensuite, s'ils parviennent à mettre la main sur une base de données d'entreprise de mots de passe hachés, ils peuvent simplement rechercher chacune des valeurs hachées dans leurs tables arc-en-ciel. S'ils trouvent une correspondance, ils connaissent instantanément le mot de passe en clair correspondant. Cette approche nécessite beaucoup moins de temps et de ressources informatiques que de craquer des mots de passe.
Comprendre le hachage et son rôle dans la sécurité
Qu'est-ce que le hachage ?
Le hachage est le processus de conversion de données d'entrée (telles qu'un mot de passe en texte clair) en une chaîne de caractères de taille fixe à travers un algorithme mathématique. Il est couramment utilisé pour protéger les mots de passe, les signatures numériques et d'autres informations sensibles.
Fonctionnement des fonctions de hachage
Une fonction de hachage transforme des données d'entrée, quelle que soit leur longueur, en une chaîne de sortie unique et de longueur fixe. Cette empreinte numérique semble être complètement sans rapport avec les données originales. Même de minimes modifications apportées à l'entrée entraîneront des variations importantes dans le hachage résultant. Cependant, la même entrée produit toujours le même hachage.
Pourquoi le hachage est vulnérable aux attaques par tables arc-en-ciel
Les algorithmes de hachage obsolètes sont particulièrement vulnérables aux attaques par tables arc-en-ciel car les hachages qu'ils créent sont faciles à prédire. Plus loin dans cet article, nous discutons des stratégies efficaces pour réduire les risques, y compris l'utilisation de techniques telles que le salage pour rendre les tables arc-en-ciel moins efficaces et l'adoption de l'authentification multifactorielle pour contrecarrer les attaquants qui parviennent à découvrir des mots de passe en clair.
Comment fonctionnent les attaques de mots de passe par Rainbow Table
Génération et structure des tables arc-en-ciel
Les tables arc-en-ciel sont de grandes bases de données qui contiennent des paires de mots de passe en clair et leurs valeurs de hachage correspondantes. Avoir une table arc-en-ciel précalculée rend la détermination des mots de passe en clair assez simple :
- Un attaquant obtient une base de données de hachages de mots de passe à partir d'un système compromis.
- L'attaquant exécute un programme qui tente de faire correspondre chaque valeur de hachage avec sa table arc-en-ciel.
- Si un hash donné n'est pas trouvé, le programme applique une fonction de réduction et cherche à nouveau. Ce processus est répété jusqu'à ce qu'une correspondance soit trouvée.
- Le mot de passe original est ensuite récupéré.
Différences entre les attaques par force brute et les attaques par dictionnaire
Dans une attaque par force brute, un adversaire tente de se connecter à un système en devinant simplement de nombreuses combinaisons possibles de noms d'utilisateur/mots de passe. Une attaque par dictionnaire est un type spécifique d'attaque par force brute qui utilise des mots du dictionnaire comme mots de passe candidats. Ces types d'attaques sont relativement faciles à réaliser et ne dépendent pas des techniques de hachage utilisées. Cependant, il est relativement facile pour les défenseurs de les repérer, et de nombreuses organisations suivent la meilleure pratique consistant à verrouiller les comptes après un certain nombre de tentatives de connexion échouées pour contrecarrer les attaques par force brute.
Une attaque par table arc-en-ciel, d'autre part, implique le vol d'une base de données de mots de passe hachés et la tentative de les faire correspondre à une table de hachages de mots de passe courants. Un avantage clé est qu'une fois la base de données de mots de passe volée, il n'y a aucune activité dans le réseau de la victime que les défenseurs puissent détecter. Cependant, les tables arc-en-ciel prennent du temps à générer et nécessitent un espace de stockage important.
Notez que toutes ces attaques fonctionnent mieux contre les mots de passe faibles et courants car ce sont ceux sur lesquels les attaquants se concentrent, qu'ils effectuent une attaque par force brute ou qu'ils génèrent une table arc-en-ciel.
Exemples d'attaques par tables arc-en-ciel
Les attaques par tables arc-en-ciel ne sont pas nouvelles. L'un des incidents les plus célèbres les impliquant a eu lieu en 2012 : des attaquants ont dérobé des hachages de mots de passe sur LinkedIn, entraînant la compromission de 6,5 millions de données d'identification d'utilisateurs qui ont ensuite été publiées sur un forum russe de mots de passe.
Les scénarios d'attaque hypothétiques incluent les suivants :
- Les pirates utilisent des outils d'écoute réseau pour intercepter les hachages de mots de passe non sécurisés transmis entre les serveurs hébergeant une plateforme de commerce électronique. En utilisant une table arc-en-ciel, ils décodent les mots de passe en clair et les utilisent pour accéder aux comptes des clients et voler leurs informations personnelles.
- Un attaquant exploite une application web mal sécurisée pour voler des hachages de mots de passe, qui ont été générés en utilisant des méthodes de hachage obsolètes. Ils utilisent une table arc-en-ciel pour déchiffrer tous les mots de passe et pénétrer dans le réseau d'entreprise.
Comparaison des attaques par Rainbow Table avec d'autres méthodes de craquage de mots de passe
Rainbow Table vs Attaque par dictionnaire
Attaque par table arc-en-ciel | Attaque par dictionnaire |
|
|---|---|---|
|
Utilise des mappages précalculés de hachage-mot de passe |
Utilise des listes de mots prédéfinies |
|
|
Utilisé principalement pour des attaques hors ligne sur des bases de données de mots de passe divulgués ou volés |
Peut être utilisé pour des attaques en ligne et hors ligne |
|
|
Limité par l'algorithme utilisé pour générer les hachages de mots de passe |
Hautement personnalisable ; les listes de mots peuvent inclure des mots de passe courants, des motifs ou des termes spécifiques à l'utilisateur |
|
|
Nécessite un stockage important |
Moins gourmand en stockage |
Table arc-en-ciel contre Attaque par force brute
Attaque par table arc-en-ciel | Attaque par force brute |
|---|---|
|
Tentatives de correspondance de chaque hash de mot de passe volé avec une liste précalculée pour déterminer le mot de passe en clair correspondant |
Tentatives de deviner un mot de passe en essayant systématiquement diverses combinaisons de caractères, de chiffres et de symboles |
|
Très efficace contre les hachages non salés de toute complexité |
Garanti de trouver le mot de passe à terme, mais cela peut prendre un temps peu pratique |
|
Échange du temps de calcul contre de l'espace de stockage |
Repose entièrement sur la puissance de calcul |
|
Facilement contourné en salant les mots de passe |
Caractéristiques uniques des attaques par tables arc-en-ciel
- La génération de tables arc-en-ciel nécessite d'importantes ressources informatiques et un investissement de temps considérable.
- Les tables arc-en-ciel sont spécifiques à un algorithme de hachage particulier (par exemple, MD5, SHA-1).
- Les attaques par table arc-en-ciel sont moins efficaces contre les techniques modernes de salage.
- Les tables arc-en-ciel ne conviennent pas pour les tentatives de craquage de mot de passe en temps réel.
Principales motivations et cibles courantes des attaques par tables arc-en-ciel
Pourquoi les attaquants utilisent des tables arc-en-ciel
La raison principale pour laquelle les attaquants continuent d'utiliser des tables arc-en-ciel est que de nombreuses organisations possèdent encore des systèmes hérités qui y sont très vulnérables. De plus, cette méthode d'attaque peut révéler des mots de passe en clair beaucoup plus rapidement que les méthodes de force brute.
Bien que la création de tables arc-en-ciel nécessite beaucoup de temps et d'effort, ces tables peuvent être utilisées pour plusieurs attaques sur différents systèmes, à condition que le même algorithme de hachage soit utilisé. Cela rend l'investissement initial assez rentable à long terme. De plus, une fois que les mots de passe en clair sont découverts, ils peuvent être utilisés dans des attaques de bourrage d'identifiants sur d'autres plateformes web populaires et services.
Systèmes et situations susceptibles aux attaques par tables arc-en-ciel
Les organisations sont particulièrement vulnérables aux attaques par tables arc-en-ciel si elles présentent l'un des éléments suivants :
- Applications héritées qui utilisent encore des algorithmes de hachage obsolètes et faibles tels que MD5 ou SHA-1 sans salage
- Les systèmes avec des politiques de password policies faibles qui autorisent des mots de passe par défaut, communs ou faciles à prédire, qui sont plus susceptibles d'être inclus dans des tables arc-en-ciel précalculées
- Plateformes où les utilisateurs réutilisent fréquemment des mots de passe, comme les emails et les réseaux sociaux
- Les bases de données qui n'utilisent pas de stockage de mot de passe segmenté et qui ont des mesures de protection faibles
- Active Directory comptes qui utilisent des algorithmes de hachage NTLM obsolètes
Risques et conséquences des attaques par tables arc-en-ciel
Une attaque par table arc-en-ciel peut avoir des conséquences catastrophiques. Une fois que les attaquants ont des mots de passe en clair, ils peuvent les utiliser pour obtenir un point d'ancrage dans le réseau et se déplacer latéralement pour extraire des données confidentielles, déployer des rançongiciels et perturber les opérations. L'impact complet peut inclure :
- L'indisponibilité des sites web et d'autres systèmes critiques qui entraîne des clients frustrés et une perte de revenus
- Des enquêtes de criminalistique coûteuses et la restauration des systèmes
- Des dommages durables à la réputation et à l'image de marque de l'organisation, ainsi qu'une érosion de la confiance des clients
- Coûts des campagnes de relations publiques ainsi que la surveillance du crédit et d'autres services pour les utilisateurs dont les données ont été compromises
- Dépenses pour les actions en justice intentées par les individus affectés par la violation
- Des pénalités sévères pour non-conformité avec les réglementations de protection des données telles que le GDPR, le CCPA ou le HIPAA
Prévention des attaques par tables arc-en-ciel
Le salage de mot de passe : son fonctionnement et son importance
L'une des mesures les plus efficaces pour se défendre contre les attaques par tables arc-en-ciel consiste à utiliser le salage de mot de passe. Cette pratique implique l'ajout d'une chaîne aléatoire et unique (appelée le sel) à chaque mot de passe avant de le hacher. Puisque chaque mot de passe reçoit un sel unique, même si deux utilisateurs choisissent le même mot de passe, ils auront des valeurs de hachage différentes — rendant les tables arc-en-ciel impossibles à construire.
Par exemple, supposons qu'un utilisateur choisisse password123 comme mot de passe. (Notez que ceci est seulement un exemple ; un bon outil de mot de passe bloquera l'utilisation de ce mot de passe.) Le système ajoute un sel de A1B2C3 et hache la chaîne résultante (password123A1B2C3).
Puis un autre utilisateur choisit le même mot de passe, password123. Le système ajoute un sel de Q7T4M9 et hache la chaîne résultante (password123Q7T4M9) — produisant ainsi un hachage complètement différent pour le même mot de passe en clair.
Utilisez des algorithmes de hachage sécurisés
Les algorithmes de hachage modernes introduisent une complexité computationnelle qui nécessite plus de ressources et de temps pour être forcés. Des algorithmes de hachage tels que bcrypt, Argon2 et scrypt rendent difficile pour les attaquants de précalculer des tables de hachages ou d'exécuter des attaques par force brute parallélisées.
Mettez régulièrement à jour les algorithmes de hachage et autres protocoles de sécurité
Les algorithmes de hachage et autres protocoles de sécurité sont constamment améliorés. Pour réduire les risques, passez aux dernières options dès que possible. Après avoir mis à niveau les algorithmes de hachage, n'oubliez pas de rehacher tous les mots de passe stockés lors de la prochaine connexion de l'utilisateur ou du changement de mot de passe.
Construire une défense large contre les attaques basées sur les mots de passe
Les meilleures pratiques suivantes aideront à se défendre non seulement contre les attaques par tables arc-en-ciel, mais aussi contre d'autres types d'attaques de mots de passe.
Mettez en œuvre des politiques de mots de passe robustes
Exiger des mots de passe forts augmente la difficulté de compromission des mots de passe sur tous les vecteurs d'attaque. Des mots de passe longs et uniques réduisent la probabilité de chevauchement des hachages même sans salage, et il est peu probable qu'ils soient inclus dans les listes utilisées lors d'attaques par force brute.
Suivez les meilleures pratiques actuelles en matière de mots de passe, telles que celles du NIST, concernant la longueur et la complexité des mots de passe. L'adoption d'un gestionnaire de mots de passe permettra aux utilisateurs de respecter facilement votre politique et de créer un mot de passe fort et unique pour chaque compte.
Utilisez l'authentification multifacteur (MFA)
L'authentification multifacteur (MFA) exige que les utilisateurs fournissent deux formes de vérification ou plus pour accéder à un compte. Souvent, il s'agit d'une combinaison traditionnelle de nom d'utilisateur/mot de passe plus un code à usage unique, une clé de sécurité ou des données biométriques telles qu'une empreinte digitale.
Avec le MFA en place, même si un attaquant parvient à découvrir le mot de passe en clair d'un utilisateur en utilisant une table arc-en-ciel ou en devinant, il sera bloqué car il est incapable de fournir le second facteur d'authentification.
Suivez les meilleures pratiques de sécurité des serveurs et du réseau
Plus généralement, il est important de réduire la surface d'attaque de vos systèmes exposés. Les meilleures pratiques clés comprennent :
- Limiter strictement l'accès aux serveurs et aux données sensibles
- Mettre en place un processus de gestion des correctifs rigoureux pour mettre à jour les systèmes et corriger les vulnérabilités
- Utiliser le chiffrement pour protéger les données au repos et en transit
- Utiliser la segmentation de réseau pour empêcher les attaquants ou les logiciels malveillants de se propager dans des zones plus sensibles
- Réaliser des audits de sécurité réguliers et des tests d'intrusion
Comment Netwrix peut aider
La visibilité et le contrôle sont cruciaux pour sécuriser votre environnement numérique, et Netwrix offre des capacités avancées dans les deux domaines. Les solutions Netwrix permettent aux organisations de réduire proactivement leur surface d'attaque, de surveiller en continu l'activité à travers l'infrastructure du cloud au centre de données, et de recevoir des alertes en temps réel sur les menaces potentielles pour permettre une investigation efficace et une réponse rapide.
En particulier, Netwrix solutions peuvent réduire considérablement votre risque d'attaques basées sur les mots de passe en :
- Sécuriser vos bases de données de mots de passe et surveiller l'activité autour d'elles
- Remplacement des informations d'identification hautement privilégiées par un accès juste-à-temps
- Permettre des politiques de mot de passe strictes et fournir un gestionnaire de mots de passe qui facilite la conformité des utilisateurs à ces politiques
- Surveillance des signes d'attaques par force brute et fermeture automatique de celles-ci
- Établir une base de comportement normal des utilisateurs et alerter sur les anomalies qui pourraient indiquer un compromis de compte
FAQ
Qu'est-ce qu'une attaque par table arc-en-ciel ?
Une attaque par table arc-en-ciel est une technique utilisée pour craquer des mots de passe hachés. Une fois que les attaquants ont obtenu des mots de passe hachés, ils tentent de faire correspondre ces hachages volés à des entrées dans une table arc-en-ciel, qui associe des mots de passe en clair courants à leurs valeurs de hachage. Cette méthode est plus rapide que les attaques par force brute mais n'est efficace que contre les systèmes qui utilisent des hachages non salés ou des algorithmes de hachage faibles.
Quelle est la différence entre une attaque par force brute et des attaques par tables arc-en-ciel ?
Lors d'une attaque par force brute, les pirates essaient systématiquement des combinaisons de nom d'utilisateur/mot de passe pour se connecter à un système en temps réel. Dans une attaque par table arc-en-ciel, les adversaires travaillent hors ligne, essayant de faire correspondre les hachages de mots de passe volés avec une table qui répertorie les valeurs de hachage précalculées des mots de passe en clair courants.
Comment vous protégez-vous contre les attaques par tables arc-en-ciel ?
Il existe un certain nombre de mesures efficaces que vous pouvez prendre pour vous protéger contre les attaques par tables arc-en-ciel :
- Utilisez le salage de mot de passe pour ajouter des données aléatoires uniques à chaque mot de passe avant le hachage.
- Mettez en œuvre des algorithmes de hachage robustes.
- Utilisez des politiques de mots de passe pour exiger des mots de passe forts.
- Envisagez l'authentification sans mot de passe pour éliminer totalement le risque d'attaques basées sur les mots de passe.
Quelle est la meilleure défense contre les attaques par tables arc-en-ciel ?
La meilleure façon de se défendre contre les attaques par tables arc-en-ciel est d'utiliser des hachages salés. Un sel est une valeur unique et aléatoire qui est ajoutée à un mot de passe avant le hachage, rendant les tables précalculées inefficaces.
Il est également important de passer à des algorithmes de hachage modernes qui sont intensifs sur le plan informatique, d'adopter des politiques de mots de passe robustes et de mettre en œuvre une authentification multifacteur (MFA).
Quel est un exemple de table arc-en-ciel ?
Une table arc-en-ciel associe des mots de passe en clair courants à leurs valeurs hachées correspondantes en utilisant un algorithme de hachage particulier. Par exemple, une table pourrait inclure les rangées suivantes :
Mot de passe en clair | Valeur hachée |
|---|---|
|
12345678 |
e10adc3949ba59abbe56e057f20f883e |
|
qwerty |
qwertyd8578edf8458ce06fbc5bb76a58c5ca4 |
Comment fonctionnent les attaques par tables arc-en-ciel ?
Les attaques par table arc-en-ciel reposent sur le fait qu'un algorithme de hachage de base produira toujours le même hachage pour une chaîne d'entrée donnée. Cela permet aux pirates de construire une table arc-en-ciel qui répertorie les mots de passe en clair courants et leurs hachages correspondants. Lorsqu'ils obtiennent des mots de passe hachés, ils les cherchent simplement dans la table arc-en-ciel. Si une correspondance est trouvée, le mot de passe en clair correspondant est révélé.
Notez que ce type d'attaque est efficace uniquement contre les hachages non salés ou les systèmes utilisant des algorithmes de hachage obsolètes.
Qu'est-ce qu'une attaque par dictionnaire par rapport à une attaque par table arc-en-ciel ?
Une attaque par table arc-en-ciel par rapport à une attaque par dictionnaire peut être expliquée comme suit : Dans une attaque par dictionnaire, un pirate tente systématiquement de s'authentifier en utilisant une liste de mots et d'expressions courants trouvés dans un dictionnaire. C'est relativement simple à mettre en œuvre et nécessite un stockage minimal.
Dans une attaque par table arc-en-ciel, les attaquants volent les hachages de mots de passe puis vérifient si ces hachages figurent dans leur table arc-en-ciel précalculée, qui répertorie les mots de passe en clair courants et leurs hachages correspondants. Cette approche nécessite un temps de préparation considérable mais permet une récupération rapide des mots de passe avec un traitement en temps réel minimal. Les tables arc-en-ciel sont principalement utilisées pour des attaques hors ligne sur des bases de données de mots de passe divulguées.
Partager sur
Voir les attaques de cybersécurité associées
Abus des autorisations d'application Entra ID – Fonctionnement et stratégies de défense
Modification de AdminSDHolder – Fonctionnement et stratégies de défense
Attaque AS-REP Roasting - Fonctionnement et stratégies de défense
Attaque Hafnium - Fonctionnement et stratégies de défense
Attaques DCSync expliquées : Menace pour la sécurité d'Active Directory
Attaque Pass the Hash
Comprendre les attaques Golden Ticket
Attaque des comptes de service gérés par groupe
Attaque DCShadow – Fonctionnement, exemples concrets et stratégies de défense
Injection de prompt ChatGPT : Comprendre les risques, exemples et prévention
Attaque d'extraction de mot de passe NTDS.dit
Attaque Kerberoasting – Fonctionnement et stratégies de défense
Explication de l'attaque Pass-the-Ticket : Risques, Exemples et Stratégies de Défense
Attaque par pulvérisation de mots de passe
Attaque d'extraction de mot de passe en clair
Vulnérabilité Zerologon expliquée : Risques, Exploits et Atténuation
Attaques de rançongiciels sur Active Directory
Déverrouillage d'Active Directory avec l'attaque Skeleton Key
Mouvement latéral : Qu'est-ce que c'est, comment ça fonctionne et préventions
Attaques de l'homme du milieu (MITM) : ce qu'elles sont et comment les prévenir
Attaque Silver Ticket
4 attaques de compte de service et comment s'en protéger
Pourquoi PowerShell est-il si populaire auprès des attaquants ?
Comment prévenir les attaques de logiciels malveillants d'affecter votre entreprise
Compromettre SQL Server avec PowerUpSQL
Qu'est-ce que les attaques de Mousejacking et comment se défendre contre elles
Vol de credentials avec un fournisseur de support de sécurité (SSP)
Qu'est-ce que le Credential Stuffing ?
Un regard approfondi sur les attaques par mot de passe et comment les arrêter
Reconnaissance LDAP
Contournement de l'authentification multifacteur avec l'attaque Pass-the-Cookie
Attaque Golden SAML