Написание MD5 (SALTED) взломщика паролей - PullRequest
0 голосов
/ 20 октября 2018

Я работаю над заданием, в котором мне нужно написать взломщик паролей, чтобы взломать пароль, для которого я нашел хеш-значение при компрометации системного файла (.htpasswd) на веб-сервере.

Я написал программу, и она отлично работает с простыми и основными хэшами MD5, но я буду использовать хэш Salted MD5.

Я попросил помощи у своего лектора, и он предоставил следующее:

Модуль импорта из passlib.hash import apr_md5_crypt использует эту функцию apr_md5_ crypt.encrypt (password, salt = salt), где пароль - это слово из RockYou, а salt - значение из хеш-значения разработчика.Это должно вам помочь.

Я добавил это в свою программу, но он все еще не выбирает пароль из списка слов, который содержит пароль.

Цель состоит в том, чтобы сделать мойкод работает, а не найти пароль (мне удалось получить его на предыдущем этапе с помощью 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."
...