Ce post est réalisé pour les administrateurs système qui souhaiterait tester la solidité des mots de passe des utilisateurs avant que les pirates ne le fassent. John peut être configuré pour auditer les mots de passe par le biais d'une tâche cron.
wget http://www.openwall.com/john/g/john-1.7.6.tar.gz tar xvzf john-1.7.6.tar.gz cd john-1.7.6
cat README cat doc/INSTALL cd src make make clean linux-x86-64
Votre installation terminée, vous devez visualiser les éxecutables :
ll ../run
cd ../run ./john --test
./unshadow /etc/passwd /etc/shadow > mypasswd ./john mypasswd
Exemple:
jobs fg 1
aptitude install wfrench cat /etc/dictionaries-common/words
cat /etc/dictionaries-common/words | wc -l
139717
vi john.conf
# Wordlist file name, to be used in batch mode Wordlist = $JOHN/french.utf8.lst
http://r00tsecurity.org/forums/topic/1445-wordlist-thread-keep-adding/
wget http://contest.korelogic.com/wordlists/Feb-10-2011/final-fr-wikipedia.dic.gz
#MORE RULES FROM OPENWALL.COM
[List.Rules:KoreLogicRulesJust4Num]
$[0123456789]$[0123456789]$[0123456789]$[0123456789]
[List.Rules:KoreLogicRulesPrependNumNumSpecial]
ci[0][0123456789]i[1][0123456789]i[2][!@...
ci[0][0123456789]i[1][0123456789]i[2][%^&*()_+\-={}|\[\]\\;':",./\<\>?`~]
[List.Rules:KoreLogicRulesPrependSpecialSpecial]
# prepend !@#$ characters
i0[!@...
# Capitalize the first letter of the wordlist, THEN prepend !@#$
ci0[!@...
# prepend !@#$ and then ANOTHER set of !@#$ characters (total = 2)
i0[!@...i1[!@...
# Capitalize the first letter of the wordlist, THEN prepend !@#$ (total = 2)
ci0[!@...i1[!@...
[List.Rules:KoreLogicRulesPrependSpecialAppendNumbersNumber]
i0[!$@...&*?.+\-_=`~()|]$[!$@...&*?.+\-_=`~()|]$[0123456789]$[0123456789]
[List.Rules:KoreLogicRulesAppendNumbersNumbersSpecialSpecial]
$[0123456789]$[0123456789]$[$]$[$]
c$[0123456789]$[0123456789]$[$]$[$]
$[0123456789]$[0123456789]$[!]$[!]
c$[0123456789]$[0123456789]$[!]$[!]
$[0123456789]$[0123456789]$[@...@]
c$[0123456789]$[0123456789]$[@...@]
$[0123456789]$[0123456789]$[#]$[#]
c$[0123456789]$[0123456789]$[#]$[#]
$[0123456789]$[0123456789]$[%]$[%]
c$[0123456789]$[0123456789]$[%]$[%]
$[0123456789]$[0123456789]$[*]$[*]
c$[0123456789]$[0123456789]$[*]$[*]
$[0123456789]$[0123456789]$[?]$[?]
c$[0123456789]$[0123456789]$[?]$[?]
#!/bin/bash echo "Installation de JTR dans /opt/jtr/" cd /opt echo "Récupération de l'archive de JTR contrib version" wget http://download.openwall.net/pub/projects/john/contrib/linux/john-1.7.6-jumbo-12-Linux64x86.tar.gz echo "Extraction silencieuse" tar xvf john-1.7.6-jumbo-12-Linux64x86.tar.gz mv john-1.7.6-jumbo-12-Linux64 jtr cd jtr/run ./john --test echo "John the Ripper Ready for action!"
user:md5
./john --format=raw-MD5 drupal_md5.txt
user:md5_gen(1)MD5$SALT
./john --format=MD5-gen --subformat="md5_gen(1)" joomla_md5.txt
Tester à partir d'une base SAM locale extraite sur un Windows Server 2003.
Grâce à fgdump nous allons pouvoir récupérer une copie des “hash” des passwords utilisateurs de tout un domaine.
Ouvrez une ligne de commande et naviguez vers le répertoire ou vous avez extrait fgdump.exe
fgdump.exe -h $SERVEUR_AD -u $ADMIN_DOMAINE -p $PASSWD
Les variables sont à adapter en fonction de votre configuration. Le logiciel nécessite d'avoir un compte admin local ou admin de domaine.
Après quelques dizaines de secondes un fichier $SERVEUR_AD.pwdump est généré.
Il contient la liste des comptes utilisateurs de votre domaine ainsi que les mot de passe cryptés en MD5.
Récupérer le fichier et transférer le vers un linux où JTR sera installé !
Bref… la suite :
./john --format=LM /opt/base_SAM.txt
Le déchiffrage dépend de la complexité vous l'aurez compris…
Le problème des hashes LM est le fait qu'ils apparaissent tous en majuscules, hors la casse est prise en compte.
cp john.conf john.conf.NTLM
./john --show --format=LM /opt/base_SAM.txt | cut -d: -f2 | grep ^[^?] > lm_crack.txt
./john --config=john.conf.NTLM -rules --wordlist=lm_crack.txt --format=NT /opt/base_SAM.txt
John the Ripper affiche enfin les Passwords !
Attention, toutes ces manipulations sont réalisées en vue d'audit de sécurité par un admin qui sait ce qu'il fait !