编写MD5(SALTED)密码破解程序

时间:2018-10-20 11:45:08

标签: python python-2.7 md5 password-encryption

我正在做一个工作,我必须写一个密码破解程序,以破解我发现哈希值的密码,同时破坏Web服务器上的系统(.htpasswd)文件。

我已经编写了程序,并且可以与简单且基本的MD5哈希一起使用,但是我将使用的是Salted MD5哈希。

我已经向我的讲师寻求帮助,他提供了以下帮助:

  

从passlib.hash导入模块导入apr_md5_crypt   使用此功能apr_md5_ crypt.encrypt(密码,盐=盐)   其中密码是来自RockYou的单词,而盐是来自开发人员的哈希值的值。这应该可以帮助您。

我已经在程序中添加了此密码,但是它仍然没有从包含密码的单词列表中选择密码。

目的是使我的代码正常工作,而不是查找密码(我在上一阶段使用John The Ripper设法获得了密码)。

 #!/usr/bin/env python

#Importing algorithm
import md5
import hashlib
import passlib.hash
#Importing the algorithm for the hashed SALT
from passlib.hash import apr_md5_crypt

#The password is 1qa2ws3ed
#The SALT value is Wv63/0xM

counter = 1

pass_in = raw_input("Please enter MD5 Hash: ")
pwfile = raw_input("please enter the wordlist file name: ")

#Opening the file to make sure the path is correct prior commencing to crack the password
try:
   pwfile = open(pwfile, "r")
except:
   print "\nFile Not found."
   quit()
for password in pwfile:
   filemd5 = apr_md5_crypt.encrypt('1qa2ws3ed', salt='Wv63/0xM')
   md5.new(password.strip()).hexdigest()
   print "Trying password number %d: %s " % (counter, password.strip())

   counter += 1

   if pass_in == filemd5:
       print "\nMatch Found. \nPassword is: %s" % password
       break

else: print "\nPassword Not Found."

0 个答案:

没有答案