mirror of
https://github.com/trustedsec/hate_crack.git
synced 2026-07-30 23:50:31 -07:00
Abstracted the wordlists and masks and put them in the configfile
This commit is contained in:
@@ -4,6 +4,9 @@
|
|||||||
"hcatTuning": "--force",
|
"hcatTuning": "--force",
|
||||||
"hcatWordlists": "/Passwords/wordlists",
|
"hcatWordlists": "/Passwords/wordlists",
|
||||||
"hcatOptimizedWordlists": "/Passwords/optimized_wordlists",
|
"hcatOptimizedWordlists": "/Passwords/optimized_wordlists",
|
||||||
|
"hcatDictionaryWordlist": ["rockyou.txt"],
|
||||||
|
"hcatCombinationWordlist": ["rockyou.txt","rockyou.txt"],
|
||||||
|
"hcatHybridlist": ["rockyou.txt"],
|
||||||
"hcatMiddleCombinatorMasks": ["2","4"," ","-","_","+",",",".","&"],
|
"hcatMiddleCombinatorMasks": ["2","4"," ","-","_","+",",",".","&"],
|
||||||
"hcatMiddleBaseList": "rockyou.txt",
|
"hcatMiddleBaseList": "rockyou.txt",
|
||||||
"hcatThoroughCombinatorMasks": ["0","1","2","3","4","5","6","7","8","9"," ","-","_","+",",","!","#","$","\"","%","&","'","(",")","*",",",".","/",":",";","<","=",">","?","@","[","\\","]","^","`","{","|","}","~"],
|
"hcatThoroughCombinatorMasks": ["0","1","2","3","4","5","6","7","8","9"," ","-","_","+",",","!","#","$","\"","%","&","'","(",")","*",",",".","/",":",";","<","=",">","?","@","[","\\","]","^","`","{","|","}","~"],
|
||||||
|
|||||||
+150
-141
@@ -28,11 +28,15 @@ with open(hate_path + '/config.json') as config:
|
|||||||
hcatTuning = config_parser['hcatTuning']
|
hcatTuning = config_parser['hcatTuning']
|
||||||
hcatWordlists = config_parser['hcatWordlists']
|
hcatWordlists = config_parser['hcatWordlists']
|
||||||
hcatOptimizedWordlists = config_parser['hcatOptimizedWordlists']
|
hcatOptimizedWordlists = config_parser['hcatOptimizedWordlists']
|
||||||
|
hcatDictionaryWordlist = config_parser['hcatDictionaryWordlist']
|
||||||
|
hcatHybridlist = config_parser['hcatHybridlist']
|
||||||
|
hcatCombinationWordlist = config_parser['hcatCombinationWordlist']
|
||||||
hcatMiddleCombinatorMasks = config_parser['hcatMiddleCombinatorMasks']
|
hcatMiddleCombinatorMasks = config_parser['hcatMiddleCombinatorMasks']
|
||||||
hcatMiddleBaseList = config_parser['hcatMiddleBaseList']
|
hcatMiddleBaseList = config_parser['hcatMiddleBaseList']
|
||||||
hcatThoroughCombinatorMasks = config_parser['hcatThoroughCombinatorMasks']
|
hcatThoroughCombinatorMasks = config_parser['hcatThoroughCombinatorMasks']
|
||||||
hcatThoroughBaseList = config_parser['hcatThoroughBaseList']
|
hcatThoroughBaseList = config_parser['hcatThoroughBaseList']
|
||||||
|
|
||||||
|
|
||||||
if sys.platform == 'darwin':
|
if sys.platform == 'darwin':
|
||||||
hcatExpanderBin = "expander.app"
|
hcatExpanderBin = "expander.app"
|
||||||
hcatCombinatorBin = "combinator.app"
|
hcatCombinatorBin = "combinator.app"
|
||||||
@@ -42,6 +46,14 @@ else:
|
|||||||
hcatCombinatorBin = "combinator.bin"
|
hcatCombinatorBin = "combinator.bin"
|
||||||
hcatPrinceBin = "pp64.bin"
|
hcatPrinceBin = "pp64.bin"
|
||||||
|
|
||||||
|
def verify_wordlist_dir(directory, wordlist):
|
||||||
|
if os.path.isfile(wordlist):
|
||||||
|
return wordlist
|
||||||
|
elif os.path.isfile(directory + '/' + wordlist):
|
||||||
|
return directory + '/' + wordlist
|
||||||
|
else:
|
||||||
|
print('Invalid path for {0}. Please check configuration and try again.'.format(wordlist))
|
||||||
|
quit(1)
|
||||||
|
|
||||||
# hashcat biniary checks for systems that install hashcat binary in different location than the rest of the hashcat files
|
# hashcat biniary checks for systems that install hashcat binary in different location than the rest of the hashcat files
|
||||||
if os.path.isfile(hcatBin):
|
if os.path.isfile(hcatBin):
|
||||||
@@ -52,22 +64,15 @@ else:
|
|||||||
print('Invalid path for hashcat binary. Please check configuration and try again.')
|
print('Invalid path for hashcat binary. Please check configuration and try again.')
|
||||||
quit(1)
|
quit(1)
|
||||||
|
|
||||||
if os.path.isfile(hcatMiddleBaseList):
|
#verify and convert wordlists to fully qualified paths
|
||||||
pass
|
hcatMiddleBaseList = verify_wordlist_dir(hcatWordlists, hcatMiddleBaseList)
|
||||||
elif os.path.isfile(hcatWordlists+'/'+hcatMiddleBaseList):
|
hcatThoroughBaseList = verify_wordlist_dir(hcatWordlists, hcatThoroughBaseList)
|
||||||
hcatMiddleBaseList = hcatWordlists+'/'+hcatMiddleBaseList
|
for x in range(len(hcatDictionaryWordlist)):
|
||||||
else:
|
hcatDictionaryWordlist[x] = verify_wordlist_dir(hcatWordlists, hcatDictionaryWordlist[x])
|
||||||
print('Invalid path for hcatMiddleBaseList. Please check configuration and try again.')
|
for x in range(len(hcatHybridlist)):
|
||||||
quit(1)
|
hcatHybridlist[x] = verify_wordlist_dir(hcatWordlists, hcatHybridlist[x])
|
||||||
|
hcatCombinationWordlist[0] = verify_wordlist_dir(hcatWordlists, hcatCombinationWordlist[0])
|
||||||
if os.path.isfile(hcatThoroughBaseList):
|
hcatCombinationWordlist[1] = verify_wordlist_dir(hcatWordlists, hcatCombinationWordlist[1])
|
||||||
pass
|
|
||||||
elif os.path.isfile(hcatWordlists+'/'+hcatThoroughBaseList):
|
|
||||||
hcatThoroughBaseList = hcatWordlists+'/'+hcatThoroughBaseList
|
|
||||||
else:
|
|
||||||
print('Invalid path for hcatThoroughBaseList. Please check configuration and try again.')
|
|
||||||
quit(1)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
hcatHashCount = 0
|
hcatHashCount = 0
|
||||||
@@ -161,40 +166,41 @@ def hcatDictionary(hcatHashType, hcatHashFile):
|
|||||||
hcatProcess.kill()
|
hcatProcess.kill()
|
||||||
|
|
||||||
|
|
||||||
hcatProcess = subprocess.Popen(
|
for wordlist in hcatDictionaryWordlist:
|
||||||
"{hcatBin} -m {hcatHashType} {hash_file} --session {session_name} --remove -o {hash_file}.out {hcatWordlists}/rockyou.txt "
|
hcatProcess = subprocess.Popen(
|
||||||
"-r {hcatPath}/rules/d3ad0ne.rule {tuning} --potfile-path={hate_path}/hashcat.pot".format(
|
"{hcatBin} -m {hcatHashType} {hash_file} --session {session_name} --remove -o {hash_file}.out {hcatWordlist} "
|
||||||
hcatPath=hcatPath,
|
"-r {hcatPath}/rules/d3ad0ne.rule {tuning} --potfile-path={hate_path}/hashcat.pot".format(
|
||||||
hcatBin=hcatBin,
|
hcatPath=hcatPath,
|
||||||
hcatHashType=hcatHashType,
|
hcatBin=hcatBin,
|
||||||
hash_file=hcatHashFile,
|
hcatHashType=hcatHashType,
|
||||||
session_name=os.path.basename(hcatHashFile),
|
hash_file=hcatHashFile,
|
||||||
hcatWordlists=hcatWordlists,
|
session_name=os.path.basename(hcatHashFile),
|
||||||
tuning=hcatTuning,
|
hcatWordlist=wordlist,
|
||||||
hate_path=hate_path), shell=True)
|
tuning=hcatTuning,
|
||||||
try:
|
hate_path=hate_path), shell=True)
|
||||||
hcatProcess.wait()
|
try:
|
||||||
except KeyboardInterrupt:
|
hcatProcess.wait()
|
||||||
print('Killing PID {0}...'.format(str(hcatProcess.pid)))
|
except KeyboardInterrupt:
|
||||||
hcatProcess.kill()
|
print('Killing PID {0}...'.format(str(hcatProcess.pid)))
|
||||||
|
hcatProcess.kill()
|
||||||
|
|
||||||
|
|
||||||
hcatProcess = subprocess.Popen(
|
hcatProcess = subprocess.Popen(
|
||||||
"{hcatBin} -m {hcatHashType} {hash_file} --session {session_name} --remove -o {hash_file}.out {hcatWordlists}/rockyou.txt "
|
"{hcatBin} -m {hcatHashType} {hash_file} --session {session_name} --remove -o {hash_file}.out {hcatWordlist} "
|
||||||
"-r {hcatPath}/rules/T0XlC.rule {tuning} --potfile-path={hate_path}/hashcat.pot".format(
|
"-r {hcatPath}/rules/T0XlC.rule {tuning} --potfile-path={hate_path}/hashcat.pot".format(
|
||||||
hcatPath=hcatPath,
|
hcatPath=hcatPath,
|
||||||
hcatBin=hcatBin,
|
hcatBin=hcatBin,
|
||||||
hcatHashType=hcatHashType,
|
hcatHashType=hcatHashType,
|
||||||
hash_file=hcatHashFile,
|
hash_file=hcatHashFile,
|
||||||
session_name=os.path.basename(hcatHashFile),
|
session_name=os.path.basename(hcatHashFile),
|
||||||
hcatWordlists=hcatWordlists,
|
hcatWordlist=wordlist,
|
||||||
tuning=hcatTuning,
|
tuning=hcatTuning,
|
||||||
hate_path=hate_path), shell=True)
|
hate_path=hate_path), shell=True)
|
||||||
try:
|
try:
|
||||||
hcatProcess.wait()
|
hcatProcess.wait()
|
||||||
except KeyboardInterrupt:
|
except KeyboardInterrupt:
|
||||||
print('Killing PID {0}...'.format(str(hcatProcess.pid)))
|
print('Killing PID {0}...'.format(str(hcatProcess.pid)))
|
||||||
hcatProcess.kill()
|
hcatProcess.kill()
|
||||||
|
|
||||||
hcatDictionaryCount = lineCount(hcatHashFile + ".out") - hcatBruteCount
|
hcatDictionaryCount = lineCount(hcatHashFile + ".out") - hcatBruteCount
|
||||||
|
|
||||||
@@ -311,13 +317,15 @@ def hcatCombination(hcatHashType, hcatHashFile):
|
|||||||
global hcatCombinationCount
|
global hcatCombinationCount
|
||||||
global hcatProcess
|
global hcatProcess
|
||||||
hcatProcess = subprocess.Popen(
|
hcatProcess = subprocess.Popen(
|
||||||
"{hcatBin} -m {hash_type} {hash_file} --session {session_name} --remove -o {hash_file}.out -a 1 {word_lists}/rockyou.txt "
|
"{hcatBin} -m {hash_type} {hash_file} --session {session_name} --remove -o {hash_file}.out -a 1 {left} "
|
||||||
"{word_lists}/rockyou.txt {tuning} --potfile-path={hate_path}/hashcat.pot".format(
|
"{right} {tuning} --potfile-path={hate_path}/hashcat.pot".format(
|
||||||
hcatBin=hcatBin,
|
hcatBin=hcatBin,
|
||||||
hash_type=hcatHashType,
|
hash_type=hcatHashType,
|
||||||
hash_file=hcatHashFile,
|
hash_file=hcatHashFile,
|
||||||
session_name=os.path.basename(hcatHashFile),
|
session_name=os.path.basename(hcatHashFile),
|
||||||
word_lists=hcatWordlists,
|
word_lists=hcatWordlists,
|
||||||
|
left=hcatCombinationWordlist[0],
|
||||||
|
right=hcatCombinationWordlist[1],
|
||||||
tuning=hcatTuning,
|
tuning=hcatTuning,
|
||||||
hate_path=hate_path),
|
hate_path=hate_path),
|
||||||
shell=True)
|
shell=True)
|
||||||
@@ -334,103 +342,104 @@ def hcatCombination(hcatHashType, hcatHashFile):
|
|||||||
def hcatHybrid(hcatHashType, hcatHashFile):
|
def hcatHybrid(hcatHashType, hcatHashFile):
|
||||||
global hcatHybridCount
|
global hcatHybridCount
|
||||||
global hcatProcess
|
global hcatProcess
|
||||||
hcatProcess = subprocess.Popen(
|
for wordlist in hcatHybridlist:
|
||||||
"{hcatBin} -m {hash_type} {hash_file} --session {session_name} --remove -o {hash_file}.out -a 6 -1 ?s?d {word_lists}/rockyou.txt ?1?1 "
|
hcatProcess = subprocess.Popen(
|
||||||
"{tuning} --potfile-path={hate_path}/hashcat.pot".format(
|
"{hcatBin} -m {hash_type} {hash_file} --session {session_name} --remove -o {hash_file}.out -a 6 -1 ?s?d {wordlist} ?1?1 "
|
||||||
hcatBin=hcatBin,
|
"{tuning} --potfile-path={hate_path}/hashcat.pot".format(
|
||||||
hash_type=hcatHashType,
|
hcatBin=hcatBin,
|
||||||
hash_file=hcatHashFile,
|
hash_type=hcatHashType,
|
||||||
session_name=os.path.basename(hcatHashFile),
|
hash_file=hcatHashFile,
|
||||||
word_lists=hcatWordlists,
|
session_name=os.path.basename(hcatHashFile),
|
||||||
tuning=hcatTuning,
|
wordlist=wordlist,
|
||||||
hate_path=hate_path), shell=True)
|
tuning=hcatTuning,
|
||||||
try:
|
hate_path=hate_path), shell=True)
|
||||||
hcatProcess.wait()
|
try:
|
||||||
except KeyboardInterrupt:
|
hcatProcess.wait()
|
||||||
print('Killing PID {0}...'.format(str(hcatProcess.pid)))
|
except KeyboardInterrupt:
|
||||||
hcatProcess.kill()
|
print('Killing PID {0}...'.format(str(hcatProcess.pid)))
|
||||||
|
hcatProcess.kill()
|
||||||
|
|
||||||
hcatProcess = subprocess.Popen(
|
hcatProcess = subprocess.Popen(
|
||||||
"{hcatBin} -m {hash_type} {hash_file} --remove -o {hash_file}.out -a 6 -1 ?s?d {word_lists}/rockyou.txt ?1?1?1 "
|
"{hcatBin} -m {hash_type} {hash_file} --remove -o {hash_file}.out -a 6 -1 ?s?d {wordlist} ?1?1?1 "
|
||||||
"{tuning} --potfile-path={hate_path}/hashcat.pot".format(
|
"{tuning} --potfile-path={hate_path}/hashcat.pot".format(
|
||||||
hcatBin=hcatBin,
|
hcatBin=hcatBin,
|
||||||
hash_type=hcatHashType,
|
hash_type=hcatHashType,
|
||||||
hash_file=hcatHashFile,
|
hash_file=hcatHashFile,
|
||||||
session_name=os.path.basename(hcatHashFile),
|
session_name=os.path.basename(hcatHashFile),
|
||||||
word_lists=hcatWordlists,
|
wordlist=wordlist,
|
||||||
tuning=hcatTuning,
|
tuning=hcatTuning,
|
||||||
hate_path=hate_path), shell=True)
|
hate_path=hate_path), shell=True)
|
||||||
try:
|
try:
|
||||||
hcatProcess.wait()
|
hcatProcess.wait()
|
||||||
except KeyboardInterrupt:
|
except KeyboardInterrupt:
|
||||||
print('Killing PID {0}...'.format(str(hcatProcess.pid)))
|
print('Killing PID {0}...'.format(str(hcatProcess.pid)))
|
||||||
hcatProcess.kill()
|
hcatProcess.kill()
|
||||||
|
|
||||||
hcatProcess = subprocess.Popen(
|
hcatProcess = subprocess.Popen(
|
||||||
"{hcatBin} -m {hash_type} {hash_file} --remove -o {hash_file}.out -a 6 -1 ?s?d {word_lists}/rockyou.txt "
|
"{hcatBin} -m {hash_type} {hash_file} --remove -o {hash_file}.out -a 6 -1 ?s?d {wordlist} "
|
||||||
"?1?1?1?1 {tuning} --potfile-path={hate_path}/hashcat.pot".format(
|
"?1?1?1?1 {tuning} --potfile-path={hate_path}/hashcat.pot".format(
|
||||||
hcatBin=hcatBin,
|
hcatBin=hcatBin,
|
||||||
hash_type=hcatHashType,
|
hash_type=hcatHashType,
|
||||||
hash_file=hcatHashFile,
|
hash_file=hcatHashFile,
|
||||||
session_name=os.path.basename(hcatHashFile),
|
session_name=os.path.basename(hcatHashFile),
|
||||||
word_lists=hcatWordlists,
|
wordlist=wordlist,
|
||||||
tuning=hcatTuning,
|
tuning=hcatTuning,
|
||||||
hate_path=hate_path), shell=True)
|
hate_path=hate_path), shell=True)
|
||||||
try:
|
try:
|
||||||
hcatProcess.wait()
|
hcatProcess.wait()
|
||||||
except KeyboardInterrupt:
|
except KeyboardInterrupt:
|
||||||
print('Killing PID {0}...'.format(str(hcatProcess.pid)))
|
print('Killing PID {0}...'.format(str(hcatProcess.pid)))
|
||||||
hcatProcess.kill()
|
hcatProcess.kill()
|
||||||
|
|
||||||
hcatProcess = subprocess.Popen(
|
hcatProcess = subprocess.Popen(
|
||||||
"{hcatBin} -m {hash_type} {hash_file} --remove -o {hash_file}.out -a 7 -1 ?s?d ?1?1 {word_lists}/rockyou.txt "
|
"{hcatBin} -m {hash_type} {hash_file} --remove -o {hash_file}.out -a 7 -1 ?s?d ?1?1 {wordlist} "
|
||||||
"{tuning} --potfile-path={hate_path}/hashcat.pot".format(
|
"{tuning} --potfile-path={hate_path}/hashcat.pot".format(
|
||||||
hcatBin=hcatBin,
|
hcatBin=hcatBin,
|
||||||
hash_type=hcatHashType,
|
hash_type=hcatHashType,
|
||||||
hash_file=hcatHashFile,
|
hash_file=hcatHashFile,
|
||||||
session_name=os.path.basename(hcatHashFile),
|
session_name=os.path.basename(hcatHashFile),
|
||||||
word_lists=hcatWordlists,
|
wordlist=wordlist,
|
||||||
tuning=hcatTuning,
|
tuning=hcatTuning,
|
||||||
hate_path=hate_path), shell=True)
|
hate_path=hate_path), shell=True)
|
||||||
try:
|
try:
|
||||||
hcatProcess.wait()
|
hcatProcess.wait()
|
||||||
except KeyboardInterrupt:
|
except KeyboardInterrupt:
|
||||||
print('Killing PID {0}...'.format(str(hcatProcess.pid)))
|
print('Killing PID {0}...'.format(str(hcatProcess.pid)))
|
||||||
hcatProcess.kill()
|
hcatProcess.kill()
|
||||||
|
|
||||||
hcatProcess = subprocess.Popen(
|
hcatProcess = subprocess.Popen(
|
||||||
"{hcatBin} -m {hash_type} {hash_file} --remove -o {hash_file}.out -a 7 -1 ?s?d ?1?1?1 {word_lists}/rockyou.txt "
|
"{hcatBin} -m {hash_type} {hash_file} --remove -o {hash_file}.out -a 7 -1 ?s?d ?1?1?1 {wordlist} "
|
||||||
"{tuning} --potfile-path={hate_path}/hashcat.pot".format(
|
"{tuning} --potfile-path={hate_path}/hashcat.pot".format(
|
||||||
hcatBin=hcatBin,
|
hcatBin=hcatBin,
|
||||||
hash_type=hcatHashType,
|
hash_type=hcatHashType,
|
||||||
hash_file=hcatHashFile,
|
hash_file=hcatHashFile,
|
||||||
session_name=os.path.basename(hcatHashFile),
|
session_name=os.path.basename(hcatHashFile),
|
||||||
word_lists=hcatWordlists,
|
wordlist=wordlist,
|
||||||
tuning=hcatTuning,
|
tuning=hcatTuning,
|
||||||
hate_path=hate_path), shell=True)
|
hate_path=hate_path), shell=True)
|
||||||
try:
|
try:
|
||||||
hcatProcess.wait()
|
hcatProcess.wait()
|
||||||
except KeyboardInterrupt:
|
except KeyboardInterrupt:
|
||||||
print('Killing PID {0}...'.format(str(hcatProcess.pid)))
|
print('Killing PID {0}...'.format(str(hcatProcess.pid)))
|
||||||
hcatProcess.kill()
|
hcatProcess.kill()
|
||||||
|
|
||||||
hcatProcess = subprocess.Popen(
|
hcatProcess = subprocess.Popen(
|
||||||
"{hcatBin} -m {hash_type} {hash_file} --remove -o {hash_file}.out -a 7 -1 ?s?d ?1?1?1?1 {word_lists}/rockyou.txt "
|
"{hcatBin} -m {hash_type} {hash_file} --remove -o {hash_file}.out -a 7 -1 ?s?d ?1?1?1?1 {wordlist} "
|
||||||
"{tuning} --potfile-path={hate_path}/hashcat.pot".format(
|
"{tuning} --potfile-path={hate_path}/hashcat.pot".format(
|
||||||
hcatBin=hcatBin,
|
hcatBin=hcatBin,
|
||||||
hash_type=hcatHashType,
|
hash_type=hcatHashType,
|
||||||
hash_file=hcatHashFile,
|
hash_file=hcatHashFile,
|
||||||
session_name=os.path.basename(hcatHashFile),
|
session_name=os.path.basename(hcatHashFile),
|
||||||
word_lists=hcatWordlists,
|
wordlist=wordlist,
|
||||||
tuning=hcatTuning,
|
tuning=hcatTuning,
|
||||||
hate_path=hate_path), shell=True)
|
hate_path=hate_path), shell=True)
|
||||||
try:
|
try:
|
||||||
hcatProcess.wait()
|
hcatProcess.wait()
|
||||||
except KeyboardInterrupt:
|
except KeyboardInterrupt:
|
||||||
print('Killing PID {0}...'.format(str(hcatProcess.pid)))
|
print('Killing PID {0}...'.format(str(hcatProcess.pid)))
|
||||||
hcatProcess.kill()
|
hcatProcess.kill()
|
||||||
|
|
||||||
hcatHybridCount = lineCount(hcatHashFile + ".out") - hcatHashCracked
|
hcatHybridCount = lineCount(hcatHashFile + ".out") - hcatHashCracked
|
||||||
|
|
||||||
|
|
||||||
# YOLO Combination Attack
|
# YOLO Combination Attack
|
||||||
|
|||||||
Reference in New Issue
Block a user