linux密碼暴力破解機


linux 密碼保存在

/etc/shadow

 

shadow 文件的保存格式

python:$6$mWSyC6Pv$hpMreQT77R9ML/Xx1QnRAow1tUTDjIowaTssV7bZw9S44FXYd93kfrFQ8Y2vpj/bQfrub/Q.Z6XkYDt4gAUBE0:17514:0:99999:7:::

 

加密格式:

{用戶名}:{加密后的口令密碼}:{口令最后修改時間距原點(1970-1-1)的天數}:{口令最小修改間隔(防止修改口令,如果時限未到,將恢復至舊口令):{口令最大修改間隔}:{口令失效前的警告天數}:{賬戶不活動天數}:{賬號失效天數}:{保留}

密碼域密文也是由三部分組成的,即:$id$salt$encrypted。

id為1時,采用md5進行加密;

id為5時,采用SHA256進行加密;

id為6時,采用SHA512進行加密。

在python中有一個crypt 模塊可以進行密碼計算,而且不用我們擔心加密方式是什么。

crypt 方法接收兩個參數,第一個是需要加密的明文,第二個參數是 salt.

linux salt 為 $6$mWSyC6Pv$ 形式 其中6表示加密方式 sha512

>>> import crypt
>>> crypt.crypt('sdssdd','$6$mWSyC6Pv$')
'$6$mWSyC6Pv$8AhSQcqAsoGsMIFHnLhvCRf4cg5gWvPHhWtliw39yIGUYwK5uODO6bzL7GUxD.X.U5N14m3MA0Pikf5fsyO0/'
>>> 
>>>

 

shadow 只有超級用戶才有權限查看,所以拷貝出來的shadow文件需要修改權限

chmod 755 shadow

 

 

代碼實現

import crypt

def testPass(cryptPass):
    salt = cryptPass[0:12]  # 獲取加密方式以及密碼鹽
    try:
        dictFile = open('dictionary', 'r')  # 打開密碼字典
        try:
            for word in dictFile.readlines():
                word = word.strip('\n')
                cryptWord = crypt.crypt(word, salt)  # 將字典中讀取的銘文密碼通過加密與shadow密碼進行判斷
                if cryptWord == cryptPass:
                    print('[+] Found Password: ' + word + "\n")
                    return
            print('[-] Password not Found.\n')
            return
        except:
            dictFile.close()
    except:
        print('[-] dictionary 文件無法打開')
        exit(0)



def main():
    try:
        passFile = open('shadow') # 打開shadow文件
        try:
            for line in passFile.readlines(): # 一行一行讀取
                if ":" in line:
                    user = line.split(':')[0]   # 利用 : 分隔 獲取用戶名
                    cryptPass = line.split(':')[1].strip(' ') #去掉前后空格
                    print('[*] Cracking Password For : ' + user)
                    testPass(cryptPass)
        except:
            passFile.close()
    except:
        print('[-] shadow 文件無法打開')

if __name__ == '__main__':
    main()

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM