bolus Posted April 1, 2016 Posted April 1, 2016 Hi all. I've got a WPA2 handshake to crack, I know the format is 8 upper case A-Z and 0-9. I was thinking of using an AWS GPU instance to pipe Crunch output into Pyrit GPU, as I don't have masses of storage space to save the output. Does this sound like a feasible option, or can you think of a better way? Cheers Quote
cooper Posted April 1, 2016 Posted April 1, 2016 Why save the output? Crunch spits out the generated sequence to try, the result is yes or no and you know there's only going to be 1 yes which just happens to be the only one you're interested in. So your need isn't storage space, it's processing power. Correct? Quote
bolus Posted April 1, 2016 Author Posted April 1, 2016 Why save the output? Crunch spits out the generated sequence to try, the result is yes or no and you know there's only going to be 1 yes which just happens to be the only one you're interested in. So your need isn't storage space, it's processing power. Correct? Sorry, I worded my question rather vaguely. I have not a lot at home in terms of processing power, so am thinking that AWS GPU solution might be the way to go. thanks for your quick response Quote
ale Posted April 1, 2016 Posted April 1, 2016 (edited) Just curious, what kind of GPU/GPU's are you using? Edited April 1, 2016 by ale Quote
bolus Posted April 1, 2016 Author Posted April 1, 2016 (edited) Just curious, what kind of GPU/GPU's are you using? Probably one of these: https://aws.amazon.com/ec2/instance-types/(Scroll down for GPU G2). TBH I've only just started looking into this, and I was fortunate enough to receive a $50 AWS voucher, so thought I'd have a play around with GPU pyrit. Model GPUs vCPU Mem (GiB) SSD Storage (GB) g2.2xlarge 1 8 15 1 x 60 g2.8xlarge 4 32 60 2 x 120 Edited April 1, 2016 by bolus Quote
fugu Posted April 2, 2016 Posted April 2, 2016 I wrote this a while ago. It works very similar to crunch, but also allows you to break up the whole task into individual parts easily. So you can run it on multiple machines/devices/whatever and the same time. Just needs python. #!/usr/bin/python import getopt, sys charset=['A', 'B'];minpasswordlength=2;maxpasswordlength=4;cores=-1;startindex=-1;endindex=-1;master=False options, remainder = getopt.getopt(sys.argv[1:], '', ['master', 'charset=', 'minp=', 'maxp=', 'cores=', 'startindex=', 'endindex=']) for opt, arg in options: if opt == '--charset': charset = list(arg) elif opt == '--minp': minpasswordlength = int(arg) elif opt == '--maxp': maxpasswordlength = int(arg) elif opt == '--cores': cores = int(arg) elif opt == '--startindex': startindex = int(arg) elif opt == '--endindex': endindex = int(arg) elif opt == '--master': master = True def find_max_index(charset, minpasswordlength, maxpasswordlength): maxindex = 0 charsetlen = len(charset) for l in range(minpasswordlength, maxpasswordlength+1): maxindex += pow(charsetlen, l) return maxindex def index2password(index, charset, minpasswordlength, maxpasswordlength): subsum = 0 charsetlen = len(charset) for l in range(minpasswordlength, maxpasswordlength+1): passwordlength = l subsum += pow(charsetlen, l) if index < subsum: break subindex = (index-subsum) % pow(charsetlen, l) maxvarsize = pow(len(charset), passwordlength) ary = [] for i in range(0,passwordlength): ary.append(charset[(subindex / pow(charsetlen,i)) % charsetlen]) return ''.join(list(reversed(ary))) if master and cores > 0: m=find_max_index(charset, minpasswordlength, maxpasswordlength) for i in range(0,cores): print "python "+sys.argv[0]+" --charset=\""+"".join(charset)+"\" --minp="+str(minpasswordlength)+" --maxp="+str(maxpasswordlength)+" --startindex="+str(int(i*(float(m)/float(cores))))+" --endindex="+str(int((i+1)*(float(m)/float(cores)))-1) elif startindex != -1 and endindex != -1: for index in range(startindex, endindex+1): print index2password(index, charset, minpasswordlength, maxpasswordlength) else: print "Usage: python "+sys.argv[0]+" --master --charset=\"ABC\" --minp=2 --maxp=4 --cores=3" print "\tmaster = create the various commands to split amongst the various devices" print "\tcharset = the characters you have in the password" print "\tminp = minimum number of characters in the password" print "\tmaxp = maximum number of characters in the password" print "\tcores = number of devices you want to split this task up into" Quote
i8igmac Posted April 2, 2016 Posted April 2, 2016 do you have this gpu in your possession? Post your pyrit benchmark speeds. My labtop is around 13000per second nvidia 560m and my desktop was like 17000per second. Nvidia something... So, a little bit of math. 36**8=2,821,109,907,456 2.8 trillion combinations possible. And how many seconds will it take me to complete the 2.8trillion using 2 of my machines... 36**8/30000=94,036,996 It will take me 94 million seconds to complete this 2.8trillion crunch... but we hope to find it half way threw lol... 31,536,000 thats how many seconds in a year so... 3 years of my machines crunching away at this... Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.