Ctrl+C in dictionary attack phase will now not abort the whole enumeration; also, question for common suffixes will now be asked only once

This commit is contained in:
Miroslav Stampar 2011-03-29 12:00:29 +00:00
parent 5560196648
commit 1821a008af

View File

@ -307,6 +307,7 @@ def hashRecognition(value):
return retVal return retVal
def dictionaryAttack(attack_dict): def dictionaryAttack(attack_dict):
suffix_list = [""]
hash_regexes = [] hash_regexes = []
results = [] results = []
@ -369,12 +370,11 @@ def dictionaryAttack(attack_dict):
logger.info(infoMsg) logger.info(infoMsg)
kb.wordlist = getFileItems(dictpath, None, False) kb.wordlist = getFileItems(dictpath, None, False)
message = "do you want to use common password suffixes? (slow!) [y/N] " message = "do you want to use common password suffixes? (slow!) [y/N] "
test = readInput(message, default="N") test = readInput(message, default="N")
suffix_list = [""] if test[0] in ("y", "Y"):
if test[0] in ("y", "Y"): suffix_list += COMMON_PASSWORD_SUFFIXES
suffix_list += COMMON_PASSWORD_SUFFIXES
infoMsg = "starting dictionary attack (%s)" % __functions__[hash_regex].func_name infoMsg = "starting dictionary attack (%s)" % __functions__[hash_regex].func_name
logger.info(infoMsg) logger.info(infoMsg)
@ -427,7 +427,9 @@ def dictionaryAttack(attack_dict):
dataToStdout("\r[%s] [INFO] %s" % (time.strftime("%X"), status)) dataToStdout("\r[%s] [INFO] %s" % (time.strftime("%X"), status))
except KeyboardInterrupt: except KeyboardInterrupt:
raise warnMsg = "Ctrl+C detected in dictionary attack phase"
logger.warn(warnMsg)
return results
except: except:
warnMsg = "there was a problem while hashing entry: %s. " % repr(word) warnMsg = "there was a problem while hashing entry: %s. " % repr(word)
@ -477,7 +479,9 @@ def dictionaryAttack(attack_dict):
dataToStdout("\r[%s] [INFO] %s" % (time.strftime("%X"), status)) dataToStdout("\r[%s] [INFO] %s" % (time.strftime("%X"), status))
except KeyboardInterrupt: except KeyboardInterrupt:
raise warnMsg = "Ctrl+C detected in dictionary attack phase"
logger.warn(warnMsg)
return results
except: except:
warnMsg = "there was a problem while hashing entry: %s. " % repr(word) warnMsg = "there was a problem while hashing entry: %s. " % repr(word)