hashcat Il existe quatre façons de déchiffrer :
1. Dictionnaire Déchiffrer
2. Combiner la chaîne Déchiffrer
3. Brute force Déchiffrement (déprécié) – mask attack (mask Déchiffrement )
4. Déchiffrement hybride
Il y a aussi des méthodes de déchiffrement basées sur des règles , et des méthodes de commutation de majuscules et minuscules, mais elles peuvent être classées comme règles Déchiffrement
-A 0-M type hashfile dictionary1 dictionary2
Il semble que vous puissiez utiliser l'accélération gpu
Si le contenu du dictionnaire est comme suit
11
22
33
Alors la combinaison est:
1111
1122
1133
2222
2233
3333
{
-k, - -rule-right = rule unique règle appliquée à chaque mot sur le droit dictionnaire123 pour donner un exemple:
dictionnaire 1:
11 2212
Dictionnaire 2:
33 4412
Commandes:
-j ' $- ' -k '! $ ' 12
$ Le mot dans le dictionnaire d'agent ci-dessus, -j ' $- ' signifie ajouter un-, -k ' $ sur le côté droit du mot! ' signifie ajouter un à gauche du mot!
Donc la combinaison qui résulte est:
11-33! 22-33! 11-44! 22-44! 1234
L'explication officielle de cette chose est relativement simple, c'est-à-dire que Mask Attack est plus fort que brute-force en réduisant le nombre de tables de mots de passe. Quant à l'algorithme pour réduire le nombre de mots de passe, il n'y a pas trop d'introduction (basé sur le fichier hcmask), je mentionne simplement la réduction du nombre de mots de passe grâce à certaines formes de mot de passe conventionnelles, par exemple: "Kele1997", brute force énumérera toutes les possibilités lors du décryptage , etc. Mais lors de l'attaque mask, le programme essaiera de majusculer uniquement la première lettre, car la plupart des mots de passe ont rarement des majuscules à la deuxième ou troisième position. Ces règles sont utilisées pour réduire le nombre de candidats à mots de passe
Officiel Il est dit que mask attack n'a aucun inconvénient par rapport à brute-force, car mask attack peut générer tous les mots de passe brute-force
Ensemble de caractères intégré
? l = abcdefghijklmnopqrstuvwxyz
? u = ABCDEFGHIJKLMNOPQRSTUVWXYZ
? d = 0123456789
? h = 0123456789abcdef
? H = 0123456789ABCDEF
? s = «espace»! "#$%&'()*+,-./:; <=>? @[\]^_`{|}~
? A = ? Moi? Vous? d? s
? b = 0 - 0xff123456789
Il y a des ensembles de caractères dans le répertoire du programme contenant toutes sortes de caractères étranges. Si vous les ajoutez à votre mot de passe, vous pouvez utiliser ces fichiers
hashcat a quatre paramètres pour spécifier un ensemble de caractères personnalisé
– custom-charset1= CS
– custom-charset2= CS
– custom-charset3= CS
– custom-charset4= CS
Ces quatre paramètres peuvent être remplacés par les abréviations-1, -2, -3 et-4. Vous pouvez spécifier des ensembles de caractères personnalisés pour déchiffrer
La commande suivante définit le premier jeu de caractères personnalisé (-1) sur des caractères spécifiques à la langue russe:
-1 charsets/special/russian/ru_ISO-8859-5-special.hcchr
Nous n'avons pas besoin de spécifier la longueur fixe du mot de passe, nous pouvons spécifier le paramètre – incrément
-je, - -incrément | | activer masque incrément mode | { } | Num | Stop mask incrementing at X 123 -a 3 hash.txt mask_file.hcmask Chargez le fichier hcmask et utilisez le masque dans le fichier pour déchiffrer
hashcat est livré avec plusieurs fichiers hcmask et les placez sous le répertoire du programme mask/
- -hex-charset La chaîne suivante est de 16. Le mot de passe généré par
est une combinaison de caractères générés par le dictionnaire et la brute force déchiffrement
Par exemple: example.dict
mot de passe Bonjour 12
hashcat64-a 6 exemple.dict? d? d? d? d
? d? d? d? d représente un nombre entier de quatre bits
, donc la séquence finale de candidats de mot de passe générée est:
password0000 Mot de pas0001 Mot de pas0002 . . . Mot de passe 99991234567
hashcat64-a 6? d? d? d? d example.dict
Résultat:
0000password 0001mot de passe . . . 9999password123456
Utiliser maskprocessor pour utiliser des règles pour générer une force brute Déchiffrer Les règles requises, puis le fichier de règle généré peut être chargé à l'aide de Hashcat-R et mélangé dans un dictionnaire en un mot de passe candidat
Par exemple: example.dict
Bonjour Mot de passe 12
Hash-O bf.rule ' $? d $? d $? d $? d
La règle générée ressemble à ceci: bf.rule
$0 $0 $0 $0 $0 $0 $0 $1 $0 $0 $0 $2 $0 $0 $0 $3 $0 $0 $0 $4 . . . $9 $9 $9 $9123456789
Puis utilisez hashcat-a 6 exemple.dict-r bf.rule-m....
La dernière génération ressemble à ceci:
hello0 0 0 0 Mot de passe 0 0 0 0 Bonjour 0 0 0 1 Mot de passe 0 0 0 1 Bonjour 0 0 0 2 Mot de passe 0 0 0 2 . . . Bonjour 9 9 9 9 Mot de pas9 9 9 91234567891011