diff --git a/hate_crack.py b/hate_crack.py index 4679c83..ece044e 100755 --- a/hate_crack.py +++ b/hate_crack.py @@ -311,35 +311,83 @@ def hcatYoloCombination(hcatHashType, hcatHashFile): right=hcatRight, hate_path=hate_path), shell=True).wait() -# Holden Combinator Attack -def hcatHoldenCombinator(hcatHashType, hcatHashFile): + +# Middle fast Combinator Attack +def hcatMiddleCombinator(hcatHashType, hcatHashFile): global hcatProcess - numbers = [0,1,2,3,4,5,6,7,8,9] - special = [" ","-","_","+",",","!","#","$","\"","%","&","\'","(",")","*",",",".","/",":",";","<","=",">","?","@","[","\\","]","^","`","{","|","}","~"] - for y in range(len(numbers)): - print numbers[y] - print "{hcatBin} -m {hash_type} {hash_file} --remove -o {hash_file}.out -a 1 -j \'${middle_mask}\' {word_lists}/rockyou.txt {word_lists}/rockyou.txt {tuning} --potfile-path={hate_path}/hashcat.pot".format( + masks = ["2","4"," ","-","_","+",",",".","&"] + + for x in range(len(masks)): + hcatProcess = subprocess.Popen( + "{hcatBin} -m {hash_type} {hash_file} --remove -o {hash_file}.out -a 1 -j '${middle_mask}' {word_lists}/rockyou.txt " + "{word_lists}/rockyou.txt {tuning} --potfile-path={hate_path}/hashcat.pot".format( + hcatBin=hcatBin, + hash_type=hcatHashType, + hash_file=hcatHashFile, + word_lists=hcatWordlists, + tuning=hcatTuning, + middle_mask=masks[x], + hate_path=hate_path), + shell=True).wait() + + +# Middle thorough Combinator Attack +def hcatThoroughCombinator(hcatHashType, hcatHashFile): + global hcatProcess + masks = ["0","1","2","3","4","5","6","7","8","9"," ","-","_","+",",","!","#","$","\"","%","&","\'","(",")","*",",",".","/",":",";","<","=",">","?","@","[","\\","]","^","`","{","|","}","~"] + + hcatProcess = subprocess.Popen( + "{hcatBin} -m {hash_type} {hash_file} --remove -o {hash_file}.out -a 1 {word_lists}/rockyou.txt " + "{word_lists}/rockyou.txt {tuning} --potfile-path={hate_path}/hashcat.pot".format( hcatBin=hcatBin, hash_type=hcatHashType, hash_file=hcatHashFile, word_lists=hcatWordlists, tuning=hcatTuning, - hate_path=hate_path, - middle_mask = numbers[y]) + hate_path=hate_path), + shell=True).wait() - for x in range(len(numbers)): + for x in range(len(masks)): hcatProcess = subprocess.Popen( - "{hcatBin} -m {hash_type} {hash_file} --remove -o {hash_file}.out -a 1 -j \'${middle_mask}\' {word_lists}/rockyou.txt " + "{hcatBin} -m {hash_type} {hash_file} --remove -o {hash_file}.out -a 1 -j '${middle_mask}' {word_lists}/rockyou.txt " "{word_lists}/rockyou.txt {tuning} --potfile-path={hate_path}/hashcat.pot".format( hcatBin=hcatBin, hash_type=hcatHashType, hash_file=hcatHashFile, word_lists=hcatWordlists, tuning=hcatTuning, - middle_mask=numbers[x], + middle_mask=masks[x], hate_path=hate_path), shell=True).wait() + for x in range(len(masks)): + hcatProcess = subprocess.Popen( + "{hcatBin} -m {hash_type} {hash_file} --remove -o {hash_file}.out -a 1 -k '${end_mask}' {word_lists}/rockyou.txt " + "{word_lists}/rockyou.txt {tuning} --potfile-path={hate_path}/hashcat.pot".format( + hcatBin=hcatBin, + hash_type=hcatHashType, + hash_file=hcatHashFile, + word_lists=hcatWordlists, + tuning=hcatTuning, + end_mask=masks[x], + hate_path=hate_path), + shell=True).wait() + + for x in range(len(masks)): + hcatProcess = subprocess.Popen( + "{hcatBin} -m {hash_type} {hash_file} --remove -o {hash_file}.out -a 1 -j '${middle_mask}' -k '${end_mask} {word_lists}/rockyou.txt " + "{word_lists}/rockyou.txt {tuning} --potfile-path={hate_path}/hashcat.pot".format( + hcatBin=hcatBin, + hash_type=hcatHashType, + hash_file=hcatHashFile, + word_lists=hcatWordlists, + tuning=hcatTuning, + middle_mask=masks[x], + end_mask=masks[x], + hate_path=hate_path), + shell=True).wait() + + # Pathwell Mask Brute Force Attack @@ -601,10 +649,13 @@ def prince_attack(): def yolo_combination(): hcatYoloCombination(hcatHashType, hcatHashFile) -# Holden Combinator -def holden_combinator(): - hcatHoldenCombinator(hcatHashType, hcatHashFile) +# Thorough Combinator +def thorough_combinator(): + hcatThoroughCombinator(hcatHashType, hcatHashFile) +# Middle Combinator +def middle_combinator(): + hcatMiddleCombinator(hcatHashType, hcatHashFile) # convert hex words for recycling def convert_hex(working_file): @@ -719,7 +770,8 @@ def main(): print("\t(8) Pathwell Top 100 Mask Brute Force Crack") print("\t(9) PRINCE Attack") print("\t(10) YOLO Combinator Attack") - print("\t(11) Holden Combinator Attack") + print("\t(11) Middle Combinator Attack") + print("\t(12) Thorough Combinator Attack") print("\n\t(97) Display Cracked Hashes") print("\t(98) Display README") print("\t(99) Quit") @@ -733,7 +785,8 @@ def main(): "8": pathwell_crack, "9": prince_attack, "10": yolo_combination, - "11": holden_combinator, + "11": middle_combinator, + "12": thorough_combinator, "97": show_results, "98": show_readme, "99": quit_hc