модуль crypt, список хэшей паролей: скрипт не находит / не находит / не перебирает список хэшей правильно? - PullRequest
0 голосов
/ 14 февраля 2019

Совершенно новичок в python, начиная с пары месяцев. Изучив несколько разных книг, я в основном сосредоточился на IT / Security и вещах, связанных с python.

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

Скрипт не выдает никаких конкретных ошибок, хотя когда язапустите скрипт script.py в терминале Linux, вот что я получаю, говоря, что пароли не найдены:

[**] Cracking password for: admin
[-] Password not found. 

[**] Cracking password for: robbb
[-] Password not found. 

[**] Cracking password for: bobbb
[-] Password not found. 

[**] Cracking password for: nobbb
[-] Password not found. 

[**] Cracking password for: larry
[-] Password not found. 

[**] Cracking password for: tarry
[-] Password not found. 

[**] Cracking password for: jerry
[-] Password not found. 

[**] Cracking password for: carry
[-] Password not found. 

[**] Cracking password for: harry
[-] Password not found. 

[**] Cracking password for: karry
[-] Password not found.

Вот мой файл passwords.txt:

admin: hxZnQ4dBK8DMI
robbb: hxOF0OnlvtzwU
bobbb: hxe5fCKLsyNpE
nobbb: hxxtAbkIfFRfc
larry: hxatw7C.nGv2k
tarry: hxFzwbPgZasZ.
jerry: hx9L/HVSYzRTs
carry: hxDrDaR2RMjU.
harry: hxu7..cmr6ATE
karry: hxICiuTyt.6EE
woody: hx5eH50ruCxY2

Вот файл dictionary.txt:

wonderful: hxZnQ4dBK8DMI
summer: hxOF0OnlvtzwU
winter: hxe5fCKLsyNpE
spring: hxxtAbkIfFRfc
autumn: hxatw7C.nGv2k
sailboat: hxFzwbPgZasZ.
tugboat: hx9L/HVSYzRTs
house: hxDrDaR2RMjU.
table: hxu7..cmr6ATE
automobile: hxICiuTyt.6EE
television: hx5eH50ruCxY2

Наконец, вот весь сценарий:

import crypt


def testpass(cryptpass):
    salt = cryptpass[0:2]

    dictfile = open('dictionary.txt', 'r')
    for word in dictfile.readlines():
        word = word.strip('\n')
        cryptword = crypt.crypt(word, salt)
        if cryptword == cryptpass:
            print('[+] Found password', word + '\n')
            return
    print('[-] Password not found. \n')
    return


def main():
    passfile = open('passwords.txt', 'r')
    for line in passfile.readlines():
        if ':' in line:
            user = line.split(':')[0]
            cryptpass = line.split(':')[1].strip(' ')
            print('[**] Cracking password for:', user)
            testpass(cryptpass)


main()

Я не уверен, что моя проблема здесь, кто-нибудь сможет мне помочь в этом?Я очень ценю любую помощь, спасибо.

...