diff --git a/PACK/maskgen.py b/PACK/maskgen.py old mode 100755 new mode 100644 diff --git a/PACK/policygen.py b/PACK/policygen.py old mode 100755 new mode 100644 diff --git a/PACK/rulegen.py b/PACK/rulegen.py old mode 100755 new mode 100644 diff --git a/PACK/statsgen.py b/PACK/statsgen.py old mode 100755 new mode 100644 diff --git a/config.json.example b/config.json.example index 41dbb01..274ff05 100644 --- a/config.json.example +++ b/config.json.example @@ -13,5 +13,6 @@ "hcatThoroughBaseList": "rockyou.txt", "hcatGoodMeasureBaseList": "rockyou.txt", "hcatRules": ["best64.rule","d3ad0ne.rule", "T0XlC.rule", "dive.rule"], - "hcatPrinceBaseList": "rockyou.txt" + "hcatPrinceBaseList": "rockyou.txt", + "pipalPath": "/path/to/pipal" } \ No newline at end of file diff --git a/hashcat-utils/bin/cleanup-rules.app b/hashcat-utils/bin/cleanup-rules.app old mode 100755 new mode 100644 diff --git a/hashcat-utils/bin/cleanup-rules.bin b/hashcat-utils/bin/cleanup-rules.bin old mode 100755 new mode 100644 diff --git a/hashcat-utils/bin/cleanup-rules.exe b/hashcat-utils/bin/cleanup-rules.exe old mode 100755 new mode 100644 diff --git a/hashcat-utils/bin/combinator.app b/hashcat-utils/bin/combinator.app old mode 100755 new mode 100644 diff --git a/hashcat-utils/bin/combinator.bin b/hashcat-utils/bin/combinator.bin old mode 100755 new mode 100644 diff --git a/hashcat-utils/bin/combinator.exe b/hashcat-utils/bin/combinator.exe old mode 100755 new mode 100644 diff --git a/hashcat-utils/bin/combinator3.app b/hashcat-utils/bin/combinator3.app old mode 100755 new mode 100644 diff --git a/hashcat-utils/bin/combinator3.bin b/hashcat-utils/bin/combinator3.bin old mode 100755 new mode 100644 diff --git a/hashcat-utils/bin/combinator3.exe b/hashcat-utils/bin/combinator3.exe old mode 100755 new mode 100644 diff --git a/hashcat-utils/bin/combipow.app b/hashcat-utils/bin/combipow.app old mode 100755 new mode 100644 diff --git a/hashcat-utils/bin/combipow.bin b/hashcat-utils/bin/combipow.bin old mode 100755 new mode 100644 diff --git a/hashcat-utils/bin/combipow.exe b/hashcat-utils/bin/combipow.exe old mode 100755 new mode 100644 diff --git a/hashcat-utils/bin/cutb.app b/hashcat-utils/bin/cutb.app old mode 100755 new mode 100644 diff --git a/hashcat-utils/bin/cutb.bin b/hashcat-utils/bin/cutb.bin old mode 100755 new mode 100644 diff --git a/hashcat-utils/bin/cutb.exe b/hashcat-utils/bin/cutb.exe old mode 100755 new mode 100644 diff --git a/hashcat-utils/bin/expander.app b/hashcat-utils/bin/expander.app old mode 100755 new mode 100644 diff --git a/hashcat-utils/bin/expander.bin b/hashcat-utils/bin/expander.bin old mode 100755 new mode 100644 diff --git a/hashcat-utils/bin/expander.exe b/hashcat-utils/bin/expander.exe old mode 100755 new mode 100644 diff --git a/hashcat-utils/bin/gate.app b/hashcat-utils/bin/gate.app old mode 100755 new mode 100644 diff --git a/hashcat-utils/bin/gate.bin b/hashcat-utils/bin/gate.bin old mode 100755 new mode 100644 diff --git a/hashcat-utils/bin/gate.exe b/hashcat-utils/bin/gate.exe old mode 100755 new mode 100644 diff --git a/hashcat-utils/bin/generate-rules.app b/hashcat-utils/bin/generate-rules.app old mode 100755 new mode 100644 diff --git a/hashcat-utils/bin/generate-rules.bin b/hashcat-utils/bin/generate-rules.bin old mode 100755 new mode 100644 diff --git a/hashcat-utils/bin/generate-rules.exe b/hashcat-utils/bin/generate-rules.exe old mode 100755 new mode 100644 diff --git a/hashcat-utils/bin/hcstatgen.app b/hashcat-utils/bin/hcstatgen.app old mode 100755 new mode 100644 diff --git a/hashcat-utils/bin/hcstatgen.bin b/hashcat-utils/bin/hcstatgen.bin old mode 100755 new mode 100644 diff --git a/hashcat-utils/bin/hcstatgen.exe b/hashcat-utils/bin/hcstatgen.exe old mode 100755 new mode 100644 diff --git a/hashcat-utils/bin/keyspace.app b/hashcat-utils/bin/keyspace.app old mode 100755 new mode 100644 diff --git a/hashcat-utils/bin/keyspace.bin b/hashcat-utils/bin/keyspace.bin old mode 100755 new mode 100644 diff --git a/hashcat-utils/bin/keyspace.exe b/hashcat-utils/bin/keyspace.exe old mode 100755 new mode 100644 diff --git a/hashcat-utils/bin/len.app b/hashcat-utils/bin/len.app old mode 100755 new mode 100644 diff --git a/hashcat-utils/bin/len.bin b/hashcat-utils/bin/len.bin old mode 100755 new mode 100644 diff --git a/hashcat-utils/bin/len.exe b/hashcat-utils/bin/len.exe old mode 100755 new mode 100644 diff --git a/hashcat-utils/bin/mli2.app b/hashcat-utils/bin/mli2.app old mode 100755 new mode 100644 diff --git a/hashcat-utils/bin/mli2.bin b/hashcat-utils/bin/mli2.bin old mode 100755 new mode 100644 diff --git a/hashcat-utils/bin/mli2.exe b/hashcat-utils/bin/mli2.exe old mode 100755 new mode 100644 diff --git a/hashcat-utils/bin/morph.app b/hashcat-utils/bin/morph.app old mode 100755 new mode 100644 diff --git a/hashcat-utils/bin/morph.bin b/hashcat-utils/bin/morph.bin old mode 100755 new mode 100644 diff --git a/hashcat-utils/bin/morph.exe b/hashcat-utils/bin/morph.exe old mode 100755 new mode 100644 diff --git a/hashcat-utils/bin/permute.app b/hashcat-utils/bin/permute.app old mode 100755 new mode 100644 diff --git a/hashcat-utils/bin/permute.bin b/hashcat-utils/bin/permute.bin old mode 100755 new mode 100644 diff --git a/hashcat-utils/bin/permute.exe b/hashcat-utils/bin/permute.exe old mode 100755 new mode 100644 diff --git a/hashcat-utils/bin/permute_exist.app b/hashcat-utils/bin/permute_exist.app old mode 100755 new mode 100644 diff --git a/hashcat-utils/bin/permute_exist.bin b/hashcat-utils/bin/permute_exist.bin old mode 100755 new mode 100644 diff --git a/hashcat-utils/bin/permute_exist.exe b/hashcat-utils/bin/permute_exist.exe old mode 100755 new mode 100644 diff --git a/hashcat-utils/bin/prepare.app b/hashcat-utils/bin/prepare.app old mode 100755 new mode 100644 diff --git a/hashcat-utils/bin/prepare.bin b/hashcat-utils/bin/prepare.bin old mode 100755 new mode 100644 diff --git a/hashcat-utils/bin/prepare.exe b/hashcat-utils/bin/prepare.exe old mode 100755 new mode 100644 diff --git a/hashcat-utils/bin/req-exclude.app b/hashcat-utils/bin/req-exclude.app old mode 100755 new mode 100644 diff --git a/hashcat-utils/bin/req-exclude.bin b/hashcat-utils/bin/req-exclude.bin old mode 100755 new mode 100644 diff --git a/hashcat-utils/bin/req-exclude.exe b/hashcat-utils/bin/req-exclude.exe old mode 100755 new mode 100644 diff --git a/hashcat-utils/bin/req-include.app b/hashcat-utils/bin/req-include.app old mode 100755 new mode 100644 diff --git a/hashcat-utils/bin/req-include.bin b/hashcat-utils/bin/req-include.bin old mode 100755 new mode 100644 diff --git a/hashcat-utils/bin/req-include.exe b/hashcat-utils/bin/req-include.exe old mode 100755 new mode 100644 diff --git a/hashcat-utils/bin/rli.app b/hashcat-utils/bin/rli.app old mode 100755 new mode 100644 diff --git a/hashcat-utils/bin/rli.bin b/hashcat-utils/bin/rli.bin old mode 100755 new mode 100644 diff --git a/hashcat-utils/bin/rli.exe b/hashcat-utils/bin/rli.exe old mode 100755 new mode 100644 diff --git a/hashcat-utils/bin/rli2.app b/hashcat-utils/bin/rli2.app old mode 100755 new mode 100644 diff --git a/hashcat-utils/bin/rli2.bin b/hashcat-utils/bin/rli2.bin old mode 100755 new mode 100644 diff --git a/hashcat-utils/bin/rli2.exe b/hashcat-utils/bin/rli2.exe old mode 100755 new mode 100644 diff --git a/hashcat-utils/bin/seprule.pl b/hashcat-utils/bin/seprule.pl old mode 100755 new mode 100644 diff --git a/hashcat-utils/bin/splitlen.app b/hashcat-utils/bin/splitlen.app old mode 100755 new mode 100644 diff --git a/hashcat-utils/bin/splitlen.bin b/hashcat-utils/bin/splitlen.bin old mode 100755 new mode 100644 diff --git a/hashcat-utils/bin/splitlen.exe b/hashcat-utils/bin/splitlen.exe old mode 100755 new mode 100644 diff --git a/hashcat-utils/bin/strip-bsn.app b/hashcat-utils/bin/strip-bsn.app old mode 100755 new mode 100644 diff --git a/hashcat-utils/bin/strip-bsn.bin b/hashcat-utils/bin/strip-bsn.bin old mode 100755 new mode 100644 diff --git a/hashcat-utils/bin/strip-bsn.exe b/hashcat-utils/bin/strip-bsn.exe old mode 100755 new mode 100644 diff --git a/hashcat-utils/bin/strip-bsr.app b/hashcat-utils/bin/strip-bsr.app old mode 100755 new mode 100644 diff --git a/hashcat-utils/bin/strip-bsr.bin b/hashcat-utils/bin/strip-bsr.bin old mode 100755 new mode 100644 diff --git a/hashcat-utils/bin/strip-bsr.exe b/hashcat-utils/bin/strip-bsr.exe old mode 100755 new mode 100644 diff --git a/hashcat-utils/bin/tmesis.pl b/hashcat-utils/bin/tmesis.pl old mode 100755 new mode 100644 diff --git a/hashcat-utils/bin/topmorph.pl b/hashcat-utils/bin/topmorph.pl old mode 100755 new mode 100644 diff --git a/hate_crack.py b/hate_crack.py old mode 100755 new mode 100644 index ed5b9c6..ec13070 --- a/hate_crack.py +++ b/hate_crack.py @@ -36,6 +36,12 @@ hcatTuning = config_parser['hcatTuning'] hcatWordlists = config_parser['hcatWordlists'] hcatOptimizedWordlists = config_parser['hcatOptimizedWordlists'] +try: + pipalPath = config_parser['pipalPath'] +except KeyError as e: + print('{0} is not defined in config.json using defaults from config.json.example'.format(e)) + pipalPath = default_config['pipalPath'] + try: hcatRules = config_parser['hcatRules'] except KeyError as e: @@ -158,7 +164,7 @@ def ascii_art(): \ Y // __ \| | \ ___/ \ \____| | \// __ \\ \___| < \___|_ /(____ /__| \___ >____\______ /|__| (____ /\___ >__|_ \ \/ \/ \/_____/ \/ \/ \/ \/ - Version 1.07 + Version 1.08 """) @@ -859,6 +865,8 @@ def cleanup(): os.remove(hcatHashFileOrig + ".lm.cracked") if os.path.exists(hcatHashFileOrig + ".working"): os.remove(hcatHashFileOrig + ".working") + if os.path.exists(hcatHashFileOrig + ".passwords"): + os.remove(hcatHashFileOrig + ".passwords") except KeyboardInterrupt: #incase someone mashes the Control+C it will still cleanup cleanup() @@ -1036,6 +1044,45 @@ def show_results(): else: print("No hashes were cracked :(") +# Analyze Hashes with Pipal +def pipal(): + hcatHashFilePipal = hcatHashFile + if hcatHashType == "1000": + combine_ntlm_output() + hcatHashFilePipal = hcatHashFileOrig + + if os.path.isfile(pipalPath): + if os.path.isfile(hcatHashFilePipal + ".out"): + pipalFile = open(hcatHashFilePipal + ".passwords", 'w') + with open(hcatHashFilePipal + ".out") as hcatOutput: + for cracked_hash in hcatOutput: + password = cracked_hash.split(':') + clearTextPass = password[-1] + match = re.search(r'^\$HEX\[(\S+)\]', clearTextPass) + if match: + clearTextPass = binascii.unhexlify(match.group(1)).decode('iso-8859-9') + pipalFile.write(clearTextPass) + pipalFile.close() + + pipalProcess = subprocess.Popen( + "{pipal_path} {pipal_file} --output {pipal_out} ".format( + pipal_path=pipalPath, + pipal_file=hcatHashFilePipal + ".passwords", + pipal_out=hcatHashFilePipal + ".pipal"), + shell=True) + try: + pipalProcess.wait() + except KeyboardInterrupt: + print('Killing PID {0}...'.format(str(pipalProcess.pid))) + pipalProcess.kill() + print "Pipal file is at " + hcatHashFilePipal + ".pipal\n" + else: + print("No hashes were cracked :(") + else: + print("The path to pipal.rb is either not set, or is incorrect.") + + + # Exports output to excel file def export_excel(): @@ -1172,7 +1219,8 @@ def main(): print("\t(10) YOLO Combinator Attack") print("\t(11) Middle Combinator Attack") print("\t(12) Thorough Combinator Attack") - print("\n\t(96) Export Output to Excel Format") + print("\n\t(95) Analyze hashes with Pipal") + print("\t(96) Export Output to Excel Format") print("\t(97) Display Cracked Hashes") print("\t(98) Display README") print("\t(99) Quit") @@ -1188,6 +1236,7 @@ def main(): "10": yolo_combination, "11": middle_combinator, "12": thorough_combinator, + "95": pipal, "96": export_excel, "97": show_results, "98": show_readme, diff --git a/princeprocessor/pp64.app b/princeprocessor/pp64.app old mode 100755 new mode 100644 diff --git a/princeprocessor/pp64.bin b/princeprocessor/pp64.bin old mode 100755 new mode 100644 diff --git a/readme.md b/readme.md index 65ac8a5..3c6ccff 100644 --- a/readme.md +++ b/readme.md @@ -57,7 +57,7 @@ $ ./hate_crack.py 1000 \ Y // __ \| | \ ___/ \ \____| | \// __ \\ \___| < \___|_ /(____ /__| \___ >____\______ /|__| (____ /\___ >__|_ \ \/ \/ \/_____/ \/ \/ \/ \/ - Version 1.06 + Version 1.08 (1) Quick Crack @@ -73,6 +73,7 @@ $ ./hate_crack.py 1000 (11) Middle Combinator Attack (12) Thorough Combinator Attack + (95) Analyze hashes with Pipal (96) Export Output to Excel Format (97) Display Cracked Hashes (98) Display README @@ -179,6 +180,9 @@ https://jeffh.net/2018/04/26/combinator_methods/ ------------------------------------------------------------------- ### Version History +Version 1.08 + Added a Pipal menu Option to analyze hashes. https://github.com/digininja/pipal + Version 1.07 Minor bug fixes with pwdump formating and unhexify function diff --git a/wordlist_optimizer.py b/wordlist_optimizer.py old mode 100755 new mode 100644