Solution - Hash cracking for fun and profit.

Transcription

Solution - Hash cracking for fun and profit.
Solution - Hash cracking for fun and profit.
!
Félicitation à tous les participants! L’idée derrière le challenge de hash cracking était de vous
initier à cette facette de la sécurité. De plus, vous connaissez maintenant les outils nécessaires
et avez downloadé des wordlists de bases. Comme ça, nous allons pouvoir entreprendre des
hashes plus difficiles la prochaine fois!
!
Tout d’abord, j’espère que tout le monde à downloader des listes de base telles que:
Rockyou, Linked-In, eHarmony et drum-roll… Gawker ;)
!
Voici 2 bons liens pour des wordlists de leaks:
http://www.adeptus-mechanicus.com/codex/hashpass/hashpass.php
http://hashes.org/public.php
!
J’ai aussi utilisé des “patterns” très connus et mangler certaines listes. Vous devriez avoir
absolument toutes les listes de https://wiki.skullsecurity.org/Passwords et http://
packetstormsecurity.com/Crackers/wordlists/. Bien sûr, il y a plein de bonnes listes un peu
partout! Avec les liens ci-haut, vous êtes bien partis pour utiliser des rules et modifier vos
listes pour des challenges plus complexes.
!
En détail,
!
DES:
J’ai utilisé “chinese-names”, “finnish names” et drum-roll… Gawker!
!
Ces hashes requièrent John the Ripper (ou un autre software que
hashcat). Avec John, vous devez éditer un fichier john.conf pour vos rules.
De plus, il sauvegarde vos mots de passe crackés dans un fichier général
appelé john.pot (souvent localisé dans “~/.john/john.pot”).
!
Voici un exemple de commande pour cracker des DES avec les rules
“Simple”. Ceci va extraire les mots de passe dans johnexample.txt. La
performance est atroce, alors patience!
john --wordlist=Gawker-user-pass.txt --rules=Single -pot=johnexample.txt des.txt
!
LM:
Plusieurs mots de passe proviennent des leaks de LulzSec et aussi
Gawker ;)
!
Les hashes LM sont un des pires types de hash à avoir été utilisés en
masse (c’est bien sûr l’oevre des ingénieurs de Microsoft). Ces mots de
passe ont au maximum 14 caractères et ceux-ci sont tous convertis en
majuscules. De plus, le hash est calculé sur deux parties de 7 caractères,
Performance: John the Ripper!
N’utilise pas les cores virtuels ni
un multithreading optimal.
ce qui réduit énormément le temps de cracking puisqu’on peut bruteforcer les 2 parties
indépendamment.
!
À cause du format bizarre, j’accepte les mots de passe avec seulement une partie de 7
caractères!
!
MD5:
Puisque les MD5 sont très rapides à cracker, j’ai utilisé des passwords
beaucoup plus complexes provenant d’un leak que je ne partage pas. J’ai
saupoudré des Gawkers pour garder les choses intéressantes.
!
Ces hashes ce prêtent bien à des attaques de rules très élaborées,
comme passwordspro.rule ou d3ad0ne.rule, ou à des attaques de
bruteforce sur un keyspace limité.
!
Exemple de commande avec rules, elle vous permet de cracker 46 passes
en environs 3 minutes (sur mon CPU 8 cores):
hashcat -a 0 -m 0 -r passwordspro.rule md5.txt Gawker-userpass.txt
!
Pour le bruteforce, hashcat est extrêmement puissant dans ce domaine. Il
utilise des chaines de Markov par défaut, car il n’y a aucune raison de ne
pas le faire. De plus, l’attaque bruteforce est en fait un mask attack, ce qui
est beaucoup plus flexible. Comment ça marche? C’est plutôt simple.
!
Hashcat vient avec 4 sets de caractères par défaut: ?l = lowercase, ?u =
uppercase, ?d = digits et ?s = special characters.
!
Disons que vous voulez cracker des mots de passe du format aaaaa11 (6
caractères minuscules suivis de 2 chiffres). Ceci réduit énormément le
temps de calcul puisque vous vous concentrez sur des patterns humains
connus tout en réduisant le keyspace. La commande suivante vous
permettra de cracker 14 passes en 12 minutes (dont “curley01”):
Performance: Hashcat!
Une image vaut milles mots…
hashcat -a 3 -m 0 md5.txt ?l?l?l?l?l?l?d?d
!
Si vous voulez mélanger les caractères, comme par exemple tester des mots de passe de six
lettres minuscules et majuscules, vous devez créer un “custom charset”. Pour cela, vous utilisez
l’option -1, et ajouter les caractères désiré (dans ce cas, ?l?u). Ensuite, vous utilisez ?1 au lieu
des charsets fournis. Voici une commande qui crack 10 passwords en 7 minutes:
hashcat -a 3 -m 0 md5.txt -1 ?l?u ?1?1?1?1?1?1
!
NTLM:
Si vous lisez bien l’énonce, il y un indice (polymtl.). Tous les mots de passe commencent par
polymtl. Ensuite, j’ai créé plusieurs passwords à la main qu’un étudiant à Poly pourrait deviner
(polymtl.LuizaGheorge anybody!?). J’ai aussi utilisé des passes de Linked-In found.
!
Le but de ce challenge était de vous montrer les attaques combinator. Voici un exemple de
commande:
hashcat -a 1 -m 1000 ntlm.txt poly.txt LinkedIn-found.txt
!
La version CPU de hashcat permet d’appliquer des rules sur les mots générés, mais
oclHashcat permet 1 rule par dictionnaire en utilisant les options -j et -k. Par exemple, pour
ajouter un point (“.”) à la fin du premier mot et un point d’exclamation à la fin du 2ième mot:
oclHashcat -a 1 -m 1000 -j $. -k $! ntlm.txt poly.txt ../reponses/ntlmunhash.txt
!
Vous auriez pu tenter un bruteforce avec mask, une des attaques très puissante de hashcat, et
beaucoup plus rapide que l’attaque combinator. Cette commande vous permettra de cracker
“polymtl.FRB” ;)
hashcat -a 3 -m 1000 ntlm.txt -1 ?u polymtl.?1?1?1
!
Finalement, vous pouviez vous créer un rule personnalisé pour ajouter “polymtl.” au debut de
vos dictionnaires. Ceci est très rapide comparé à l’attaque combinator. Pour plus
d’informations sur le format des rules, visitez http://hashcat.net/wiki/doku.php?
id=rule_based_attack.
!
SHA1:
Un mélange de ma liste privée. Elle contient plusieurs passes faciles tels que penis xD
!
SHA512:
Si vous n’avez pas downloadé la liste Rockyou… vous avez fail!!! Autre le top100 de Rockyou,
j’ai utilisé des mots de megatron (très bonne liste!), yahoo et des noms + dates.
!
Avec oclHashcat, vous pouviez faire une attaque hybride si vous remarquiez le pattern de
nom + date. Voici un exemple de commande:
oclHashcat -a 6 -m 1700 sha512.txt facebook-firstnames.txt ?d?d?d?d
!
Happy hash cracking, Keep it legal!
Socapex