Salut à tous, je suis nouveau sur le forum et je me demandais ou je devais réellement poster ce topic... Bref je l'ai posté ici !
Je tenais à vous présenter mon code HashCrack qui comme son nom l'indique crack des hashes je tiens a préciser qu'il utilise la méthode du Bruteforce. Le dictionnaire n'est pas compris dans le code. HashCrack va tester toutes les combinaisons possibles entre les mots ou les caractères de la wordlist. Je tenais à m'excusé de la propreté du code qui n'est pas top ainsi que son optimisation, ces deux soucis sont dus à mon niveau en Python qui n'est malheureusement pas encore très élevé !
Je tenais à vous présenter mon code HashCrack qui comme son nom l'indique crack des hashes je tiens a préciser qu'il utilise la méthode du Bruteforce. Le dictionnaire n'est pas compris dans le code. HashCrack va tester toutes les combinaisons possibles entre les mots ou les caractères de la wordlist. Je tenais à m'excusé de la propreté du code qui n'est pas top ainsi que son optimisation, ces deux soucis sont dus à mon niveau en Python qui n'est malheureusement pas encore très élevé !
Code:
import hashlib import os from subprocess import call import sys call('color 0a', shell=True) print(""" _ _ _ _____ _ | | | | | | / ____| | | | |__| | __ _ ___| |__ | | _ __ __ _ ___| | __ | __ |/ _` / __| '_ \| | | '__/ _` |/ __| |/ / | | | | (_| \__ \ | | | |____| | | (_| | (__| < |_| |_|\__,_|___/_| |_|\_____|_| \__,_|\___|_|\_\ """) print("By bigrother25879\n") def choice(zz): global ending if choix == '1': return(hashlib.md5(zz.encode()).hexdigest()) elif choix == '2': return(hashlib.sha224(zz.encode()).hexdigest()) elif choix == '3': return(hashlib.sha1(zz.encode()).hexdigest()) elif choix == '4': return(hashlib.sha256(zz.encode()).hexdigest()) elif choix == '5': sys.exit("OK !") else: print("Incorrect hash choice !") ending = 1 while(1): ending = 0 i,j,k,l,m,n,o,p,q,r,s,t=0,0,0,0,0,0,0,0,0,0,0,0 print("1: md5") print("2: sha224") print("3: sha1") print("4: sha256") print("5: Exit") choix =input(">>> ") choice(choix) mdp = input("Enter the hash that you want bruteforce >>>") a = "" plus = 0 file = input("Your dictionary file(.txt) >>>") try: fichier = open(file, "r") except: print("Incorrect file name !") os.system("pause") sys.exit("OK !") dico = fichier.readlines() dico.insert(0," \n") print(file+":\n",dico) taille_dico = len(dico) print("\nDictionary length is:",taille_dico) while plus != taille_dico**12 and ending != 1:# lllllll 6 if choice(a) == mdp: print("The password is:",a+"\n\n\n\n") os.system("pause") break if plus != 0: if (plus % taille_dico) == 0: j += 1 i = 0 if j % taille_dico ==0: j=0 k += 1 if k % taille_dico == 0: k=0 l += 1 if l % taille_dico == 0: l=0 m+=1 if m % taille_dico ==0: m = 0 n += 1 if n % taille_dico ==0: n=0 o += 1 if o % taille_dico ==0: o=0 p += 1 if p % taille_dico ==0: p=0 q += 1 if q % taille_dico ==0: q=0 r += 1 if r % taille_dico ==0: r=0 s += 1 if s % taille_dico ==0: s=0 t += 1 if t % taille_dico ==0: t=0 break a = dico[i].rstrip() + dico[j].rstrip() + dico[k].rstrip() + dico[l].rstrip() +dico[m].rstrip()+ dico[n].rstrip()+ dico[o].rstrip()+ dico[p].rstrip()+ dico[q].rstrip()+ dico[r].rstrip()+ dico[s].rstrip()+ dico[t].rstrip() plus += 1 i += 1 if plus % 50000 == 0: print(a+" /HASH/ "+choice(a)) fichier.close()
Commentaire