Nous avons vu dans notre précédent article Comment installer Hashcat. Nous avons également vu l'utilisation de Hashcat avec des exemples pré-groupés. Maintenant, déchiffrons les mots de passe sur vos machines Linux, un exemple concret !
Créer un utilisateur sur Linux
Tout d'abord sur une fenêtre de terminal, créez un utilisateur et définissez un mot de passe comme indiqué ci-dessous. Vous pouvez également suivre manuellement Comment créer un compte utilisateur Linux. Vous pouvez définir le mot de passe comme :qwerty pour cet exemple.
[root@cloud2 ~]# useradd ramya[root@cloud2 ~]# passwd ramya Modification du mot de passe de l'utilisateur ramya. Nouveau mot de passe :retapez le nouveau mot de passe :passwd :tous les jetons d'authentification ont été mis à jour avec succès.
Affichage du hachage du mot de passe
Dans la fenêtre du terminal, exécutez la commande ci-dessous pour afficher le hachage généré pour le mot de passe "qwerty" pour l'utilisateur ramya .
[root@cloud2 ~]# tail -n 1 /etc/shadowramya:$6$6SA.1X/l$JkVyIvJu.JAN6g8gIHyh9FWj3rAQ...yAf5hLFltzi1624A4rtcuxluzg75hh2bSGqv2bPZHaQYGHvD/ziOUD0:16790:0:99999:7:::
Trouver votre valeur en sel
En regardant la valeur de hachage ci-dessus, après le nom d'utilisateur "ramya “, La valeur $6$ indique le hachage du mot de passe de type 6 (SHA512). Les caractères après $6$, jusqu'au $ suivant indiquent le sel.
Dans ce qui précède, le SALT est :6SA.1X/l
Suivez cet article pour en savoir plus sur Qu'est-ce que le hachage de mot de passe, comment les hachages sont craqués, SALTS et ses cas d'utilisation, etc.,
Comment trouver l'algorithme de hachage utilisé sous Linux
L'algorithme de hachage est défini dans le fichier :/etc/login.defs. Recherchez le mot "ENCRYPT_METHOD" pour trouver l'algorithme de hachage défini :
[root@cloud2 ~]# grep -rn ENCRYPT_METHOD /etc/login.defs 65:ENCRYPT_METHOD SHA512
Comme vous le voyez, ma machine Linux utilise le type de hachage SHA-512.
Extraction du hachage du fichier /etc/shadow et créer un fichier de hachage
[root@cloud2 ~]# tail /etc/shadow | grep "ramya" | awk -F':' '{print $2}'>> password.hash
Insérez un ou plusieurs hachages sur une ligne distincte pour déchiffrer plusieurs hachages à la fois dans le fichier password.hash.
Liste des mots de passe courants disponibles en ligne
Eh bien, nous utiliserons une liste de mots de passe communs pour casser nos hachages. Les mots de passe communs peuvent être téléchargés à partir des liens ci-dessous :
De l'outil John l'Éventreur :John.txt.bz2
De Cain &Abel :Cain.txt.bz2
500 mots de passe communs :500-worst-passwords.txt.bz2
370 mots de passe Twitter interdits :twitter-banned.txt.bz2
Vous pouvez également obtenir quelques mots de passe supplémentaires qui ont été divulgués ou volés sur des sites Web célèbres tels que phpbb, myspace, hotmail, etc., à partir d'ici.
Tout d'abord, essayons avec seulement 500 mots de passe courants.
Télécharger les 500 mots de passe communs
[root@cloud2 ~]# wget http://downloads.skullsecurity.org/passwords/500-worst-passwords.txt.bz2
[root@cloud2 ~]# bunzip 500-worst-passwords.txt.bz2
Cracker le hachage avec Hashcat
L'utilisation de base de hashcat est la suivante :
[root@cloud2 ~]# hashcat [options] hashfile [mask|wordfiles|directories]
Choix :
-m, --hash-type=NUM -a, --atack-mode=NUM -o, --ouput-file=NUM --remove Activer la suppression du hachage une fois qu'il est fissuré.
Nous avons vu plus haut que notre hash est de type 6. Nous allons donc utiliser :–hash-type=1800 . Si votre /etc/login.defs utilise MD5, le type de hachage serait –hash-type=500 et de même pour les autres types de hachage. Quelques-uns d'entre eux sont présentés ci-dessous :
100 =SHA1 500 =md5crypt, MD5(Unix) 1400 =SHA256 1700 =SHA512 1800 =SHA-512(Unix)
Comme nous essayons le cracking basé sur un dictionnaire, nous utiliserons le mode d'attaque comme –atack-mode=0 .Les autres modes d'attaque sont :
0 =Droit 1 =Combinaison 2 =Bascule-Case 3 =Force brute 4 =Permutation 5 =Table-Lookup 8 =Prince
Vous pouvez obtenir la liste des types de hachage et des modes d'attaque à l'aide de hashcat.
Sortons les hachages trouvés dans un nouveau fichier appelé found.txt et supprimons le hachage correspondant du fichier password.hash. Donc finalement la commande serait :
[root@cloud2 ~]# hashcat -m 1800 -a 0 password.hash 500-worst-passwords.txt Initialisation de hashcat v2.00 avec 2 threads et une taille de segment de 32 Mo...
Ajout de hachages à partir du fichier password.hash :1 (1 sels) Activation du mode de synthèse rapide pour un seul hachage avec sel
$6$EeKhjLd3$ogjAhHz5KFkcTUH6h5LP7j3HFhd83DL8KFXKbWQiisahKmexoA71yuJuM1MmbA.ZGU/qySl0xoo2FNqG6NNlv.:qwerty
Tous les hachages ont été récupérés
Input.Mode :Dict (500-worst-passwords.txt) Index..... :1/1 (segment), 500 (mots), 3493 (octets) Récupéré :1/1 hachages, 1/ 1 sels Vitesse/sec. :- simples, 131 mots Progression :132/500 (26,40 %) Course... :00:00:00:01 Estimation. :00:00:00:02
Démarré :lundi 21 décembre 12:14:20 2015 Arrêté :lundi 21 décembre 12:14:21 2015
[root@cloud2 ~]# cat found.txt$6$EeKhjLd3$ogjAhHz5KFkcTUH6h5LP7j3HFhd83DL8KFXKbWQiisahKmexoA71yuJuM1MmbA.ZGU/qySl0xoo2FNqG6NNlv.:qwerty
À partir du calcul ci-dessus, nous avons pu déchiffrer le hachage et vous verriez le hachage, avec le mot de passe déchiffré "qwerty" à la fin, comme indiqué ci-dessus :
Permet de créer de nombreux comptes avec des mots de passe peu complexes. Maintenant, déchiffrons ces hachages avec une gamme plus large de mots de passe de dictionnaire obtenus à partir des multiples listes :
[root@cloud2 ~]# wget http://downloads.skullsecurity.org/passwords/john.txt.bz2[root@cloud2 ~]# wget http://downloads.skullsecurity.org/passwords/cain. txt.bz2[root@cloud2 ~]# wget http://downloads.skullsecurity.org/passwords/twitter-banned.txt.bz2[root@cloud2 ~]# wget http://downloads.skullsecurity.org/passwords/ 500-worst-passwords.txt.bz2[root@cloud2 ~]# bunzip2 john.txt.bz2 500-worst-passwords.txt.bz2 twitter-banned.txt.bz2 cain.txt.bz2[root@cloud2 ~]# chat john.txt 500-worst-passwords.txt twitter-banned.txt cain.txt>> dictionnaire-passwords.txt
Nous avons maintenant une énorme liste de mots de passe que les gens utilisent normalement dans le fichier :dictionary-passwords.txt
Testons maintenant nos nouveaux hachages par rapport à ces nombreux mots de passe.
[root@cloud2 ~]#hashcat -m 1800 -a 0 -o found.txt --remove password.hash dictionary-passwords.txtInitialisation de hashcat v2.00 avec 2 threads et une taille de segment de 32 Mo...Ajout de hachages à partir du fichier password.hash :2 (2 sels)[s]tatus [p]ause [r]esume [b]ypass [q]uit => rInput.Mode :Dict (/tmp/dictionary-passwords.txt)Index. .... :1/1 (segment), 310683 (mots), 3177794 (octets)Récupéré. :0/2 hachages, 0/2 selsVitesse/sec. :251 plaines, 125 motsProgression.. :310683 /310683 (100,00 %)En cours d'exécution... :00:00:41:13Estimation. :--:--:--:--Démarré :Mar 22 décembre 06:48:06 2015Arrêté :Mardi 22 décembre 07:29:19 2015Heureusement, les nouveaux hachages n'ont pas pu être déchiffrés ! Ce qui signifie que vous devez augmenter encore plus votre base de mots de passe…
BON CRACKING !