1234567891011121314151617181920212223242526272829303132333435 |
- def storeHashesToFile(attack_dict):
- if not attack_dict:
- return
- if kb.storeHashesChoice is None:
- message = "do you want to store hashes to a temporary file "
- message += "for eventual further processing with other tools [y/N] "
- test = readInput(message, default="N")
- kb.storeHashesChoice = test[0] in ("y", "Y")
- if not kb.storeHashesChoice:
- return
- handle, filename = tempfile.mkstemp(prefix=MKSTEMP_PREFIX.HASHES, suffix=".txt")
- os.close(handle)
- infoMsg = "writing hashes to a temporary file '%s' " % filename
- logger.info(infoMsg)
- items = set()
- with open(filename, "w+") as f:
- for user, hashes in attack_dict.items():
- for hash_ in hashes:
- hash_ = hash_.split()[0] if hash_ and hash_.strip() else hash_
- if hash_ and hash_ != NULL and hashRecognition(hash_):
- item = None
- if user and not user.startswith(DUMMY_USER_PREFIX):
- item = "%s:%s\n" % (user.encode(UNICODE_ENCODING), hash_.encode(UNICODE_ENCODING))
- else:
- item = "%s\n" % hash_.encode(UNICODE_ENCODING)
- if item and item not in items:
- f.write(item)
- items.add(item)
|