Cassage de mot de passe - Ensiwiki

Transcription

Cassage de mot de passe - Ensiwiki
Master Ensimag
•
Cours 4MMCSR
•
Année 2016/2017, 1
er
semestre
Cassage de mot de passe
Cédric Lauradoux
Nous allons apprendre à écrire nous même des petits casseurs de mot de passe. Nous n'allons pas
travailler sur la partie qui génère les candidats mais sur partie suivante an de pouvoir décrypter
des chiers chirés avec openssl ou retrouver une passphrase GPG.
Pour la génération des candidats, nous allons nous reposer sur le mode wordlist de john et sur
le mangling. La liste de départ sera un ou des candidats possibles pour le mot de passe.
john −− w o r d l i s t=m y f i l e −− r u l e s −− stdout
Tous nos casseurs de mot de passe seront écrits en script bash. Un script bash commence toujours
de la même façon:
#! / u s r / b i n / e n v
bash
puis un a suite de commande a exécuté et a la n:
exit 0
Après avoir sauvegardé votre script, pensez à le rendre exécutable avec chmod +x. On peut faire
des achages avec la commande echo par exemple. On peut faire des boucles et des branchements.
for word in $ ( cat words . t x t ) ; do
echo "${word}"
done ;
La boucle précédente permet d'acher le contenu d'un chier ligne par ligne. Attention en bash
on doit prendre des précautions avec l'indentation.
Le branchement suivant permet de savoir si la commande qui précède a réussi ou échoué:
i f [ $? −eq 0 ] ; then
echo " t o t o "
fi ;
Question 1: Créer un chier qui contient tous les ciphernames possibles pour openssl.
Question 2: Créer un script qui va essayer de décrypter un chier openssl (sans sel) en essayant
tous les ciphernames et un mot de passe que vous avez choisi. Faites des tests avec un chier que
vous avez chiré vous-même. On va faire l'hypothèse que le chier chiré est un pdf (indication
pour savoir quand on a réussi).
Question 3: Même question que la question 2 mais maintenant on dispose d'une liste de mot
de passe.
Question 4: On imagine le cas d'une personne qui a oublié sa passphrase gpg mais qui en a un
vague souvenir.
gpg −− passphrase −fd 0 −q −−batch −−no−t t y −−no−use −agent \
−o / dev / n u l l −−local − u s e r \
MYKEYID − as − && echo "The c o r r e c t p a s s p h r a s e was e n t e r e d f o r t h i s key "
1
Essayez de comprendre la commande précédente. Comment l'utilisez pour écrire un script qui
permet de tester diérentes passphrases candidates ?
Remarque: vous allez obtenir un script pour openssl et gpg qui vous seront bien utiles au
prochain TP et à l'examen.