Advertisement
Guest User

Untitled

a guest
Jan 15th, 2017
164
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.06 KB | None | 0 0
  1. #!/usr/bin/env python
  2.  
  3. ##Author : Paranoid Ninja
  4. ##Email : paranoidninja@protonmail.com
  5.  
  6. import crypt
  7. import optparse
  8. from datetime import datetime
  9. from threading import Thread
  10. def main():
  11. parser = optparse.OptionParser("usage : -p <passwordfile> -w <wordlist>")
  12. parser.add_option('-p', dest='pname', type='string', help='specify password file')
  13. parser.add_option('-w', dest='wname', type='string', help='specify wordlist file')
  14. (options, args) = parser.parse_args()
  15. if (options.pname == None) | (options.wname == None):
  16. print parser.usage
  17. exit(0)
  18. else:
  19. pname = options.pname
  20. wname = options.wname
  21. startTime = datetime.now()
  22. print '\nScript Start Time: ' +str(startTime) + '\n'
  23. passFile = open(pname)
  24. for line in passFile.readlines(): #reading all lines in the file
  25. if ":" in line:
  26. user = line.split(':')[0] #Split the text in passwd.txt & save it to var user
  27. haSh = line.split('$')[1] #saving the hash $6$
  28. salt = line.split('$')[2] #saving the hash between 2nd and 3rd $ sign
  29. cryptPass = line.split(':')[1].strip('\n')
  30. print 'Cracking password for user: '+user
  31. t = Thread(target=dictPass, args=(cryptPass,haSh,user,salt,startTime,wname))
  32. t.start()
  33.  
  34. def dictPass(cryptPass,haSh,user,salt,startTime,wname):
  35. dictFile = open(wname,'r')
  36. for word in dictFile.readlines():
  37. word = word.strip('\n') #Strip new lines
  38. cryptWord = crypt.crypt(word,'$'+haSh+'$' + salt) #Creating a new hash out of dictionary file
  39. if (cryptWord == cryptPass):
  40. print "[+]PASSWORD FOUND: "+ word + '\n'
  41. print "Paranoid Ninja is Awesome!!!\n"
  42. stopTime = datetime.now()
  43. print 'Script Stop Time: ' +str(stopTime)
  44. print 'Total Time Used to Crack the Password ' +str(stopTime - startTime)
  45. return
  46. print "[+]Password Not Found"
  47. return
  48.  
  49. if __name__ == "__main__":
  50. main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement