Casser les mots de passe

Objectif

  • Connaître les méthodes les plus simples pour casser un mot de passe.

Mise en situation

Savoir comment casser les mots de passe est un bon moyen de comprendre pourquoi certains mots de passe sont plus faibles que d'autres.

Savoir comment casser un mot de passe est donc un bon moyen de se protéger !

Nous présentons ici les attaques par force brute, qui consistent à essayer toutes les combinaisons possibles, et les attaques par dictionnaire qui consistent à vérifier si un mot de passe n'utilise pas des mots communs.

Attaque par dictionnaire

Cette attaque consiste à essayer chaque mot de passe contenu dans une liste. Il existe beaucoup de listes des mots de passe les plus communs comme de l'OWASP. L'efficacité de l'attaque repose sur le caractère commun du mot de passe et non pas sur sa simplicité.

Attaque par force brute

Cette attaque consiste à essayer toutes les combinaisons possibles de caractères jusqu'à trouver la bonne. Elle peut s'avérer très longue mais peut être optimisée si l'attaquant connaît la longueur du mot de passe ou l'absence de caractères spéciaux.

MéthodeJohn the Ripper

John the Ripper est l'outil le plus commun pour le craquage de mots de passe. Il permet à la fois des attaques par force brute et par dictionnaire. Il possède également un mode simple qui tente toutes les combinaisons dérivées du nom d'utilisateur. Par exemple, pour l'utilisateur « toto » : toto123, ToTo, T0to, etc.

Le logiciel est disponible sur Linux, Windows et OS X.

https://www.openwall.com/john

ComplémentOù et comment sont stockés les mots de passe?

Les mots de passe ne sont pas stockés tels quel, pour éviter qu'une compromission du système ne révèle tous les mots de passe.

L'astuce est d'utiliser une fonction à sens unique, ou fonction de hachage, qui a les propriétés suivantes :

  • Chaque entrée de la fonction donne une sortie différente.

  • Il est impossible de deviner l'entrée à partir de la sortie.

Les sorties de la fonction s'appellent des hashs, ou condensats : ce sont eux qui sont stockés.

Pour vérifier que l'utilisateur possède le bon mot de passe, il suffit de calculer son hash et le comparer au hash stocké. Comme la fonction est à sens unique, il est impossible de retrouver le mot de passe initial, mais possible de vérifier que l'utilisateur en est en possession.

À retenir

  • Il existe des méthodes très simples pour craquer un mot de passe.

  • John the Ripper est l'outil le plus classique pour réaliser ce type d'attaque.

Stéphane Crozat, Marc Damie Paternité - Partage des Conditions Initiales à l'Identique