Vos mots de passe ne sont pas stockés en texte clair dans la base de données.
Lorsque vous définissez un mot de passe sur un site web, ce dernier n'est généralement pas stocké en texte clair dans la base de données. Des développeurs responsables utilisent une fonction de hachage, un traitement unidirectionnel, pour stocker le résultat de ce calcul, c'est-à-dire la valeur de hachage, et non le mot de passe lui-même. La logique derrière ce design est que même si la base de données est compromise, les attaquants obtiennent une chaîne de caractères inutilisable au lieu d'un mot de passe qui permettrait un accès immédiat. Cependant, ce mécanisme de protection dépend de la force du mot de passe. La raison d'être de John the Ripper est de tester cette hypothèse. Il tente de retrouver le mot de passe original à partir de la valeur de hachage ; si c'est réussi, cela signifie que le mot de passe peut également être compromis dans un véritable scénario d'attaque.
Les principales méthodes de craquage de mots de passe.
John the Ripper prend en charge plusieurs modes de craquage, chacun ciblant différents types de vulnérabilités des mots de passe. Attaque par dictionnaire C'est le point de départ le plus courant. L'outil utilise une liste contenant de nombreux mots de passe communs pour calculer de manière itérative la valeur de hachage de chaque mot et compare cela à la valeur cible. Des mots de passe tels que 'password', '123456', 'qwerty' sont presque sans défense contre cette approche et sont généralement trouvés en quelques secondes. Attaque par règles Cela ajoute des règles de transformation sur la base du dictionnaire, comme remplacer des lettres par des chiffres, ajouter des combinaisons numériques courantes à la fin, ou mettre en majuscule la première lettre. Ce sont des modifications prévisibles que les gens appliquent souvent lorsqu'on leur demande de définir un mot de passe fort. Les attaques par règles ciblent spécifiquement ces motifs de transformation prévisibles, rendant des mots de passe apparemment complexes comme 'Password123' ou 'P@ssw0rd' en réalité beaucoup plus faciles à trouver que prévu. Brute Force C'est la méthode la plus directe mais aussi la plus
Que fait cet outil dans le cadre de la sécurité ?
Dans le cadre de tests d'intrusion autorisés, John the Ripper est souvent utilisé après avoir obtenu l'accès au système et récupéré la valeur de hachage du mot de passe pour tester si ces valeurs peuvent être craquées dans un temps raisonnable. Cela permet d'évaluer si les politiques de mot de passe du système sont suffisamment robustes. Les équipes de sécurité en entreprise utilisent également des outils similaires pour auditer régulièrement leur base de données de mots de passe, cherchant proactivement à identifier les comptes utilisant des mots de passe faibles et forçant la mise à jour des mots de passe avant qu'ils ne soient découverts par de véritables attaquants. Ce scénario d'utilisation souligne un concept essentiel : la force d'un mot de passe n'est pas seulement un choix personnel ; elle fait partie intégrante de l'architecture de sécurité globale d'un système, et les tests de force des mots de passe constituent un problème d'ingénierie ayant une méthodologie concrète.
Certaines vérités contre-intuitives sur les mots de passe que l'outil nous révèle.
Après avoir appris la logique de fonctionnement de John the Ripper, quelques conclusions sur la sécurité des mots de passe sont contre-intuitives mais bien étayées. La longueur d'un mot de passe est plus importante que sa complexité. Une chaîne aléatoire composée de seize lettres minuscules est plus difficile à craquer par force brute qu'un mot de passe de huit caractères combinant majuscules, minuscules, chiffres et symboles, car le nombre de combinaisons croît de manière exponentielle. Mais pour une attaque par dictionnaire, la clé est la randomité : les combinaisons de mots significatifs, même longues, peuvent apparaître dans un fichier de dictionnaire. Politiques de changement de mots de passe régulières, si non accompagnées de gestionnaires de mots de passe, peuvent en réalité réduire la sécurité globale. Lorsque les utilisateurs sont contraints de changer régulièrement leur mot de passe, ils ajoutent souvent simplement un chiffre croissant à l'ancienne version, un modèle que les attaques par règles traitent très bien.
Questions fréquentes des apprenants en sécurité sur les outils de craquage de mots de passe et la sécurité des mots de passe.
Quelle est la différence entre une valeur de hachage et un chiffrement ? Pourquoi les mots de passe doivent-ils être hachés plutôt que chiffrés ?
Le chiffrement est un processus réversible. Les données chiffrées peuvent être décryptées avec la clé correspondante pour retrouver leur contenu d'origine. Le hachage est un processus unidirectionnel irréversible ; la même entrée produit toujours la même sortie, mais il n'existe aucune méthode pour retrouver l'entrée à partir de la sortie. Le stockage des mots de passe utilise le hachage plutôt que le chiffrement parce que le système n'a même pas besoin de connaître le mot de passe d'origine lors de la vérification. Il lui suffit de recalculer la valeur de hachage du mot de passe saisi par l'utilisateur et de la comparer à la valeur de hachage stockée dans la base de données ; si elles correspondent, cela signifie que le mot de passe est correct. Si le système utilise le chiffrement au lieu du hachage, la clé de déchiffrement devient un risque de sécurité supplémentaire ; une fois que la clé est volée, tous les mots de passe sont équivalents à du texte clair stocké. La conception du hachage élimine ce problème à la source, car il n'y a rien à déchiffrer.
Qu'est-ce que le salage ? Pourquoi le stockage moderne de mots de passe en a-t-il besoin ?
Le salage consiste à ajouter une chaîne de caractères aléatoire avant de hacher le mot de passe, de sorte que même deux mots de passe identiques produisent des valeurs de hachage complètement différentes dans la base de données. Ce mécanisme est conçu pour lutter contre les attaques par tables arc-en-ciel, qui sont des tableaux de valeurs de hachage pré-calculées, permettant aux attaquants de vérifier directement plutôt que de recalculer à chaque fois, accélérant ainsi considérablement le processus de craquage. Avec l'ajout d'un sel aléatoire, les tables d'arc-en-ciel deviennent sans objet, car chaque mot de passe a un sel différent, obligeant les attaquants à recalculer rien que pour chaque mot de passe, ce qui augmente considérablement les coûts de calcul. Les standards modernes de stockage de mots de passe, tels que bcrypt et Argon2, intègrent des mécanismes de salage et sont conçus pour être des calculs intensifs, rendant ainsi le craquage par force brute à grande échelle impraticable en raison des coûts en ressources.
Comment savoir si mon mot de passe est assez fort ?
Il existe plusieurs critères pratiques. Premièrement, la longueur est le facteur unique le plus important ; un mot de passe de plus de seize caractères nécessite un temps de calcul de craquage par force brute qui est irréaliste pour la grande majorité des scénarios d'attaque. Deuxièmement, la randomité est essentielle ; évitez d'utiliser des mots significatifs, noms, dates ou motifs prévisibles, seule une combinaison totalement aléatoire de caractères peut résister aux attaques par dictionnaire et par règles. Des services comme Have I Been Pwned vous permettent de vérifier si un mot de passe a déjà été exposé dans des violations de données connues ; tout mot de passe figurant sur cette liste, peu importe sa complexité apparente, doit être immédiatement désactivé. Utiliser un gestionnaire de mots de passe pour garantir que chaque compte utilise des mots de passe générés indépendamment et aléatoirement est actuellement la solution la plus pratique, car la véritable barrière à des mots de passe forts n'est pas de ne pas savoir ce qui constitue un mot de passe robuste, mais que les humains ne peuvent simplement pas se souvenir de dizaines de longues chaînes aléatoires.
Un point clé : John the Ripper dévoile non seulement la fonctionnalité d'un outil, mais aussi la logique complète de la façon dont les mots de passe sont stockés dans le système et comment leur force est testée. Comprendre cette logique est la première étape vers une véritable compréhension de la sécurité des mots de passe au-delà des règles de surface.