Comment casser des mots de passe d'utilisateurs Linux ?

ѠOOT

Comment casser des mots de passe d'utilisateurs Linux ?

par ѠOOT »

Rappel: Le titre n'est pas techniquement "propre", je m'en excuse, l'objectif est de vulgariser.

Dans l'article Comment démarrer sans mot de passe via GNU GRUB ? - angelique, modératrice du forum, a demandé s'il était possible d'effacer un hash afin d'ouvrir une session sans mot de passe. J'aurais tendance à dire.. pourquoi ne pas lire la documentation. Et enfin, pourquoi ne pas tenter de casser le mot de passe ?

☤ JtR - John the Ripper

John the Ripper ( JtR ) a fait frissonner plus d'un technos, à mon sens, l'image renvoyée : "Jack l'éventreur", tueur en série de la fin du XIXe siècle, correspond parfaitement à ce logiciel tueur en série de mots de passe. Logiciel libre, fonctionne sous différents systèmes d'exploitations. Options limitées sous Windows, l'exemple ci-dessous ne fonctionnera pas, je vous recommande d'évaluer cette procédure dans une VM sous Linux.

→ Téléchargez & exécutez john pour votre système d'exploitation.
Si vous n'avez pas besoins de la dernière version ou d'une version particulière, ce sera encore plus rapide:
Utilisez ( en root ) la commande apt-get install john ( ajoutez sudo devant apt-get si besoins )

Dans l'exemple, je vais créer un mot de passe faible sous Debian que je vais casser.
Premièrement, il faut comprendre où et comment sont stockés ces mots de passe.

★ Que contient /etc/passwd ?
→ le nom de l'utilisateur pour la connexion
→ l'entrée de spécification du mot de passe
→ l'identifiant numérique de l'utilisateur
→ l'identifiant numérique du groupe
→ le nom de l'utilisateur ou champ de commentaire
→ l'emplacement du répertoire personnel de l'utilisateur
→ l'interpréteur de commandes de l'utilisateur (optionnel)

★ Que contient /etc/shadow ?
→ le nom de l'utilisateur pour la connexion
→ le mot de passe chiffré
→ la date du dernier changement de mot de passe
→ le nombre de jours avant que l'utilisateur puisse changer son mot de passe
→ le nombre de jours avant que l'utilisateur soit tenu de changer son mot de passe
→ le nombre de jours avant qu'un mot de passe n'arrive à expiration
→ le nombre de jours durant lesquels un mot de passe devrait encore être accepté
→ la date d'expiration du compte

Dixit, la documentation officielle.

Admettons que l'utilisateur "fun" a perdu son mot de passe.

fun:$6$dragibus$hWOd5mJ29nOnRlkJafkhjIwCYXpGTcYQckbx4vXzTLkQPnFzmHgQx3Ip0EU1hyvtzkF7J2uK.cSsLQcHn2.4A.:69:0:99999:7:::

D'après les spécifications Unix crypt, le $6$ correspond à SHA-512.
Le "dragibus" correspond au salage (oui.. je sais, on s'amuse comme on peu..)

Je spécifie le format ( $6$ → SHA-512 ) et l'emplacement.
john --format=sha512crypt /chemin/monhash
( la barre d'espace permet d'afficher la progression )
Image

Vous pourrez désormais tester la robustesse de vos mots de passe. Il y a des tonnes d'options et différentes méthodes d'approches - à découvrir. Bien entendu, ça n'est pas toujours aussi simple et rapide, surtout pour nos petits ordinateurs. Il existe des techniques & technologies avancées ( GPGPU/CUDA ) + HPC. Dans un prochain article nous verrons comment renforcer la sécurité car tel est l'objectif de tous ces articles.

Liens connexes:
Oops 0x0011223344556677, thanks eCryptfs (wrapping)
  • Sujets similaires
    Réponses
    Vues
    Dernier message

Revenir à « Tech, Tips & Tricks »